オーダー変更時のエラー1 - ページ 2 1234567 新しいコメント Viktar Dzemikhau 2014.11.07 17:20 #11 borilunad: ビクター、あなた、レナット、一般的に、正しく指摘し、アレクセイは、必要な最後のチェックを示し、以前に、意味のあいまいさを避けるために、すべてのニュアンスを持つ各パラメータのすべての必要なチェックを行い、任意の条件を欠場することなく!。 そんなことして何になるんだ?各関数で_LastErrorの 値をリセットしているためです。常にメモリにぶら下がっているわけでもないし...。 Boris 2014.11.07 17:27 #12 hoz: 何に使うの?全ての関数で_LastErrorを リセットしているからです。常にメモリにぶら下がっているわけでもないし...。 ごめんね、関数とチェックの被害者だねー。興味のある情報はチャートに出力し、エラーチェックは取引機能の 後にのみ印刷する! Viktar Dzemikhau 2014.11.07 17:29 #13 evillive: ただし、3つのパラメータのいずれにも変更がない場合は、OrderModifyにも手を加える必要がないことを確認する必要があります。聞いていますよ。役に立たなかった。以下は、私の改造方法のコードの一部です。 ResetLastError(); //---- Определяем цвет значков модификации ордеров if (fc_Arrow == CLR_NONE) fc_Arrow = ColorByModify [OrderType() % 2]; //---- Выполняем модификацию в тестере if (!CBase.GetRealTrade()) \\ Если работаем в тестере... { if ((OrderOpenPrice() != fd_OpenPrice) || (OrderStopLoss() != fd_NewSL) || (OrderTakeProfit() != fd_NewTP)) if (!OrderModify (fi_Ticket, fd_OpenPrice, fd_NewSL, fd_NewTP, fdt_Expiration, fc_Arrow)) { CLogs.WriteLog (StringConcatenate ("fOrderModify(): ", CErrs.ErrorToString (_LastError))); Print (__FUNCTION__, ": ", "После модификации тикета № ", fi_Ticket); Print (__FUNCTION__, ": ", "Тикет № ", fi_Ticket, "; OOP = ", fd_OpenPrice, "; SL = ", fd_NewSL, "; TP = ", fd_NewTP); return (false); } } エラー値がリセットされていることがよくわかる。そして、マーケット情報を取得する。テスターで修正した場合...ではアレクセイが 提案したテストを実行し...修正に失敗したら...ログを書き、ログに印刷する...一般に、ResetLastError()...の間にエラーがないことが確認できる。そこに間違いはない。ログです。 0 20:24:08 2013.08.26 00:00 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::fOrderModify: Вошли в функцию 0 20:24:08 2013.08.26 00:00 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::fOrderModify: До проверки на FREEZELEVEL и STOPLEVEL тикета № 2 0 20:24:08 2013.08.26 00:00 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::fOrderModify: Тикет № 2; OOP = 1.34048; SL = 1.34125; TP = 1.33362 0 20:24:08 2013.08.26 00:00 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::CheckLevelsBLOCK: Вошли в функцию 0 20:24:08 2013.08.26 00:00 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::CheckLevelsBLOCK: Тикет № 2; fd_NewOpenPrice = 1.34048; fd_NewSL = 1.34125; fd_NewTP = 1.33362 0 20:24:08 2013.08.26 00:00 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::CheckLevelsBLOCK: fi_Type > 2 = true 0 20:24:08 2013.08.26 00:00 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::CheckLevelsBLOCK: Тикет № 2; fd_NewOpenPrice = 1.34048; fd_NewSL = 1.34125; fd_NewTP = 1.33362 0 20:24:08 2013.08.26 00:00 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::CheckLevelsBLOCK: Вышли из функции 0 20:24:08 2013.08.26 00:00 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::fOrderModify: После проверки на FREEZELEVEL и STOPLEVEL тикета № 2 0 20:24:08 2013.08.26 00:00 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::fOrderModify: Тикет № 2; OOP = 1.34048; SL = 1.34125; TP = 1.33362 2 20:24:08 2013.08.26 00:00 Kevin Martens_Moi_Myrei EURUSD,M15: modify #2 sell limit 0.10 EURUSD at 1.34048 sl: 1.34125 tp: 1.33362 ok 3 20:24:08 2013.08.26 00:00 Kevin Martens_Moi_Myrei EURUSD,M15: OrderModify error 1 Vitalie Postolache 2014.11.07 17:44 #14 hoz:聞いていますよ。役に立たなかった。以下は、私の改造方法のコードの一部です。 エラー値がリセットされていることがよくわかります。そして、マーケット情報を取得する。テスターで修正した場合...ではアレクセイが 提案したテストを実行し...修正に失敗したら...ログを書き、ログに印刷する...一般に、ResetLastError()...の間にエラーがないことが確認できる。そこに間違いはない。ログです。 変更前のOOP、SL、TPの値が新しい値と同じかどうかログを取る必要があり、そうすればエラー1の原因も明確になります。 Viktar Dzemikhau 2014.11.07 18:18 #15 そういうことなんだ...。Expert Advisorでは、このようにクラスメソ ッドを呼び出しています。 if (OrderType() == OP_SELLLIMIT) { if (OrderOpenPrice() != ND (fd_MurreyLevelsValue[11])) New_OOP = ND (fd_MurreyLevelsValue[11]); else New_OOP = OrderOpenPrice(); if (OrderStopLoss() != ND (fd_MurreyLevelsValue[12])) New_SL = ND (fd_MurreyLevelsValue[12]); else New_SL = OrderStopLoss(); if (OrderTakeProfit() != ND (fd_MurreyLevelsValue[2])) New_TP = ND (fd_MurreyLevelsValue[2]); else New_TP = OrderTakeProfit(); Print (__FUNCTION__, ": ", "New_OOP = ", New_OOP, "; New_SL = ", New_SL, "; New_TP = ", New_TP); Print (__FUNCTION__, ": ", "Тикет № ", OrderTicket(), "; OrderOpenPrice() = ", OrderOpenPrice(), "; OrderStopLoss() = ", OrderStopLoss(), "; OrderTakeProfit() = ", OrderTakeProfit()); if (ND (OrderOpenPrice()) != fd_MurreyLevelsValue[11]) { if (New_OOP < Bid) continue; if (!CPosMan.fOrderModify (Ticket, New_OOP, New_SL, New_TP)) { if (_LastError != 0) CLogs.WriteLog (StringConcatenate (__FUNCTION__, ". В строке ", __LINE__, " ", CErrs.ErrorToString (_LastError)), CLogs.GetNeedLogs(), CLogs.GetPrintUP(), CLogs.GetCommentUP()); } else { Print (__FUNCTION__, ": ", "Модификация тикета №", OrderTicket(), " успешно завершена!"); Print (__FUNCTION__, ": ", "Тикет № ", OrderTicket(), "; OrderOpenPrice() = ", OrderOpenPrice(), "; OrderStopLoss() = ", OrderStopLoss(), "; OrderTakeProfit() = ", OrderTakeProfit()); } } }気になるクラスのピースはこちら。// 1.2 Функция модифицирует выделенный ордер (установка TP и SL). ========================================================================= bool PositionsManipulations::fOrderModify (int fi_Ticket, // OrderTicket() double fd_OpenPrice, // OpenPrice double fd_NewSL, // Новый StopLoss (УРОВЕНЬ !!!) double fd_NewTP, // Новый TakeProfit (УРОВЕНЬ !!!) datetime fdt_Expiration = 0, // Время истечения отложенного ордера color fc_Arrow = CLR_NONE) // Цвет стрелок модификации StopLoss и/или TakeProfit на графике { Print (__FUNCTION__, ": ", "Вошли в функцию "); //---- Проверяем необходимость модификации if (fd_NewSL == OrderStopLoss() && fd_NewTP == OrderTakeProfit()) return (false); //---- string ls_fName = "fOrderModify()"; int li_Cnt = 0; double ld_Price; bool lb_InvalidSTOP = false, lb_FixInvalidPrice = false; // Флаг первоначальной коррекции отложки //---- Получаем актуальную информацию по символу и текущему ордеру CBase.GetMarkerInfo (OrderSymbol(), fi_Ticket); Print (__FUNCTION__, ": ", "До проверки на FREEZELEVEL и STOPLEVEL тикета № ", fi_Ticket); Print (__FUNCTION__, ": ", "Тикет № ", OrderTicket(), "; OrderOpenPrice() = ", OrderOpenPrice(), "; OrderStopLoss() = ", OrderStopLoss(), "; OrderTakeProfit() = ", OrderTakeProfit()); Print (__FUNCTION__, ": ", "Тикет № ", fi_Ticket, "; OOP = ", fd_OpenPrice, "; SL = ", fd_NewSL, "; TP = ", fd_NewTP); //---- Проверяем на условия FREEZELEVEL и STOPLEVEL if (!CheckLevelsBLOCK (3, SPos.gs_Symbol, SPos.gi_Type, fd_OpenPrice, fd_NewSL, fd_NewTP, lb_FixInvalidPrice)) { if (StringLen (CErrs.ErrInf) > 0) { CLogs.WriteLog (CErrs.ErrInf); return (false); } } Print (__FUNCTION__, ": ", "После проверки на FREEZELEVEL и STOPLEVEL тикета № ", fi_Ticket); Print (__FUNCTION__, ": ", "Тикет № ", fi_Ticket, "; OOP = ", fd_OpenPrice, "; SL = ", fd_NewSL, "; TP = ", fd_NewTP); ResetLastError(); //---- Определяем цвет значков модификации ордеров if (fc_Arrow == CLR_NONE) fc_Arrow = ColorByModify [OrderType() % 2]; //---- Выполняем модификацию в тестере if (!CBase.GetRealTrade()) { if ((OrderOpenPrice() != fd_OpenPrice) || (OrderStopLoss() != fd_NewSL) || (OrderTakeProfit() != fd_NewTP)) if (!OrderModify (fi_Ticket, fd_OpenPrice, fd_NewSL, fd_NewTP, fdt_Expiration, fc_Arrow)) { CLogs.WriteLog (StringConcatenate ("fOrderModify(): ", CErrs.ErrorToString (_LastError))); Print (__FUNCTION__, ": ", "После модификации тикета № ", fi_Ticket); Print (__FUNCTION__, ": ", "Тикет № ", fi_Ticket, "; OOP = ", fd_OpenPrice, "; SL = ", fd_NewSL, "; TP = ", fd_NewTP); return (false); } }これが私たちが欲しいログピースです。 0 21:11:44 2013.08.26 09:45 Kevin Martens_Moi_Myrei EURUSD,M15: MovingLimitPositions: Выбран тикет № 2 0 21:11:44 2013.08.26 09:45 Kevin Martens_Moi_Myrei EURUSD,M15: MovingLimitPositions: Тикет № 2; OrderOpenPrice() = 1.34048; OrderStopLoss() = 1.34125; OrderTakeProfit() = 1.33362 0 21:11:44 2013.08.26 09:45 Kevin Martens_Moi_Myrei EURUSD,M15: MovingLimitPositions: New_OOP = 1.3401; New_SL = 1.34048; New_TP = 1.33667 0 21:11:44 2013.08.26 09:45 Kevin Martens_Moi_Myrei EURUSD,M15: MovingLimitPositions: Тикет № 2; OrderOpenPrice() = 1.34048; OrderStopLoss() = 1.34125; OrderTakeProfit() = 1.33362 0 21:11:44 2013.08.26 09:45 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::fOrderModify: Вошли в функцию 0 21:11:44 2013.08.26 09:45 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::fOrderModify: До проверки на FREEZELEVEL и STOPLEVEL тикета № 2 0 21:11:44 2013.08.26 09:45 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::fOrderModify: Тикет № 2; OrderOpenPrice() = 1.34048; OrderStopLoss() = 1.34125; OrderTakeProfit() = 1.33362 0 21:11:44 2013.08.26 09:45 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::fOrderModify: Тикет № 2; OOP = 1.3401; SL = 1.34048; TP = 1.33667 0 21:11:44 2013.08.26 09:45 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::CheckLevelsBLOCK: Вошли в функцию 0 21:11:44 2013.08.26 09:45 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::CheckLevelsBLOCK: Тикет № 2; fd_NewOpenPrice = 1.3401; fd_NewSL = 1.34048; fd_NewTP = 1.33667 0 21:11:44 2013.08.26 09:45 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::CheckLevelsBLOCK: fi_Type > 2 = true 0 21:11:44 2013.08.26 09:45 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::CheckLevelsBLOCK: Ещё Чутка дальше 0 21:11:44 2013.08.26 09:45 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::CheckLevelsBLOCK: Тикет № 2; fd_NewOpenPrice = 1.3401; fd_NewSL = 1.34048; fd_NewTP = 1.33667 0 21:11:44 2013.08.26 09:45 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::CheckLevelsBLOCK: Вышли из функции 0 21:11:44 2013.08.26 09:45 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::fOrderModify: После проверки на FREEZELEVEL и STOPLEVEL тикета № 2 0 21:11:44 2013.08.26 09:45 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::fOrderModify: Тикет № 2; OOP = 1.3401; SL = 1.34048; TP = 1.33667 2 21:11:44 2013.08.26 09:45 Kevin Martens_Moi_Myrei EURUSD,M15: modify #2 sell limit 0.10 EURUSD at 1.34010 sl: 1.34048 tp: 1.33667 ok 3 21:11:44 2013.08.26 09:45 Kevin Martens_Moi_Myrei EURUSD,M15: OrderModify error 1 Viktar Dzemikhau 2014.11.07 18:37 #16 説明しよう。変更は、fOrderModify()メソッドで行われる。本メソッド fOrderModify()の入力時には、本体の先頭にオーダーパラメータの現在値と新しい予定値が出力されます。見ることができます。 Print (__FUNCTION__, ": ", "До проверки на FREEZELEVEL и STOPLEVEL тикета № ", fi_Ticket); Print (__FUNCTION__, ": ", "Тикет № ", OrderTicket(), "; OrderOpenPrice() = ", OrderOpenPrice(), "; OrderStopLoss() = ", OrderStopLoss(), "; OrderTakeProfit() = ", OrderTakeProfit()); Print (__FUNCTION__, ": ", "Тикет № ", fi_Ticket, "; OOP = ", fd_OpenPrice, "; SL = ", fd_NewSL, "; TP = ", fd_NewTP);この作品は過去ログにあります。0 21:11:44 2013.08.26 09:45 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::fOrderModify: Вошли в функцию 0 21:11:44 2013.08.26 09:45 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::fOrderModify: До проверки на FREEZELEVEL и STOPLEVEL тикета № 2 0 21:11:44 2013.08.26 09:45 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::fOrderModify: Тикет № 2; OrderOpenPrice() = 1.34048; OrderStopLoss() = 1.34125; OrderTakeProfit() = 1.33362 0 21:11:44 2013.08.26 09:45 Kevin Martens_Moi_Myrei EURUSD,M15: PositionsManipulations::fOrderModify: Тикет № 2; OOP = 1.3401; SL = 1.34048; TP = 1.33667 パラメータがすべて異なることがおわかりいただけると思います。特に問題はないはずです。 Alexey Viktorov 2014.11.07 19:12 #17 hoz:そういうことなんだ...。Expert Advisorでは、このようにクラスメソッドを呼び出しています。気になるクラスのピースはこちら。これが私たちが欲しいログピースです。Bidの意味がわからないのですが、注文が保留になっている場合、Bidはどうなるのでしょうか?if (OrderType() == OP_SELLLIMIT) { if (OrderOpenPrice() != ND (fd_MurreyLevelsValue[11])) New_OOP = ND (fd_MurreyLevelsValue[11]); else New_OOP = OrderOpenPrice(); if (OrderStopLoss() != ND (fd_MurreyLevelsValue[12])) New_SL = ND (fd_MurreyLevelsValue[12]); else New_SL = OrderStopLoss(); if (OrderTakeProfit() != ND (fd_MurreyLevelsValue[2])) New_TP = ND (fd_MurreyLevelsValue[2]); else New_TP = OrderTakeProfit(); Print (__FUNCTION__, ": ", "New_OOP = ", New_OOP, "; New_SL = ", New_SL, "; New_TP = ", New_TP); Print (__FUNCTION__, ": ", "Тикет № ", OrderTicket(), "; OrderOpenPrice() = ", OrderOpenPrice(), "; OrderStopLoss() = ", OrderStopLoss(), "; OrderTakeProfit() = ", OrderTakeProfit()); if (ND (OrderOpenPrice()) != fd_MurreyLevelsValue[11]) { if (New_OOP < Bid) continue; if (!CPosMan.fOrderModify (Ticket, New_OOP, New_SL, New_TP)) { if (_LastError != 0) CLogs.WriteLog (StringConcatenate (__FUNCTION__, ". В строке ", __LINE__, " ", CErrs.ErrorToString (_LastError)), CLogs.GetNeedLogs(), CLogs.GetPrintUP(), CLogs.GetCommentUP()); } else { Print (__FUNCTION__, ": ", "Модификация тикета №", OrderTicket(), " успешно завершена!"); Print (__FUNCTION__, ": ", "Тикет № ", OrderTicket(), "; OrderOpenPrice() = ", OrderOpenPrice(), "; OrderStopLoss() = ", OrderStopLoss(), "; OrderTakeProfit() = ", OrderTakeProfit()); } } }Bidは常にSellLimitより低いので、if(New_OOP < Bid)の行は決して真にならない......。...それぞれ、支障なく改造が実施されています。 Renat Fatkhullin 2014.11.07 19:32 #18 hoz:エラー配列も作ってみてはどうでしょうか。変数_LastErrorには最後のエラーの番号が格納されることがドキュメントに白黒書かれています。そして、ResetLastError()関数でリセットされる。LastErrorの呼び出しの間にもうエラーがない場合、_LastErrorは最後のエラーの値を格納する。私のコードには、もうエラーはありませんでした。まあ、そういう問題じゃないんですけどね。あなたは絶対に間違っています。最後のエラーは、多くの重要な機能でよくリセットされています。WinAPIでもそうなっています。そのため、エラーコードが発生した直後にローカル変数 に保存し、多くの中間関数でこのシステム変数を10回クリアしてから使おうとしないことです。 Boris 2014.11.07 20:24 #19 申し訳ございませんが、SellLimitはdistを必要とします。not if (New_OOP < Bid) continue; butif (New_OOP-dist*Point < Bid) continue; Алексей Тарабанов 2014.11.07 22:37 #20 hoz:どうしたらこのクソエラーを解消できる?もう、うんざりです。関数の入力パラメータを全てチェックしています。私の場合、今のところ、こんな感じです。つまり、パラメータが変更されていなければ、変更する必要はないのです。今までやったことなかったけど、やってみようと思って...。そして、このように注文変更メソッドにパラメータが渡されます。ログにNw出力。だから、ジャーナルは、修正:OK、しかし、その後...のように通知します。がエラーになる。どのパラメータも変更されていません。注文は保留されています。そのため、オープン、ストップ、テイクプライスを変更することがあります。そしてこれは、私の理解では、ドキュメントと矛盾するものではありませんでした。このようなことに遭遇したことがある人はいますか?どうすれば解決するのか? そして、どのパラメータも変更されていない場合は、保留中の注文を変更しようとはしません。 1234567 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ビクター、あなた、レナット、一般的に、正しく指摘し、アレクセイは、必要な最後のチェックを示し、以前に、意味のあいまいさを避けるために、すべてのニュアンスを持つ各パラメータのすべての必要なチェックを行い、任意の条件を欠場することなく!。
何に使うの?全ての関数で_LastErrorを リセットしているからです。常にメモリにぶら下がっているわけでもないし...。
ただし、3つのパラメータのいずれにも変更がない場合は、OrderModifyにも手を加える必要がないことを確認する必要があります。
聞いていますよ。役に立たなかった。以下は、私の改造方法のコードの一部です。
エラー値がリセットされていることがよくわかる。そして、マーケット情報を取得する。テスターで修正した場合...ではアレクセイが 提案したテストを実行し...修正に失敗したら...ログを書き、ログに印刷する...
一般に、ResetLastError()...の間にエラーがないことが確認できる。そこに間違いはない。
ログです。
聞いていますよ。役に立たなかった。以下は、私の改造方法のコードの一部です。
エラー値がリセットされていることがよくわかります。そして、マーケット情報を取得する。テスターで修正した場合...ではアレクセイが 提案したテストを実行し...修正に失敗したら...ログを書き、ログに印刷する...
一般に、ResetLastError()...の間にエラーがないことが確認できる。そこに間違いはない。
ログです。
そういうことなんだ...。
Expert Advisorでは、このようにクラスメソ ッドを呼び出しています。
気になるクラスのピースはこちら。
これが私たちが欲しいログピースです。
説明しよう。変更は、fOrderModify()メソッドで行われる。本メソッド fOrderModify()の入力時には、本体の先頭にオーダーパラメータの現在値と新しい予定値が出力されます。見ることができます。
この作品は過去ログにあります。
パラメータがすべて異なることがおわかりいただけると思います。特に問題はないはずです。そういうことなんだ...。
Expert Advisorでは、このようにクラスメソッドを呼び出しています。
気になるクラスのピースはこちら。
これが私たちが欲しいログピースです。
Bidの意味がわからないのですが、注文が保留になっている場合、Bidはどうなるのでしょうか?
Bidは常にSellLimitより低いので、if(New_OOP < Bid)の行は決して真にならない......。...それぞれ、支障なく改造が実施されています。
エラー配列も作ってみてはどうでしょうか。変数_LastErrorには最後のエラーの番号が格納されることがドキュメントに白黒書かれています。そして、ResetLastError()関数でリセットされる。LastErrorの呼び出しの間にもうエラーがない場合、_LastErrorは最後のエラーの値を格納する。私のコードには、もうエラーはありませんでした。まあ、そういう問題じゃないんですけどね。
あなたは絶対に間違っています。最後のエラーは、多くの重要な機能でよくリセットされています。WinAPIでもそうなっています。
そのため、エラーコードが発生した直後にローカル変数 に保存し、多くの中間関数でこのシステム変数を10回クリアしてから使おうとしないことです。
申し訳ございませんが、SellLimitはdistを必要とします。
not if (New_OOP < Bid) continue; butif (New_OOP-dist*Point < Bid) continue;
どうしたらこのクソエラーを解消できる?もう、うんざりです。関数の入力パラメータを全てチェックしています。私の場合、今のところ、こんな感じです。
つまり、パラメータが変更されていなければ、変更する必要はないのです。今までやったことなかったけど、やってみようと思って...。
そして、このように注文変更メソッドにパラメータが渡されます。
ログにNw出力。
だから、ジャーナルは、修正:OK、しかし、その後...のように通知します。がエラーになる。どのパラメータも変更されていません。
注文は保留されています。そのため、オープン、ストップ、テイクプライスを変更することがあります。そしてこれは、私の理解では、ドキュメントと矛盾するものではありませんでした。
このようなことに遭遇したことがある人はいますか?どうすれば解決するのか?