MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1720 1...171317141715171617171718171917201721172217231724172517261727...1953 新しいコメント EVGENII SHELIPOV 2021.11.06 10:46 #17191 MakarFX #: ペンタを検索するコードに誤りがあるのではなく、最も可能性が高いのは、本文中の情報の出力に誤りがあることです。 私たちは、コードに誤りがあるなどとは一言も言っていません。もう一度言いますが、このコードは新しい最大注文が開かれたときに動作し、そうでないときは、Expert Advisorは最後尾の注文=最後の注文と見なします。以上 EVGENII SHELIPOV 2021.11.06 10:52 #17192 MakarFX #: エラーは、ペナントの検索コードではなく、情報をテキストに出力する際に発生する可能性が高いです マカー、なぜハイライトした状態がうまくいかないのですか? //+----------------------------------------------------------------------------+ //| Расчет тикета предпоследнего ордера в сетке | //+----------------------------------------------------------------------------+ int GetTicketPenultimateOrder() { penultimate_ticket = 0; { for(int cnt = OrdersTotal() - 1; cnt >= 0; cnt--) { if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES)) { if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if(OrderType() == OP_BUY || OrderType() == OP_SELL) { if(OrderTicket() > penultimate_ticket) if(penultimate_ticket < GetTicketMaxOrder()) penultimate_ticket = OrderTicket(); } } } } } return(penultimate_ticket); } Tretyakov Rostyslav 2021.11.06 10:59 #17193 EVGENII SHELIPOV #:マカー、ハイライトした条件がうまくいかない理由を教えてくれ。この行で、最大のチケットを見つけることができますif(OrderTicket() > penultimate_ticket)で、この行では、最大値を比較していますね。if(penultimate_ticket < GetTicketMaxOrder()) 仍って斯くや Tretyakov Rostyslav 2021.11.06 11:01 #17194 EVGENII SHELIPOV #:私たちは、コードに誤りがあるなどとは一言も言っていません。もう一度言いますが、このコードは新しい最大注文が開かれたときに動作し、そう でないときは、Expert Advisorは最後尾の注文=最後の注文と見なします。以上 EAを再起動した場合のみ発生します。 EVGENII SHELIPOV 2021.11.06 11:12 #17195 MakarFX #:EAを再起動した場合のみです。 いや、マカー、ここを見てくれ、最後のオーダーの変数と関数をモニターに置いたんだ ObjectCreate("signal400",OBJ_LABEL,0,0,0,0,0); ObjectSet("signal400",OBJPROP_XDISTANCE,100); ObjectSet("signal400",OBJPROP_YDISTANCE,740); ObjectSetText("signal400",DoubleToString(FindPenultimateLots(),2),14,"Tahoma", clrRed); ObjectCreate("signal401",OBJ_LABEL,0,0,0,0,0); ObjectSet("signal401",OBJPROP_XDISTANCE,200); ObjectSet("signal401",OBJPROP_YDISTANCE,740); ObjectSetText("signal401",DoubleToString(prev_ticket,0),14,"Tahoma", clrRed); EVGENII SHELIPOV 2021.11.06 11:16 #17196 MakarFX #:この線上に最大券面があると、この行で最大値を比較するのです。 仍って斯くや さて、この機能でスキャンしたチケットはすべて、どのようにすれば (OrderTicket() に相当するチケットを削除します。 GetTicketMaxOrder() Alexey Viktorov 2021.11.06 11:18 #17197 EVGENII SHELIPOV #:マカー、なぜハイライトされた条件がうまくいかないのか教えてくれ//+----------------------------------------------------------------------------+ //| Расчет тикета предпоследнего ордера в сетке | //+----------------------------------------------------------------------------+ int GetTicketPenultimateOrder() { penultimate_ticket = 0; { for(int cnt = OrdersTotal() - 1; cnt >= 0; cnt--) { if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES)) { if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if(OrderType() == OP_BUY || OrderType() == OP_SELL) { if(OrderTicket() > penultimate_ticket) if(penultimate_ticket < GetTicketMaxOrder()) penultimate_ticket = OrderTicket(); } } } } } return(penultimate_ticket); } ユージン、チケットの変数はどこで変わるんだ?それとも、1回の注文で全ループが動くのでしょうか? Tretyakov Rostyslav 2021.11.06 11:22 #17198 Alexey Viktorov #:ユージン、チケットの変数はどこで変わるんだ?それとも、1回の注文で全ループが動くのでしょうか? 私はすでに彼に手紙を書き ました Tretyakov Rostyslav 2021.11.06 11:25 #17199 EVGENII SHELIPOV #:いや、マカー、ここを見てくれ、最後のオーダーの変数と関数をモニターに置いたんだ EA再起動時にprev_ticketはリセットされる EVGENII SHELIPOV 2021.11.06 11:45 #17200 MakarFX #:もう一度...作業用コードを渡しました!テスターにかけ、ボタンを押す。 それを見るには、注文をクローズさせる必要がありますが、このEAではそれができません。そして、全ての問題はMAXオーダーが終了した後に発生します 1...171317141715171617171718171917201721172217231724172517261727...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ペンタを検索するコードに誤りがあるのではなく、最も可能性が高いのは、本文中の情報の出力に誤りがあることです。
私たちは、コードに誤りがあるなどとは一言も言っていません。もう一度言いますが、このコードは新しい最大注文が開かれたときに動作し、そうでないときは、Expert Advisorは最後尾の注文=最後の注文と見なします。以上
エラーは、ペナントの検索コードではなく、情報をテキストに出力する際に発生する可能性が高いです
マカー、なぜハイライトした状態がうまくいかないのですか?
マカー、ハイライトした条件がうまくいかない理由を教えてくれ。
この行で、最大のチケットを見つけることができます
if(OrderTicket() > penultimate_ticket)
で、この行では、最大値を比較していますね。
if(penultimate_ticket < GetTicketMaxOrder())
仍って斯くや私たちは、コードに誤りがあるなどとは一言も言っていません。もう一度言いますが、このコードは新しい最大注文が開かれたときに動作し、そう でないときは、Expert Advisorは最後尾の注文=最後の注文と見なします。以上
EAを再起動した場合のみ発生します。
EAを再起動した場合のみです。
いや、マカー、ここを見てくれ、最後のオーダーの変数と関数をモニターに置いたんだ
この線上に最大券面がある
と、この行で最大値を比較するのです。
仍って斯くやさて、この機能でスキャンしたチケットはすべて、どのようにすれば
に相当するチケットを削除します。
GetTicketMaxOrder()
マカー、なぜハイライトされた条件がうまくいかないのか教えてくれ
ユージン、チケットの変数はどこで変わるんだ?それとも、1回の注文で全ループが動くのでしょうか?
ユージン、チケットの変数はどこで変わるんだ?それとも、1回の注文で全ループが動くのでしょうか?
いや、マカー、ここを見てくれ、最後のオーダーの変数と関数をモニターに置いたんだ
もう一度...作業用コードを渡しました!
テスターにかけ、ボタンを押す。
それを見るには、注文をクローズさせる必要がありますが、このEAではそれができません。そして、全ての問題はMAXオーダーが終了した後に発生します