記事"MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第29部): 未決取引リクエスト - 特定の条件下での注文とポジションの削除と変更"についてのディスカッション - ページ 2 123 新しいコメント Mohammad Bazrkar 2020.08.21 19:00 #11 Artyom Trishkin: はい、そうなります。なぜなら、アカウント・データの保存方法が変更されたからです。これは記事の最後に警告として書かれています: ----- ご参考までに: アカウントオブジェクトの構造を変更したため(アカウントの文字列プロパティを格納する uchar 配列のサイズを変更し、整数プロパティを 1 つ追加)、アカウントオブジェクトの以前に保存したファイルはすべて正しくロードされなくなりました。アカウントから別のアカウントに切り替えるとき、新しいサイズのオブジェクト構造で再作成されます。 ----- 私はあなたのコードが完全にロードされることを確認するために、共通フォルダ内のすべての口座BINファイルを削除しました。 その後、いくつかの取引を手動で開き、スクリプトでできるだけ早く閉じました。またこのエラーが出た: CEventsCollection::CreateNewEvent、768行目:このイベントはすでにリストにあります。 これらのイベントがMT4で異なるポジションをクローズしたものであることはわかっていますが、`engine`のコードはそれを理解できません。エンジンは短時間に複数の取引クローズ/イベントを理解できますか? 以下はすべてのログメッセージです: 2020.08.21 21:23:50.604 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションクローズ 2020.08.21 21:23:50.600 mhdbzr-34 AUDCAD,H1: - ポジションクローズ: 2020.08.21 19:51:47.000 - AUDCAD クローズ買い #573142748 @ 価格 0.94405、利益 -0.22 USD 2020.08.21 21:23:50.368 スクリプトCloseTradesFast4Test AUDCAD,H1:remove 2020.08.21 21:23:50.364 CloseTradesFast4Test AUDCAD,H1: uninit reason 0 2020.08.21 21:23:50.364 CloseTradesFast4Test AUDCAD,H1: close #573142747 buy 0.01 AUDCAD at 0.94404 at price 0.94375 2020.08.21 21:23:50.148 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションクローズ 2020.08.21 21:23:50.146 mhdbzr-34 AUDCAD,H1: - ポジションクローズ:2020.08.21 19:51:47.000 - 。 AUDCAD クローズ買い #573142748 @ 価格 0.94405、利益 -0.22 USD 2020.08.21 21:23:49.942 CloseTradesFast4Test AUDCAD,H1: 終了 #573142748 買 0.01 AUDCAD at 0.94405 at 価格 0.94376 2020.08.21 21:23:49.725 mhdbzr-34 AUDCAD,H1: CEventsCollection::CreateNewEvent, Line 768:このイベントはすでにリストにあります。 2020.08.21 21:23:49.520 CloseTradesFast4Test AUDCAD,H1: close #573142752 buy 0.01 AUDCAD at 0.94406 at price 0.94376 2020.08.21 21:23:49.257 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションクローズ 2020.08.21 21:23:49.255 mhdbzr-34 AUDCAD,H1: - ポジションクローズ:2020.08.21 19:51:52.000 - . AUDCAD クローズ売り #573142755 @ 価格 0.94366、利益 -0.37 USD 2020.08.21 21:23:49.086 CloseTradesFast4Test AUDCAD,H1: Close #573142755 売り 0.01 AUDCAD at 0.94366 at price 0.94414 2020.08.21 21:23:48.815 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションクローズ 2020.08.21 21:23:48.812 mhdbzr-34 AUDCAD,H1: - ポジションクローズ:2020.08.21 19:51:53.000 - 。 AUDCAD クローズ売り #573142757 @ 価格 0.94366、利益 -0.37 USD 2020.08.21 21:23:48.661 CloseTradesFast4Test AUDCAD,H1: Close #573142756 売り 0.01 AUDCAD at 0.94366 at price 0.94415 2020.08.21 21:23:48.352 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションクローズ 2020.08.21 21:23:48.350 mhdbzr-34 AUDCAD,H1: - ポジションクローズ: 2020.08.21 19:51:53.000 - AUDCAD クローズ売り #573142757 @ 価格 0.94366、利益 -0.37 USD 2020.08.21 21:23:48.237 CloseTradesFast4Test AUDCAD,H1: Close #573142757 売り 0.01 AUDCAD at 0.94366 at price 0.94415 2020.08.21 21:23:47.537 CloseTradesFast4Test AUDCAD,H1: initialized 2020.08.21 21:23:47.520 スクリプトCloseTradesFast4Test AUDCAD,H1: 正常にロードされました。 2020.08.21 21:23:31.762 自動売買が有効になりました。 Discussion of article "Library Expert Advisor <ALL DISCUSSIONS アドバイザー<CONSULTING PRODUCT OWNERS IN Artyom Trishkin 2020.08.21 20:33 #12 Mohammad Bazrkar :CAccount::Load`に関するエラーはなく、ロードされました(しかし、主な問題は間違ったイベントの無視であり、まだ残っています)。その後、いくつかの取引を手動で開き、スクリプトでできるだけ早く閉じました。またこのエラーが出た: CEventsCollection::CreateNewEvent、768行目:このイベントはすでにリストに入っています これらのイベントがMT4で異なるポジションをクローズしたものであることは分かっていますが、`engine`コードはそれを理解できません。エンジンは短時間に複数の取引クローズ/イベントを理解できますか? このエラーが発生するために行っていることを順を追って説明してください。 Mohammad Bazrkar 2020.08.22 14:50 #13 Artyom Trishkin:このエラーが発生するために何をしているのか、順を追って説明してください。 イベントのみを取得するようにEAのコードを修正しました。(以前のメッセージに修正版を添付しました。ファイル名は `mhdbzr-34` です) EAを実行して監視を開始します。 デモ口座で 同じロットでいくつかの売買を高速でオープンする。 スクリプトを実行して、その取引をできるだけ早く決済する。(私のスクリプト名は`CloseTradesFast 4Test`です。) ログ・メッセージをチェックすると、私がここに書いた赤いエラー・メッセージが表示され、エンジンがいくつかのポジションの決済をミスしたことがわかる。 Artyom Trishkin 2020.08.22 21:12 #14 Mohammad Bazrkar :あなたのEAコードをイベントのみを取得するように修正しました。(以前のメッセージに修正版を添付しました。名前は`mhdbzr-34`です) EAを実行して監視を開始する。 デモ口座で 同じロットでいくつかの売買を素早く行う。 スクリプトを実行して、その取引をできるだけ早く決済する。(私のスクリプト名は「CloseTradesFast4Test」です。) ログ・メッセージをチェックすると、おそらくここに書いた赤いエラー・メッセージで、エンジンがいくつかのポジションの決済をミスしているのがわかる。 ポジションをクローズするスクリプトを作成してください。 Mohammad Bazrkar 2020.08.22 23:45 #15 Artyom Trishkin:スクリプトをクローズポジションに渡す。 これがそのコードです: void OnStart() { for(int i=OrdersTotal()-1; i>-1; i--) { if(!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){ continue; } if(OrderSymbol()!= _Symbol){ continue;} //-- RefreshRates(); int res = OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 100); } } Mohammad Bazrkar 2020.08.27 18:09 #16 今回はクローズしたポジションを認識せず、2つのケースで 前のポジションと一緒に見逃してしまった。 2020.08.27 20:30:18.880 Expert mhdbzr-34 AUDCAD,H1: 削除されました。 2020.08.27 20:30:18.869 mhdbzr-34 AUDCAD,H1: uninit reason 1 2020.08.27 20:28:35.617 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションクローズ 2020.08.27 20:28:35.617 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションクローズ 2020.08.27 20:28:35.617 mhdbzr-34 AUDCAD,H1: - ポジションクローズ: 2020.08.27 18:58:03.000 - AUDCAD 決済 買い#573721560 at price 0.95218, 利益 -2.29 USD 2020.08.27 20:28:35.614 mhdbzr-34 AUDCAD,H1: - ポジションクローズ: 2020.08.27 18:58:04.000 - AUDCAD クローズ買い#573721562 at price 0.95218, 利益 -2.29 USD 2020.08.27 20:28:35.582 スクリプトCloseTradesFast4Test AUDCAD,H1: remove 2020.08.27 20:28:35.577 CloseTradesFast4Test AUDCAD,H1: uninit reason 0 2020.08.27 20:28:35.577 CloseTradesFast4Test AUDCAD,H1: close#573721560 buy 0.10 AUDCAD at 0.95218 at price 0.95188 2020.08.27 20:28:35.177 CloseTradesFast4Test AUDCAD,H1: close#573721562 buy 0.10 AUDCAD at 0.95218 at price 0.95188 2020.08.27 20:28:35.161 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションクローズ 2020.08.27 20:28:35.158 mhdbzr-34 AUDCAD,H1: - ポジションクローズ: 2020.08.27 18:58:06.000 - AUDCADクローズ売り#573721573 at price 0.95190, 利益 -2.06 USD 2020.08.27 20:28:34.739 CloseTradesFast4Test AUDCAD,H1: Close#573721571 buy 0.10 AUDCAD at 0.95224 at price 0.95191 2020.08.27 20:28:34.695 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションクローズ 2020.08.27 20:28:34.691 mhdbzr-34 AUDCAD,H1: - ポジションクローズ: 2020.08.27 18:58:06.000 - AUDCADクローズ売り#573721573 at price 0.95190, Profit -2.06 USD 2020.08.27 20:28:34.306 CloseTradesFast4Test AUDCAD,H1: クローズ#573721573 売り0.95190で0.10 AUDCAD価格0.95217で 2020.08.27 20:28:34.180 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションクローズ 2020.08.27 20:28:34.177 mhdbzr-34 AUDCAD,H1: - ポジションクローズ: 2020.08.27 18:58:09.000 - AUDCADクローズ売り#573721582 at price 0.95190, 利益 -2.14 USD 2020.08.27 20:28:33.883 CloseTradesFast4Test AUDCAD,H1: 終了#573721577 売り 0.10 AUDCAD at 0.95190 at price 0.95217 2020.08.27 20:28:33.664 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションクローズ 2020.08.27 20:28:33.660 mhdbzr-34 AUDCAD,H1: - ポジションクローズ: 2020.08.27 18:58:09.000 - AUDCADクローズ売り#573721582 at price 0.95190, 利益 -2.14 USD 2020.08.27 20:28:33.440 CloseTradesFast4Test AUDCAD,H1: Close#573721582 売り 0.10 AUDCAD at 0.95190 at price 0.95218 2020.08.27 20:28:32.946 CloseTradesFast4Test AUDCAD,H1: initialized 2020.08.27 20:28:32.928 スクリプトCloseTradesFast4Test AUDCAD,H1: 正常にロードされました。 2020.08.27 20:28:09.413 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションがオープンしました。 2020.08.27 20:28:09.411 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:09.000 - AUDCAD 0.10売り #573721582 [0.10 成行注文 売り #573721582] at price 0.95190 2020.08.27 20:28:07.664 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションオープン 2020.08.27 20:28:07.659 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:07.000 - AUDCAD 0.10売り #573721577 [0.10 成行注文 売り #573721577] at price 0.95190 2020.08.27 20:28:06.755 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションオープン 2020.08.27 20:28:06.752 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:06.000 - AUDCAD 0.10 Sell #573721573 [0.10 成行注文 Sell #573721573] at price 0.95190 2020.08.27 20:28:05.911 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションオープン 2020.08.27 20:28:05.909 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:05.000 - AUDCAD 0.10 Buy #573721571 [0.10 成行注文 Buy #573721571] at price 0.95224 2020.08.27 20:28:04.587 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションオープン 2020.08.27 20:28:04.582 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:04.000 - AUDCAD 0.10 Buy #573721562 [0.10 成行注文 Buy #573721562] at price 0.95218 2020.08.27 20:28:04.101 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションオープン 2020.08.27 20:28:04.099 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:03.000 - AUDCAD 0.10 Buy #573721560 [0.10 成行注文 Buy #573721560] at price 0.95218 2020.08.27 20:27:59.245 mhdbzr-34 AUDCAD,H1: initialized 2020.08.27 20:27:59.244 mhdbzr-34 AUDCAD,H1: Account 13278180: mhdbzr test (Alpari) 5537.01 USD, 1:100, Hedge,デモ口座 MetaTrader 4 Expert TestDoEasyPart34\mhdbzr-34 AUDCAD,H1: loaded successfully これらの取引は、テスター環境ではなく、デモ口座の ライブマーケットで手動でオープンしました。(スクリプトでクローズしました。) (念のためスクリーンショットを掲載します。) ファイル: DoEasyLibrary-error-in-v34.jpg 400 kb Discussion of article "Library Got the alerts, now EuroX2.ex4についてご意見をお聞かせください。 Artyom Trishkin 2020.08.27 20:39 #17 Mohammad Bazrkar :今回はクローズド・ポジションを認識せず、2つのケースで 前のポジションをミスした。これらの取引は、テスター環境ではなく、デモ口座の ライブマーケットで手動でオープンしました。(そして、前と同じようにスクリプトで決済しました。)(念のためスクリーンショットを掲載します。) 問題の原因を探しています。速くはないでしょう。テストをありがとう。 Mohammad Bazrkar 2020.08.28 20:54 #18 Artyom Trishkin:問題の原因を探している。早くはないだろう。テストをありがとう。 (以下は私の意見です) これらのクローズしたポジションは同じ秒数で、そのうちの1つは前のティックタイムで処理されているため、新しいティックでは`new_history_orders=1`となりますが、`list`には 2つのポジションがあり、おそらくソートが間違っています。 //--- クローズしたポジションのリストを取得(EventsCollection.mqh 205~230行目) CArrayObj* list=this.GetListHistoryPositions(list_history); if(list!=NULL) { //--- 新しいリストをポジションクローズ時間でソートする。 list.Sort(SORT_BY_ORDER_TIME_CLOSE); //--- ループ内のリストの最後から、新しくクローズされたポジションの数に等しい数のポジションを取り出す(最後のNイベント)。 int total=list.Total(), n=new_history_orders; for(int i=total-1; i>WRONG_VALUE && n>0; i--,n--) { //--- リストからポジションを受け取る。これがポジションの場合、新規注文データを検索し、取引イベントを設定する。 COrder* position=list.At(i); if(position!=NULL && position.Status()==ORDER_STATUS_HISTORY_ORDER) { //--- 閉位置の制御オーダーがある場合 COrderControl* ctrl=this.GetOrderControlByTicket(list_control,position.Ticket()); if(ctrl!=NULL) { //--- (1)ポジションを建てるきっかけとなった注文の種類と(2)ポジションIDを設定し、ポジション決済イベントを作成する。 this.m_type_first=(ENUM_ORDER_TYPE)ctrl.TypeOrder(); this.m_position_id=position.Ticket(); this.CreateNewEvent(position,list_history,list_market,list_control); } } } } もし注文が既にリストに入っていてエラーメッセージを投げたら、ポジションオブジェクトを削除し、このforループでカウントを再開します。しかし、CreateNewEvent 関数 内で注文が削除された場合、次の有効なポジションをキャッチするために、nカウントすべきではないと思います。 また、間違ったソートされたオーダーをスキップするために、最近処理されたポジションを理解する必要があります。 Artyom Trishkin 2020.08.28 23:25 #19 Mohammad Bazrkar :(以下は私の意見)これらのクローズしたポジションは同じ秒数で、そのうちの1つは前のティックタイムで処理されているため、新しいティックでは `new_history_orders=1` となりますが、リスト` には2つのポジションがあり、おそらくソートが間違っています。もしオーダーがすでにリストに入っていてエラーメッセージを投げている場合は、ポジションオブジェクトを削除して、このforループでカウントを再開しますが、CreateNewEvent 関数 内でオーダーが削除された場合は、次の有効なポジションをキャッチするために、nカウントしないようにすべきだと思います。また、間違ったソートされたオーダーをスキップするために、最近処理されたポジションを理解する必要があります。 ありがとうございます。 Dmitri Diall 2020.09.04 12:23 #20 何週間か前に初めてこの記事を読んだとき、未来のグラフィカル・シェルについて 言及していたのを覚えています。 これについてのあなたのビジョンと、これによって実際に何ができるようになるのかについて、もっと詳しく教えてもらえますか? 123 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
はい、そうなります。なぜなら、アカウント・データの保存方法が変更されたからです。これは記事の最後に警告として書かれています: ----- ご参考までに: アカウントオブジェクトの構造を変更したため(アカウントの文字列プロパティを格納する uchar 配列のサイズを変更し、整数プロパティを 1 つ追加)、アカウントオブジェクトの以前に保存したファイルはすべて正しくロードされなくなりました。アカウントから別のアカウントに切り替えるとき、新しいサイズのオブジェクト構造で再作成されます。 -----
私はあなたのコードが完全にロードされることを確認するために、共通フォルダ内のすべての口座BINファイルを削除しました。
その後、いくつかの取引を手動で開き、スクリプトでできるだけ早く閉じました。またこのエラーが出た:
CEventsCollection::CreateNewEvent、768行目:このイベントはすでにリストにあります。
これらのイベントがMT4で異なるポジションをクローズしたものであることはわかっていますが、`engine`のコードはそれを理解できません。エンジンは短時間に複数の取引クローズ/イベントを理解できますか?
以下はすべてのログメッセージです:
2020.08.21 21:23:50.604 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションクローズ
2020.08.21 21:23:50.600 mhdbzr-34 AUDCAD,H1: - ポジションクローズ: 2020.08.21 19:51:47.000 -
AUDCAD クローズ買い #573142748 @ 価格 0.94405、利益 -0.22 USD
2020.08.21 21:23:50.368 スクリプトCloseTradesFast4Test AUDCAD,H1:remove
2020.08.21 21:23:50.364 CloseTradesFast4Test AUDCAD,H1: uninit reason 0
2020.08.21 21:23:50.364 CloseTradesFast4Test AUDCAD,H1: close #573142747 buy 0.01 AUDCAD at 0.94404 at price 0.94375
2020.08.21 21:23:50.148 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションクローズ
2020.08.21 21:23:50.146 mhdbzr-34 AUDCAD,H1: - ポジションクローズ:2020.08.21 19:51:47.000 - 。
AUDCAD クローズ買い #573142748 @ 価格 0.94405、利益 -0.22 USD
2020.08.21 21:23:49.942 CloseTradesFast4Test AUDCAD,H1: 終了 #573142748 買 0.01 AUDCAD at 0.94405 at 価格 0.94376
2020.08.21 21:23:49.725 mhdbzr-34 AUDCAD,H1: CEventsCollection::CreateNewEvent, Line 768:このイベントはすでにリストにあります。
2020.08.21 21:23:49.520 CloseTradesFast4Test AUDCAD,H1: close #573142752 buy 0.01 AUDCAD at 0.94406 at price 0.94376
2020.08.21 21:23:49.257 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションクローズ
2020.08.21 21:23:49.255 mhdbzr-34 AUDCAD,H1: - ポジションクローズ:2020.08.21 19:51:52.000 - .
AUDCAD クローズ売り #573142755 @ 価格 0.94366、利益 -0.37 USD
2020.08.21 21:23:49.086 CloseTradesFast4Test AUDCAD,H1: Close #573142755 売り 0.01 AUDCAD at 0.94366 at price 0.94414
2020.08.21 21:23:48.815 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションクローズ
2020.08.21 21:23:48.812 mhdbzr-34 AUDCAD,H1: - ポジションクローズ:2020.08.21 19:51:53.000 - 。
AUDCAD クローズ売り #573142757 @ 価格 0.94366、利益 -0.37 USD
2020.08.21 21:23:48.661 CloseTradesFast4Test AUDCAD,H1: Close #573142756 売り 0.01 AUDCAD at 0.94366 at price 0.94415
2020.08.21 21:23:48.352 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションクローズ
2020.08.21 21:23:48.350 mhdbzr-34 AUDCAD,H1: - ポジションクローズ: 2020.08.21 19:51:53.000 -
AUDCAD クローズ売り #573142757 @ 価格 0.94366、利益 -0.37 USD
2020.08.21 21:23:48.237 CloseTradesFast4Test AUDCAD,H1: Close #573142757 売り 0.01 AUDCAD at 0.94366 at price 0.94415
2020.08.21 21:23:47.537 CloseTradesFast4Test AUDCAD,H1: initialized
2020.08.21 21:23:47.520 スクリプトCloseTradesFast4Test AUDCAD,H1: 正常にロードされました。
2020.08.21 21:23:31.762 自動売買が有効になりました。
CAccount::Load`に関するエラーはなく、ロードされました(しかし、主な問題は間違ったイベントの無視であり、まだ残っています)。
その後、いくつかの取引を手動で開き、スクリプトでできるだけ早く閉じました。またこのエラーが出た:
CEventsCollection::CreateNewEvent、768行目:このイベントはすでにリストに入っています
これらのイベントがMT4で異なるポジションをクローズしたものであることは分かっていますが、`engine`コードはそれを理解できません。エンジンは短時間に複数の取引クローズ/イベントを理解できますか?
このエラーが発生するために行っていることを順を追って説明してください。
このエラーが発生するために何をしているのか、順を追って説明してください。
イベントのみを取得するようにEAのコードを修正しました。(以前のメッセージに修正版を添付しました。ファイル名は `mhdbzr-34` です)
あなたのEAコードをイベントのみを取得するように修正しました。(以前のメッセージに修正版を添付しました。名前は`mhdbzr-34`です)
ポジションをクローズするスクリプトを作成してください。
スクリプトをクローズポジションに渡す。
これがそのコードです:
今回はクローズしたポジションを認識せず、2つのケースで 前のポジションと一緒に見逃してしまった。
2020.08.27 20:30:18.880 Expert mhdbzr-34 AUDCAD,H1: 削除されました。
2020.08.27 20:30:18.869 mhdbzr-34 AUDCAD,H1: uninit reason 1
2020.08.27 20:28:35.617 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションクローズ
2020.08.27 20:28:35.617 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションクローズ
2020.08.27 20:28:35.617 mhdbzr-34 AUDCAD,H1: - ポジションクローズ: 2020.08.27 18:58:03.000 - AUDCAD 決済 買い#573721560 at price 0.95218, 利益 -2.29 USD
2020.08.27 20:28:35.614 mhdbzr-34 AUDCAD,H1: - ポジションクローズ: 2020.08.27 18:58:04.000 - AUDCAD クローズ買い#573721562 at price 0.95218, 利益 -2.29 USD
2020.08.27 20:28:35.582 スクリプトCloseTradesFast4Test AUDCAD,H1: remove
2020.08.27 20:28:35.577 CloseTradesFast4Test AUDCAD,H1: uninit reason 0
2020.08.27 20:28:35.577 CloseTradesFast4Test AUDCAD,H1: close#573721560 buy 0.10 AUDCAD at 0.95218 at price 0.95188
2020.08.27 20:28:35.177 CloseTradesFast4Test AUDCAD,H1: close#573721562 buy 0.10 AUDCAD at 0.95218 at price 0.95188
2020.08.27 20:28:35.161 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションクローズ
2020.08.27 20:28:35.158 mhdbzr-34 AUDCAD,H1: - ポジションクローズ: 2020.08.27 18:58:06.000 - AUDCADクローズ売り#573721573 at price 0.95190, 利益 -2.06 USD
2020.08.27 20:28:34.739 CloseTradesFast4Test AUDCAD,H1: Close#573721571 buy 0.10 AUDCAD at 0.95224 at price 0.95191
2020.08.27 20:28:34.695 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションクローズ
2020.08.27 20:28:34.691 mhdbzr-34 AUDCAD,H1: - ポジションクローズ: 2020.08.27 18:58:06.000 - AUDCADクローズ売り#573721573 at price 0.95190, Profit -2.06 USD
2020.08.27 20:28:34.306 CloseTradesFast4Test AUDCAD,H1: クローズ#573721573 売り0.95190で0.10 AUDCAD価格0.95217で
2020.08.27 20:28:34.180 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションクローズ
2020.08.27 20:28:34.177 mhdbzr-34 AUDCAD,H1: - ポジションクローズ: 2020.08.27 18:58:09.000 - AUDCADクローズ売り#573721582 at price 0.95190, 利益 -2.14 USD
2020.08.27 20:28:33.883 CloseTradesFast4Test AUDCAD,H1: 終了#573721577 売り 0.10 AUDCAD at 0.95190 at price 0.95217
2020.08.27 20:28:33.664 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションクローズ
2020.08.27 20:28:33.660 mhdbzr-34 AUDCAD,H1: - ポジションクローズ: 2020.08.27 18:58:09.000 - AUDCADクローズ売り#573721582 at price 0.95190, 利益 -2.14 USD
2020.08.27 20:28:33.440 CloseTradesFast4Test AUDCAD,H1: Close#573721582 売り 0.10 AUDCAD at 0.95190 at price 0.95218
2020.08.27 20:28:32.946 CloseTradesFast4Test AUDCAD,H1: initialized
2020.08.27 20:28:32.928 スクリプトCloseTradesFast4Test AUDCAD,H1: 正常にロードされました。
2020.08.27 20:28:09.413 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションがオープンしました。
2020.08.27 20:28:09.411 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:09.000 - AUDCAD 0.10売り #573721582 [0.10 成行注文 売り #573721582] at price 0.95190
2020.08.27 20:28:07.664 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションオープン
2020.08.27 20:28:07.659 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:07.000 - AUDCAD 0.10売り #573721577 [0.10 成行注文 売り #573721577] at price 0.95190
2020.08.27 20:28:06.755 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションオープン
2020.08.27 20:28:06.752 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:06.000 - AUDCAD 0.10 Sell #573721573 [0.10 成行注文 Sell #573721573] at price 0.95190
2020.08.27 20:28:05.911 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションオープン
2020.08.27 20:28:05.909 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:05.000 - AUDCAD 0.10 Buy #573721571 [0.10 成行注文 Buy #573721571] at price 0.95224
2020.08.27 20:28:04.587 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションオープン
2020.08.27 20:28:04.582 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:04.000 - AUDCAD 0.10 Buy #573721562 [0.10 成行注文 Buy #573721562] at price 0.95218
2020.08.27 20:28:04.101 mhdbzr-34 AUDCAD,H1: OnDoEasyEvent:ポジションオープン
2020.08.27 20:28:04.099 mhdbzr-34 AUDCAD,H1: - Position opened: 2020.08.27 18:58:03.000 - AUDCAD 0.10 Buy #573721560 [0.10 成行注文 Buy #573721560] at price 0.95218
2020.08.27 20:27:59.245 mhdbzr-34 AUDCAD,H1: initialized
2020.08.27 20:27:59.244 mhdbzr-34 AUDCAD,H1: Account 13278180: mhdbzr test (Alpari) 5537.01 USD, 1:100, Hedge,デモ口座 MetaTrader 4
Expert TestDoEasyPart34\mhdbzr-34 AUDCAD,H1: loaded successfully
これらの取引は、テスター環境ではなく、デモ口座の ライブマーケットで手動でオープンしました。(スクリプトでクローズしました。)
(念のためスクリーンショットを掲載します。)
今回はクローズド・ポジションを認識せず、2つのケースで 前のポジションをミスした。
これらの取引は、テスター環境ではなく、デモ口座の ライブマーケットで手動でオープンしました。(そして、前と同じようにスクリプトで決済しました。)
(念のためスクリーンショットを掲載します。)
問題の原因を探しています。速くはないでしょう。テストをありがとう。
問題の原因を探している。早くはないだろう。テストをありがとう。
(以下は私の意見です)
これらのクローズしたポジションは同じ秒数で、そのうちの1つは前のティックタイムで処理されているため、新しいティックでは`new_history_orders=1`となりますが、`list`には 2つのポジションがあり、おそらくソートが間違っています。
もし注文が既にリストに入っていてエラーメッセージを投げたら、ポジションオブジェクトを削除し、このforループでカウントを再開します。しかし、CreateNewEvent 関数 内で注文が削除された場合、次の有効なポジションをキャッチするために、nカウントすべきではないと思います。
また、間違ったソートされたオーダーをスキップするために、最近処理されたポジションを理解する必要があります。
(以下は私の意見)
これらのクローズしたポジションは同じ秒数で、そのうちの1つは前のティックタイムで処理されているため、新しいティックでは `new_history_orders=1` となりますが、リスト` には2つのポジションがあり、おそらくソートが間違っています。
もしオーダーがすでにリストに入っていてエラーメッセージを投げている場合は、ポジションオブジェクトを削除して、このforループでカウントを再開しますが、CreateNewEvent 関数 内でオーダーが削除された場合は、次の有効なポジションをキャッチするために、nカウントしないようにすべきだと思います。
また、間違ったソートされたオーダーをスキップするために、最近処理されたポジションを理解する必要があります。
ありがとうございます。
何週間か前に初めてこの記事を読んだとき、未来のグラフィカル・シェルについて 言及していたのを覚えています。 これについてのあなたのビジョンと、これによって実際に何ができるようになるのかについて、もっと詳しく教えてもらえますか?