記事"マーケットでの公開前にトレードロボットに行うべき検査"についてのディスカッション - ページ 23

 
私はそれがエラーを与え、このすべての後に、それはこの種のエラーを与えたように、私はすべてのコメントを英語に翻訳した作業ロボットがスキップしない理由がわからない

test onEURUSD,H1 (netting) 2022.02.01 09:36:20 failed instant sell 1 EURUSD at 0.00000 sl: 1.12832 tp: 1.12078 [Invalid price] 2022.02.01 09:37:40 failed instant sell 1 EURUSD at 0.00000 sl: 1.12837 tp: 1.12081 [Invalid price] 2022.02.01 09:37:59 failed instant sell 1 EURUSD at 0.00000 sl: 1.12836 tp: 1.12080 [無効価格] 2022.02.01 09:38:00 1 EURUSD at 0.00000 sl: 1.12837 tp: 1.12081 [無効価格] 2022.02.01 09:38:20 1 EURUSD at 0.00000 sl: 1.12836 tp: 1.12080 [無効価格] 2022.02.01 09:41:40 0.00000のインスタント売りに失敗 1 EURUSD sl: 1.12847 tp: 1.12057 [無効価格] 2022.02.01 09:41:59 0.00000のインスタント売りに失敗 1 EURUSD sl: 1.12847 tp: 1.12057 [無効価格] 2022.02.01 09:42:00 0.00000のインスタント売りに失敗 1 EURUSD sl: 1.12847 tp: 1.12057 [Invalid price] 2022.02.01 09:44:40 failed instant sell 1 EURUSD at 0.00000 sl: 1.12850 tp: 1.12060 [Invalid price] 2022.02.01 09:44:59 failed instant sell 1 EURUSD at 0.00000 sl: 1.12847 tp: 1.12057 [Invalid price] 2022.02.01 09:45:00 failed instant sell 1 EURUSD at 0.00000 sl: 1.12848 tp: 1.12058 [無効価格] 2022.02.01 17:43:40に失敗したインスタント売り1 EURUSD at 0.00000 sl: 1.13007 tp: 1.11921 [無効価格] 2022.02.01 17:44:40に失敗したインスタント売り1 EURUSD at 0.00000 sl: 1.13014 tp: 1.11928 [無効価格] 2022.02.01 17:44:59失敗したインスタント売り1 EURUSDで0.00000 sl: 1.13014 tp: 1.11928 [無効価格] 2022.02.01 17:45:00失敗したインスタント売り1 EURUSDで0.00000 sl: 1.13016 tp: 1.11930 [無効価格] 2022.02.01 17:45:40失敗したインスタント売り1 EURUSDで0.00000 sl: 1.13000 tp: 1.11908 [無効価格] 2022.2022.02.01 17:45:59失敗即売り1ユーロドル0.00000でsl:1.13003 tp:1.11911 [無効価格] 2022.02.01 17:46:00失敗即売り1ユーロドル0.00000でsl:1.13005 tp:1.11913 [無効価格] 2022.02.01 17:46:20失敗即売り1ユーロドル0.00000でsl:1.13000 tp: 1.11908 [無効価格] 2022.02.01 17:59:40 0.00000でインスタント売り失敗 1 EURUSD sl: 1.13003 tp: 1.11911 [無効価格] 2022.02.01 17:59:59 0.00000でインスタント売り失敗 1 EURUSD sl: 1.13020 tp: 1.11928 [無効価格] 取引操作はありません。

個人的にこのロボットを使っているので、取引ロボットが取引を開始できないはずがない!
 

私のバリデーションがこのように表示される原因がわかりません。ありがとうございます。

バリデータがエラーを表示する

 
Mean Pichponreay #:

私のバリデーションがこのように表示される原因がわかりません。ありがとうございます。


証拠金ストップアウトのポジションをチェックし、ストップアウトの前にポジションをクローズする必要があります。

アカウント_マージン_so_so

 
Nauris Zukas #:

マージン・ストップ・アウトのポジションを確認し、ストップ・アウトの前にポジションを決済する必要があります。

アカウント_マージン_so_so

ありがとうございます。

 
私も同じ問題に直面している。何をやってもうまくいきません。Expert Advisor (EA)に模擬取引メカニズムまで実装しましたが、問題は解決していません。どなたか、EAの取引戦略を 維持したままこのエラーを回避する方法を教えていただければと思います。
 

取引操作 なし」のエラーで行き詰まっています。この問題を解決するために、私のコードを修正する方法についてアドバイスや支援をお願いします。いくつかのショートカットを試しましたが、何をやってもこのエラーに遭遇します。





ファイル:
Capture.PNG  20 kb
 

EAをアップロードしようとしているのですが、いつも同じエラーが出ます。

