では前回の続きで、同じプログラムで保有中のポジションがあるかどうかを調べる方法を書いてみます。
①でトレードプールにあるポジションの数を取得し、j に保持しておきます。
③でトレードプールにあるポジション情報を取得していますが、OrderSelect()では1回につき1つのポジション情報しか取得できないので、②のfor()を使って①で調べたポジションの数だけ、OrderSelect()を繰り返しながらポジション情報を取得します。
OrderSelest()の使い方については、こちらをご覧ください。
ポジション情報を取得した後に、④の OrdermagicNumber()を使って、マジックNoが"12345"と同じかどうか調べています。
同じであれば、return(0)にてプログラムを終了しています。
これで、同じプログラムで同時に注文を行ってしまう現象は回避できると思います。
本ブログは、MetaTrader を利用して、EA プログラムを自作紹介するサイトです。
決して儲かるシステムを紹介するものではありませんのであしからず・・・ もし、記事中に嘘偽りを発見された方、ご連絡頂けると幸いです。 なお、過去に作成した EA プログラムの作り方はこちらになります。 Loop_Entry : 同じ指値エントリーを繰り返し実行するプログラムです。 estTurn : 高値(安値)で反対売買を実行するプログラムです。 |
2010年4月3日土曜日
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