とにかく、ポイントはこうです:私は注文を検索するためのコードオプションを捜しています。
アクティブな注文をモニターしたいですか?
MQL4かMQL5か?
アクティブな注文をモニターしたいですか?
基本的に、要点は以下の通りです。私は注文を検索するためのコードオプションを捜しています。
タスクは以下の通りです。
1 :
価格別、注文種別(買い/売り)別の最大注文数の情報を取得する。
価格別、注文種別(買い/売り)別の最低注文数の情報を取得する。
時間別、注文種別(買い/売り)別に最終注文情報を取得する。
最初の注文に関する情報を時間別、注文の種類別(買い/売り)に取得する。
2 :
直近の最高値と注文の種類(買い/売り)の情報を取得する。
直近の最小注文(買い/売り)の情報を価格別、注文種別(買い/売り)別に取得する。
直近の1件以外の注文について、時間別、注文の種類別(買い/売り)に情報を取得する
2回目の注文の時刻と注文の種類(買い/売り)の情報を取得する。
この情報には、注文に関するすべての情報(シンボル、ロット、価格......)が含まれます。
手続き型プログラミングでとっくに解決しているので、今度はそれを簡略化してクラスを作りたいのですが、便利なものが思いつきません......。
はい、ウラジミール - それはグレイトな仕事です!:-)
どこに行けばいいのか、教えてください。
全てではなく、価格別の最大/最小、時間別の最初と最後、つまり最後と最後尾の2つずつのみ...。
注文をつけるのですから、難しいことではありません。
だから、過去2回のBUYと過去2回のSELLを覚えておくとよいでしょう
そして、何も探さなくてよくなります。
struct MEM_ORDER { ulong ticket; long ord_type; double price; }; struct MEM_ORDERS { bool is_first_buy; bool is_first_sell; MEM_ORDER buy_oders[2]; MEM_ORDER sell_oders[2]; };
注文をつけるのですから、難しいことではありません。
だから、過去2回のBUYと過去2回のSELLを覚えておくとよいでしょう
そして、何も探さなくてよくなります。
そのような解決策も考えましたが、EA/端末を再読み込みすると再初期化され、過去の作業データが全て消えてしまうのが不満でした。
EAが動作しているときの環境に関するデータを収集するのが、最も確実な動作方法だと思います。
そのような解決策も考えましたが、EA/端末をリロードすると再利用され、前作のデータがすべて失われることが不満でした。
EA運用時の環境に関するデータを収集することが、確実な運用方法だと考えています。
また、EAを終了するときにデータをファイルに保存し、ロードするときにファイルからロードすることを妨げるものは何ですか?
//| Expert Load setings function | //+------------------------------------------------------------------+ void LoadSettings() { string file_name = _Symbol + ".dat"; int file_handle; //--- if ( FileIsExist( file_name, 0 ) ) { file_handle = FileOpen( file_name, FILE_READ|FILE_BIN ); if ( file_handle != INVALID_HANDLE ) { e_high = FileReadLong( file_handle ); a_profit = FileReadLong( file_handle ); e_low = FileReadLong( file_handle ); ord_delta_high = FileReadLong( file_handle ); ord_delta_low = FileReadLong( file_handle ); order_delta = FileReadLong( file_handle ); exit_delta = FileReadLong( file_handle ); FileClose( file_handle ); } } } //+------------------------------------------------------------------+ //| Expert Save settings function | //+------------------------------------------------------------------+ void SaveSettings() { string file_name = _Symbol + ".dat"; int file_handle; bool file_found = true; //--- if ( FileIsExist( file_name, 0 ) ) { if ( FileDelete( file_name, 0 ) ) file_found = false; } else { file_found = false; } //--- if ( ! file_found ) { file_handle = FileOpen( file_name, FILE_WRITE|FILE_BIN ); if ( file_handle != INVALID_HANDLE ) { FileWriteLong( file_handle, e_high ); FileWriteLong( file_handle, a_profit ); FileWriteLong( file_handle, e_low ); FileWriteLong( file_handle, ord_delta_high ); FileWriteLong( file_handle, ord_delta_low ); FileWriteLong( file_handle, order_delta ); FileWriteLong( file_handle, exit_delta ); FileClose( file_handle ); } } }
EAを離れるときにデータをファイルに保存し、EAをロードするときにファイルから読み込むことを妨げるものは何ですか?
もちろんこれは良いことなのですが、再起動中に環境が変わることもあるので、確実ではありません。
終了する前にすべての注文をクローズしてください。
まだ必要なんですね。
終了する前にすべての注文をクローズしてください。
とにかく面倒なんです。
予期せぬ再スタートはトラブルの元...。
授業で書いた...
予期せぬリセットはトラブルの元...
クラスを書きました...
人を笑わせてはいけない...。
不測の事態が起きたとき、どんな授業もあなたを救ってはくれないのです
ワインドアップやターミナルが「クラッシュ」した場合、EAが再初期化されます。
アクティブな注文を「見て」、閉じるだけで、コントロールはできないからです。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
基本的に、要点は以下の通りです。私は注文を検索するためのコードオプションを捜しています。
タスクは以下の通りです。
1 :
価格別、注文種別(買い/売り)別の最大注文数の情報を取得する。
価格別、注文種別(買い/売り)別の最低注文数の情報を取得する。
時間別、注文種別(買い/売り)別に最終注文情報を取得する。
最初の注文に関する情報を時間別、注文の種類別(買い/売り)に取得する。
2 :
直近の最高値と注文種別(買い/売り)の情報を取得する。
直近の最小注文(買い/売り)の情報を価格別、注文種別(買い/売り)別に取得する。
直近の1件以外の注文について、時間別、注文の種類別(買い/売り)に情報を取得する
2回目の注文の時刻と注文の種類(買い/売り)の情報を取得する。
この情報には、注文に関するすべての情報(シンボル、ロット、価格......)が含まれます。
手続き型プログラミングでとっくに解決しているので、今度はそれを簡略化してクラスを作りたいのですが、便利なものが思いつきません......。