test on EURUSD,H1 (hedging)
 2022.02.03 15:40:40   failed modify #11番買い 0.55 EURUSD sl: 1.12910、tp: 1.13310 -> sl: 1.13260、tp: 1.13310 [無効なストップ].
 2022.02.03 15:40:59   failed modify #11番買い 0.55 EURUSD sl: 1.12910、tp: 1.13310 -> sl: 1.13225、tp: 1.13310 [無効なストップ].
 2022.02.03 15:41:00   failed modify #11番買い 0.55 EURUSD sl: 1.12910、tp: 1.13310 -> sl: 1.13225、tp: 1.13310 [無効なストップ].
 2022.02.03 15:41:20   failed modify #11番買い 0.55 EURUSD sl: 1.12910、tp: 1.13310 -> sl: 1.13240、tp: 1.13310 [無効なストップ].
 2022.02.03 15:41:40   failed modify #11番買い 0.55 EURUSD sl: 1.12910、tp: 1.13310 -> sl: 1.13155、tp: 1.13310 [無効なストップ].
 2022.02.03 15:41:59   failed modify #11番買い 0.55 EURUSD sl: 1.12910、tp: 1.13310 -> sl: 1.13210、tp: 1.13310 [無効なストップ].
 2022.02.03 15:42:00   failed modify #11番買い 0.55 EURUSD sl: 1.12910、tp: 1.13310 -> sl: 1.13210、tp: 1.13310 [無効なストップ].
 2022.02.03 15:42:20   failed modify #11番買い 0.55 EURUSD sl: 1.12910、tp: 1.13310 -> sl: 1.13210、tp: 1.13310 [無効なストップ].
 2022.02.08 09:13:40   failed modify #21 売り 0.55 EURUSD sl: 1.14345、tp: 1.13945 -> sl: 1.14035、tp: 1.13945 [無効なストップ].
 2022.02.08 09:13:59   failed modify #21 売り 0.55 EURUSD sl: 1.14345、tp: 1.13945 -> sl: 1.14055、tp: 1.13945 [無効なストップ].
 2022.02.08 09:14:00   failed modify #21 売り 0.55 EURUSD sl: 1.14345、tp: 1.13945 -> sl: 1.14055、tp: 1.13945 [無効なストップ].
 2022.02.08 09:14:20   failed modify #21 売り 0.55 EURUSD sl: 1.14345、tp: 1.13945 -> sl: 1.14065、tp: 1.13945 [無効なストップ].
 2022.02.08 09:14:40   failed modify #21 売り 0.55 EURUSD sl: 1.14345、tp: 1.13945 -> sl: 1.14030、tp: 1.13945 [無効なストップ].
 2022.02.08 09:14:59   failed modify #21 売り 0.55 EURUSD sl: 1.14345、tp: 1.13945 -> sl: 1.14035、tp: 1.13945 [無効なストップ].
 2022.02.08 09:15:00   failed modify #21 売り 0.55 EURUSD sl: 1.14345、tp: 1.13945 -> sl: 1.14035、tp: 1.13945 [無効なストップ].
 2022.02.08 09:15:20   failed modify #21 売り 0.55 EURUSD sl: 1.14345、tp: 1.13945 -> sl: 1.14040、tp: 1.13945 [無効なストップ].
 2022.02.08 09:15:40   failed modify #21 売り 0.55 EURUSD sl: 1.14345、tp: 1.13945 -> sl: 1.13985、tp: 1.13945 [無効なストップ].
 2022.02.08 09:15:59   failed modify #21 売り 0.55 EURUSD sl: 1.14345、tp: 1.13945 -> sl: 1.14025、tp: 1.13945 [無効なストップ].
 2022.02.08 09:16:00   failed modify #21 売り 0.55 EURUSD sl: 1.14345、tp: 1.13945 -> sl: 1.14025、tp: 1.13945 [無効なストップ].
 2022.02.08 09:16:20   failed modify #21 売り 0.55 EURUSD sl: 1.14345、tp: 1.13945 -> sl: 1.14025、tp: 1.13945 [無効なストップ].
 2022.02.08 09:16:40   failed modify #21 売り 0.55 EURUSD sl: 1.14345、tp: 1.13945 -> sl: 1.14050、tp: 1.13945 [無効なストップ].
strategy tester report 100 total trades

ローカルで同じテストを実行してもエラーは出ません。 このようなエラーを引き起こす原因は何でしょうか?

