GEMFOREXのシグナルプロバイダーEAマニュアル

GEMFOREXのFX自動売買ソフト(EA)サービスにEAをご登録頂く上で本マニュアルに沿ってEA内にコードを挿入頂く必要がございます。こちらシグナルプロバイダー様のEAの保護や報酬の支払いを行う上で必要な内容となりますので、必ずご対応下さい。

手順1アカウント縛りのコーディングについて

GEMFOREXでは、シグナルプロバイダー様からご登録頂いたEAを、ユーザーがダウンロードする際に、該当ユーザーの口座番号のみ動作するコードを自動作成しています。その為には、シグナルプロバイダー様が登録予定のmq4ファイル内に以下のコードを記述する必要がございます。

①アカウントナンバーの定義

アカウントナンバーの定義をしてください。アカウントナンバーの定義には

int Accountnumber = %Accountnumber%;

(改行は加えずにコピー&ペーストでご使用ください)
という文字列を挿入するようにお願いします。

②intstart()部分以降~ordersend前の記述部分

intstart()からordersendの間に、

if(IsDemo()==false){if(AccountNumber()!=Accountnumber){Alert("Usererror!CannotTrading.");return(0);}}

(改行は加えずにコピー&ペーストでご使用ください)
と入力して下さい。

【void onTick 内に記述する場合】

if(IsDemo()==false){if(AccountNumber()!=Accountnumber){Alert("Usererror!CannotTrading.");return;}}

(改行は加えずにコピー&ペーストでご使用ください)
と入力して下さい。

このコーディングにより、DemoアカウントではどのDemoIDでも動き、リアルアカウントでは、ダウンロードしたID保有者縛りのコードになります。また、ダウンロード者のID以外の第3者がこのEAをチャートに適用した場合、以下のようなエラーがでるようになります。

※コード変更を行った後にコンパイルを行いますと下記の様なエラーが発生致しますが、この部分に関しましては動作に問題はございません。

これでアカウント縛りのコーディング部分は完了です。

手順2手数料計算についてのコーディング

GEMFOREXでは、シグナルプロバイダーの提供するEAをユーザーがトレードした場合の手数料計算に、約定時のComment機能を使って判別、計算しています。そのため、以下のコーディングをお願いしております。

①OrderSend関数内のコメント記述

発注部分,OrderSend関数内のコメントの記述部分に、

APP-%app_id%-USR-%member_id%-GEM-trade

の文字列を入れるようにしてください。

OrderSend関数内のコメントには必ず全てこの文字列を挿入してください。

if(short_entry) (OrderSend(Symbol(),OP_SELL,Lots,Bid,50,0,0,"APP-%app_id%-USR-%member_id%-GEM-trade",MagicNumber,0,Red);)
if(long_entry) (OrderSend(Symbol(),OP_BUY,Lots,Ask,50,0,0,"APP-%app_id%-USR-%member_id%-GEM-trade",MagicNumber,0,Blue);)

また、OrderSendという文字列をMQL4の関数以外ではご使用になることは避けてくださいますようお願い致します。(他に関数を作成される際にLongOrderSend()といった関数名は避けてください。)

※注意点(エラーメッセージ)

EAを登録する際、シグナルプロバイダーの管理画面からEAの登録をすることができますが、登録EAのアップロード時、アカウント縛りのコードとOrderSend()のコメント部分の記述をチェックしております。アップロードしたファイル内の記述に当ファイルで指定するアカウント縛りとordersendのコメントに記述するコードが記載されていない場合は、EAをアップロード後、登録する際、以下のエラーが表示されます

OrderSend()の関数の数と、コメント欄挿入の部分(APP-%app_id%-USR-%member_id%-GEM-trade)の数は、同じである必要がございまして、同一でない場合には、アップロードできない仕様となっておりますので、エラーが出た場合は、もう一度コードをご確認頂き、この点のご確認をお願い致します。
(自作関数など、他の部分でOrderSendという文字列をご使用されている場合でもその数もカウントされます)

