とりあえず、プログラムに指値の値を渡して実行する仕組みはできました。
これだけでも十分取引はできますが、
・通貨ペアが "USDJPY" で固定
・ロット数(取引数)が 0.1 で固定
・スリッページが 3 で固定
・注文種別が "買い" で固定
・利食い計算が "プラス 20 ポイント" で固定
なので、この辺にもう少し柔軟性を持たせたいと思います。
まず、通貨ペアについて。
これは以前、注文の書き方で調べた時に、OrderSend の通貨ペアを指定する部分に "Symbol()" と記載することで、プログラムを連動させるチャートと同じ通貨ペアが指定されることがわかってます。
そのため、OrderSend 部分を次のように書き換えます。
OrderSend(
Symbol(),OP_BUYLIMIT,0.1,SASHINE,3,0,SASHINE+20*Point,NULL,0,0,Green);
#表示領域の都合上、改行記載してあります。
これで、どの通貨ペアでも、このプログラムが使えるようになりました。
次にロット数(取引数)です。
私の場合は、資金が無いためロット数(取引数)を変更することはあまり無いと思いますが、もしかしたらロット数(取引数)を増やした取引ができる日がくるかもしれませんので、一応変更可能にしておきます。
これは、指値同様、画面から入力される任意のロット数(取引数)を OrderSend 部分に渡す仕組みを利用します。
そのため、プログラムにロット数(取引数)を渡すための識別子を "LOTSU" とし、入力画面に初期表示する値を "0.1" とするために、入力パラメーター部分に次のように追記します。
//---- input parameters
extern double SASHINE=0.0;
extern double LOTSU=0.1;
そして、OrderSend のロット数(取引数)部分を次のように書き換えます。
OrderSend(
Symbol(),OP_BUYLIMIT,LOTSU,SASHINE,3,0,SASHINE+20*Point,NULL,0,0,Green);
#表示領域の都合上、改行記載してあります。
これで、ロット数(取引数)も自由に指定できるようになりました。
次にスリッページです。
こちらもロット数同様の修正になります。
そのため、プログラムにスリッページを渡すための識別子を "SLIPPAGE" とし、入力画面に初期表示する値を "3" にするために、入力パラメーター部分に次のように記載します。
//---- input parameters
extern double SASHINE=0.0;
extern double LOTSU=0.1;
extern int SLIPPAGE=3;
ここで、ちょっと注意が必要なのは、指値やロット数(取引数)と違いスリッページは小数点の値を扱わないため、識別子のデータの種類が "double" ではなく "int" となります。
"int" とは整数値のみ扱うことを意味します。
そして、OrderSend のスリッページ部分を次のように書き換えます。
OrderSend(
Symbol(),OP_BUYLIMIT,LOTSU,SASHINE,SLIPPAGE,0,SASHINE+20*Point,
NULL,0,0,Green);
#表示領域の都合上、改行記載してあります。
これで、スリッページも自由に指定できるようになりました。
続きは次回に。
本ブログは、MetaTrader を利用して、EA プログラムを自作紹介するサイトです。
決して儲かるシステムを紹介するものではありませんのであしからず・・・ もし、記事中に嘘偽りを発見された方、ご連絡頂けると幸いです。 なお、過去に作成した EA プログラムの作り方はこちらになります。 Loop_Entry : 同じ指値エントリーを繰り返し実行するプログラムです。 estTurn : 高値(安値)で反対売買を実行するプログラムです。 |
2008年12月20日土曜日
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