MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1682 1...167516761677167816791680168116821683168416851686168716881689...1953 新しいコメント Nerd Trader 2021.10.18 22:25 #16811 少し作り直し、メインのforループの代わりにwhileを行うようにしましたが、それでも2番目のネストされたループで最初の条件が発生しません! int GetMagic(Order &order) { int magic = 0; int unique = 0; if(order.cmd == OP_SELLSTOP || order.cmd == OP_BUYSTOP){ if(OrdersTotal()){ do{ magic++; for(int i = OrdersTotal(); i > 0 ; i --){ if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){ Print( "!!!!!!!!!!!!!!!!!!!");//<----------НЕ ПРИНТУЕТСЯ if(magic != OrderMagicNumber()) unique ++; } } }while(unique < OrdersTotal()); }else return (magic + 1); } return magic; } Vitaly Muzichenko 2021.10.18 22:49 #16812 MakarFX #:そうなんですか!))試してみましたか? 私は長い間、色の変化をそのように動作させてきましたが、ライン上では、違いはないはずですが、そうではありません if(SymOpen < SymClose) { CColor=Mirroring?BearBarColor:BullBarColor; SetIndexStyle(32+(num*8),DRAW_HISTOGRAM,STYLE_SOLID,Mirroring?1:WidthOC,CColor); SetIndexLabel(32+(num*8), SubSymbol); SetIndexStyle(33+(num*8),DRAW_HISTOGRAM,STYLE_SOLID,Mirroring?WidthOC:1,CColor); SetIndexLabel(33+(num*8), SubSymbol); SetIndexStyle(34+(num*8),DRAW_HISTOGRAM,STYLE_SOLID,Mirroring?WidthOC:1,CColor); SetIndexLabel(34+(num*8), SubSymbol); SetIndexStyle(35+(num*8),DRAW_HISTOGRAM,STYLE_SOLID,Mirroring?1:WidthOC,CColor); SetIndexLabel(35+(num*8), SubSymbol); PS.私の他のコードを見てみると、そこの線の色が変わっています。 SetIndexStyle(num,DRAW_LINE,STYLE_SOLID,1,BullColor); Tretyakov Rostyslav 2021.10.18 23:01 #16813 Vitaly Muzichenko #:私は長い間、カラーチェンジがそのように動作していましたが、ライン上では、違いはないはずですが、そうではありませんPS.私の他のコードを見てみると、線の色が変わっています。 SetIndexStyle(num,DRAW_LINE,STYLE_SOLID,1,BullColor); 目的の部分ではなく、行全体を変更します Vitaly Muzichenko 2021.10.18 23:02 #16814 MakarFX #:右側部分ではなく、行全体を変更します まあ、行を全部変えないといけないと書いてありましたが Nerd Trader 2021.10.18 23:06 #16815 そこで、テスト用のコードを適応して、実行してみると、2次で無限ループになる :( ファイル: endless_cycle.mq4 2 kb Vitaly Muzichenko 2021.10.18 23:13 #16816 Nerd Trader #: そこで、テスト用のコードを適応して、実行してみると、2次で無限ループになる :( どうなんだろう!?なぜ? なぜこれが、どんな神聖な意味を持っているのか。 int GetMagic(Order &order) { int magic = 0; int unique = 0; if(order.cmd == OP_SELLSTOP || order.cmd == OP_BUYSTOP){ if(OrdersTotal()){ do{ magic++; for(int i = OrdersTotal(); i > 0 ; i --){ if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){ Print( "!!!!!!!!!!!!!!!!!!!");//<----------НЕ ПРИНТУЕТСЯ if(magic != OrderMagicNumber()) unique ++; } } }while(unique < OrdersTotal()); }else return (magic + 1); } return magic; } --- 番号で検索しているのだから、番号で検索してください。 2つの令状があれば、彼はそれを調べますが、3つ目や23つ目を見つけることができません。 --- 課題がはっきりしていないようなので、その解決策です。 Aleksei Stepanenko 2021.10.18 23:18 #16817 Nerd Trader #: ループが正しく設定されていない。 for(int i = OrdersTotal(); i > 0 ; i --){ はこうでなければならない。 for(int i = OrdersTotal()-1; i >= 0 ; i --){ Nerd Trader 2021.10.18 23:42 #16818 Aleksei Stepanenko #:ループが正しく設定されていない。はこうでなければならない。 はい!うまくいきました。しかし、なぜ以前はまだ2番目のループを入力し、私は次の行を挿入した場合Print() - それは(無限)実行されますが、先に行くことはありません?いずれにせよ、ありがとうございます。これで少なくとも寝ることができます。 Nerd Trader 2021.10.18 23:44 #16819 Vitaly Muzichenko #:どうなんだろう!?なぜ?なぜこれが、どんな神聖な意味を持っているのか。---番号で検索しているのだから、番号で検索してください。2つの令状があれば、彼はそれを調べますが、3つ目や23つ目を見つけることができません。---課題がはっきりしていないようなので、その解決策です。 ただ、そのマジクがユニークでなければならない、つまり他と一致するものがあってはならないのです。 Valeriy Yastremskiy 2021.10.19 08:23 #16820 Aleksei Stepanenko #:ループが正しく設定されていない。はこうでなければならない。 何が違うの?また、オーダーナンバリングは1ではなく0からではないでしょうか? 1...167516761677167816791680168116821683168416851686168716881689...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
そうなんですか!))
試してみましたか?
私は長い間、色の変化をそのように動作させてきましたが、ライン上では、違いはないはずですが、そうではありません
PS.私の他のコードを見てみると、そこの線の色が変わっています。
私は長い間、カラーチェンジがそのように動作していましたが、ライン上では、違いはないはずですが、そうではありません
PS.私の他のコードを見てみると、線の色が変わっています。
目的の部分ではなく、行全体を変更します
右側部分ではなく、行全体を変更します
まあ、行を全部変えないといけないと書いてありましたが
そこで、テスト用のコードを適応して、実行してみると、2次で無限ループになる :(
どうなんだろう!?なぜ?
なぜこれが、どんな神聖な意味を持っているのか。
---
番号で検索しているのだから、番号で検索してください。
2つの令状があれば、彼はそれを調べますが、3つ目や23つ目を見つけることができません。
---
課題がはっきりしていないようなので、その解決策です。
ループが正しく設定されていない。
はこうでなければならない。
ループが正しく設定されていない。
はこうでなければならない。
どうなんだろう!?なぜ?
なぜこれが、どんな神聖な意味を持っているのか。
---
番号で検索しているのだから、番号で検索してください。
2つの令状があれば、彼はそれを調べますが、3つ目や23つ目を見つけることができません。
---
課題がはっきりしていないようなので、その解決策です。
ループが正しく設定されていない。
はこうでなければならない。
何が違うの?また、オーダーナンバリングは1ではなく0からではないでしょうか?