2025.02.01 11:34:52.756 2022.02.03 15:40:26   Ticket #4# 
2025.02.01 11:34:52.756 2022.02.03 15:40:26   new stopLoss: 1.1313000000000002
2025.02.01 11:34:52.756 2022.02.03 15:40:26   position modified [#4 買い 0.55 EURUSD 1.13081 sl: 1.13130 tp: 1.13280].
2025.02.01 11:34:52.758 2022.02.03 15:40:26   CTrade::OrderSend: modify position #4 EURUSD (sl: 1.13130、tp: 1.13280)【済
2025.02.01 11:34:52.759 2022.02.03 15:40:27   Ticket #4# 
2025.02.01 11:34:52.759 2022.02.03 15:40:27   new stopLoss: 1.1314000000000002
2025.02.01 11:34:52.759 2022.02.03 15:40:27   position modified [#4 買い 0.55 EURUSD 1.13081 sl: 1.13140 tp: 1.13280].
2025.02.01 11:34:52.761 2022.02.03 15:40:27   CTrade::OrderSend: modify position #4 EURUSD (sl: 1.13140、tp: 1.13280)【済
2025.02.01 11:34:52.763 2022.02.03 15:40:28   Ticket #4# 
2025.02.01 11:34:52.763 2022.02.03 15:40:28   new stopLoss: 1.13145
2025.02.01 11:34:52.763 2022.02.03 15:40:28   position modified [#4 買い 0.55 EURUSD 1.13081 sl: 1.13145 tp: 1.13280].
2025.02.01 11:34:52.765 2022.02.03 15:40:28   CTrade::OrderSend: modify position #4 EURUSD (sl: 1.13145、tp: 1.13280)【済
2025.02.01 11:34:52.765 2022.02.03 15:40:28   Ticket #4# 
2025.02.01 11:34:52.765 2022.02.03 15:40:28   new stopLoss: 1.13155
2025.02.01 11:34:52.767 2022.02.03 15:40:28   position modified [#4 買い 0.55 EURUSD 1.13081 sl: 1.13155 tp: 1.13280].
2025.02.01 11:34:52.769 2022.02.03 15:40:28   CTrade::OrderSend: modify position #4 EURUSD (sl: 1.13155、tp: 1.13280)【済
2025.02.01 11:34:52.770 2022.02.03 15:40:29   Ticket #4# 
2025.02.01 11:34:52.770 2022.02.03 15:40:29   new stopLoss: 1.1316000000000002
2025.02.01 11:34:52.770 2022.02.03 15:40:29   position modified [#4 買い 0.55 EURUSD 1.13081 sl: 1.13160 tp: 1.13280].
2025.02.01 11:34:52.772 2022.02.03 15:40:29   CTrade::OrderSend: modify position #4 EURUSD (sl: 1.13160、tp: 1.13280)【済
 
Francisco Jesus Alonso Martin #:

EAをアップロードしようとしているのですが、いつも同じエラーが出ます。

ローカルで同じテストを実行してもエラーは出ません。 このようなエラーを引き起こす原因は何でしょうか?

ストップ・レベルを価格と照らし合わせる必要がありました。

 

こんにちは、また私です。

エラーが1つだけ残っているのですが、解決策が見つかりません。

test on XAUUSD,D1 (hedging)
 2022.07.12 04:30:40   current account state: Balance: 1126.50, Credit: 0.00, Commission: 0.00, Accumulated: 0.00, Assets: 0.00, Liabilities: 0.00, Equity 1126.50, Margin: 0.00, FreeMargin: 1126.50
 2022.07.12 04:30:40   calculated account state: Assets: 0.00, Liabilities: 0.00, Equity 1126.50, Margin: 1132.76, FreeMargin: -6.26
 2022.07.12 04:30:40   not enough money for order [1742.70で#7買いストップ0.65 XAUUSD].
strategy tester report 13 total trades

私はこの方法で売買を行う前に、常に証拠金をチェックしています:

bool checkMoneyForTrade(string symb,double lots,ENUM_ORDER_TYPE type) {
//--- 始値取得
    MqlTick mqltick;
    SymbolInfoTick(symb,mqltick);
    double price = mqltick.ask;
    if(type == ORDER_TYPE_SELL)
        price = mqltick.bid;
//--- 必要マージンと自由マージンの値
    double margin,free_margin = AccountInfoDouble(ACCOUNT_MARGIN_FREE);
    //--- チェック関数の呼び出し
    if(!OrderCalcMargin(type,symb,lots,price,margin)) {
        //--- 何か問題が発生した。
        Print("Error in ",__FUNCTION__," code=",GetLastError());
        return(false);
    }
    //--- 運用資金が不足している場合
    if(margin > free_margin || free_margin < 0) {
        //--- エラーを報告し、falseを返す
        Print("Not enough money for ",EnumToString(type)," ",lots," ",symb," Error code=",GetLastError());
        return(false);
    }
//--- チェック成功
    return(true);
}
 

検証プロセスでエラーが出たが、その日にmqlf5でテストをやり直したところ、私の端末ではエラーは出なかった。

エラーなし