変数を使用してのコメント挿入をされている方におきましても上記の点にご注意頂きまして、EAの作成をお願い致します。

エラーが生じた場合、末尾に数字が表示されます。 下記がエラー内容となりますので、もう一度見直しを頂きますようお願い致します。

  1. 「%Accountnumber%」の定義部分
  2. 「if(IsDemo()==false){if(....)}」の記述部分
  3. 「APP-%app_id%-.. とOrderSend」の記述回数不一致

手順3マジックナンバーについて

GEMFOREXではユーザー様に複数のEAをご使用頂きますので、マジックナンバーの確認、変更ができる仕様にして頂く必要がございます。 下記のようにマジックナンバーをexternの形にして頂き、設定をお願い致します。

/*----- extern -----*/

extern int MagicNumber = 20100731001;
extern double Lots = 0.1;

▼EA の登録完了のご確認事項

EA の登録が正常に完了致しましたら、弊社にて審査の上、承認後、サイト上に反映されることとなります。 ご案内をさせて頂いておりますので、反映をご確認頂いた後、お手数ではございますが、ご登録頂いた EA が正常にダウンロード可能かのテストを行ってくださいませ。

【テストについて】

テストを行って頂く目的でリアル口座へのご入金が難しい場合には、テスト用デモ口座でのご対応も可能となっておりますので、ご希望される場合には、サポート宛まで(件名「シグナルプロバイダーデモ口座希望」とご記載ください)ご連絡くださいますようお願い致します。

ダウンロードの EA が想定していた動作をするか、必ず シグナルプロバイダー様ご自身で御確認くださいませ。

ユーザーがダウンロードのEAを使用し、万が一 EA の誤動作が行われた場合、弊社では一切の責任を負いかねます。 ダウンロード EA にて十分な動作確認を行うよう宜しく御願い致します。

なお、万が一ダウンロードができない場合はお手数ではございますが下記までご連絡くださいますようお願い申し上げます。

お問い合わせ
support@gforex.asia

▼コメント部分のご確認方法

もう一点ご確認して頂きたい点がございます。 報酬確認の為の重要な部分となりますので、必ずご確認をお願い致します。

ご登録頂いた EA はコメント欄の部分(APP-%app_id%-USR-%member_id%-GEM-trade)を挿入して頂きますとアップロードした時点で自動的にシグナルプロバイダー様の管理番号に置き換えられます。その管理番号にて報酬の管理を致します。

管理番号へ正常に変換されているかの確認をして頂く必要がございます。 ダウンロードして頂きました EA をご使用の上、MT4 にて実際に稼働して頂きご確認をお願い致します。

1. ターミナルウィンドウを開いて頂き、取引タブを選択します。

2. デフォルトの状態ですとコメント欄が表示されておりませんので、表示させなければなりません。 現在保有中の注文欄の上で右クリックして頂き、表示項目より「コメント」にチェックをオンにしてください。

3. 注文一覧の右端にコメント欄が追加されますので、ご確認頂くことが可能です。 下記ような文字列に変換されておりましたら管理番号に正常に反映されております。 これでご確認の完了となります。

下記のような挿入して頂いた文字列(APP-%app_id%-USR-%member_id%-GEM-trade)の状態のまま表示されておりますと、システム上のエラーがでている可能性がござますので、お手数ではございますがお問い合わせ Email 宛てにご一報くださいますようお願い致します。

お問い合わせ
support@gforex.asia

カウントダウン方式の注意点

「If Done ~」を使用することができません。
上記コードを使用せずに EA の作成を行って頂く必要がございます。

シンボル名について

通常、シンボル名は「USDJPY」といったように通貨ペアのみとなりますが、GEMFOREXの場合、下記シンボル名となりますのでEA作成に注意が必要となります。

リアル口座 → USDJPYfx
デモ口座は付与なし。

以上となります。

ご不明な点等ございます場合には、弊社サポートの方までお気軽にご連絡くださいませ。

GEMFOREXサポート
support@gforex.asia