• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:メタトレーダー(MT4)にて半自動売買のソフトを作成しております。)

メタトレーダー(MT4)で半自動売買のソフトを作成中。質問1は注文の決済確認方法について。質問2はストラテジーテスターでの指値注文の検証方法について。

このQ&Aのポイント
  • メタトレーダー(MT4)で半自動売買のソフトを作成中ですが、質問1では注文の決済確認方法について教えていただきたいです。マジックナンバーかチケットナンバーで判明できると助かります。
  • 質問2では、指値注文の自動売買をストラテジーテスターでビジュアルモードで検証する方法について知りたいです。指値に達しても約定しない場合の検証方法を教えていただけると嬉しいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こちらの記事で回答してみました。 よろしければごらんいただければと思います。 http://ameblo.jp/ftlabo-kirin/entry-10675218310.html

robotanmarch
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 結果待ちに時間が掛かってしまいました。 結果、なんとか動くソフトが出来つつあります。 有り難うございました。

robotanmarch
質問者

補足

早速のご回答有り難う御座います。 家に帰り早速試したいと思っております。 ただ、ストラテジーテスターでは旨くテストが出来ないため、デモ口座を利用し試験をするため、結果がいつ出るかはなかなか分かりません。 困っております。 しかし、Start()関数の中でループしており、例えば、3つの約定されたポジションの内一つ決済されれば2個になりいつも現在数が確認されます。 ところが、オーダーされて決済されたマジックナンバー(false)とオーダーされていなくて勿論決済もされていないマジックナンバーの区別はこれで確認出来るのでしょうか。 イマイチ理解出来ておりません。 宜しくお願い致します。 //オーダーの有無を調べる bool FTLOrderSelect(int magic, int type = -1) { for(int i=0; i<OrdersTotal(); i++) { if(OrderSelect(i, SELECT_BY_POS) == false) break; if(OrderSymbol() != Symbol() || OrderMagicNumber() != magic) continue; if(OrderType() != type && type != -1)continue; return(true); } return(false); }

その他の回答 (1)

noname#259269
noname#259269
回答No.2

No.1さんの記載したソースコードの中で使われている関数のリファレンスを調べていけば判る事です。 http://www.metasys-seeker.net/MQL4_Reference_ver1/20-26_OrderType.html

関連するQ&A