エラー、バグ、質問 - ページ 1914 1...190719081909191019111912191319141915191619171918191919201921...3185 新しいコメント Aleksei Beliakov 2017.06.23 17:20 #19131 nys2000: もう少し具体的に教えてください。一からやり直す Vladimir 2017.06.23 17:24 #19132 nys2000: もう少し具体的に教えてください。for(i=1; i <=OrdersTotal(); i++) このリストの注文は、0からOrdersTotal()-1まで(Artem Trishkinに許してもらおう、ちょうどnys2000の待ち時間が短くなった)、包括的に番号が付けられている。 Yaroslav Nakonechnyi 2017.06.23 17:26 #19133 Aleksei Beliakov: 一からやり直すこの2つは同等の選択肢です。If for (i=1...) thenOrderSelect(i-1,...), if for (i=0,...) - OrderSelect(i,...). Yaroslav Nakonechnyi 2017.06.23 17:30 #19134 Vladimir: for(i=1; i <=OrdersTotal(); i++) このリストの注文は、0からOrdersTotal()-1まで(Artem Trishkinに許してもらおう、ちょうどnys2000の待ち時間が短くなった)、包括的に番号が付けられている。ありがとうございます。しかし、OrderSelect(i-1,...)では0からOrdersTotal()-1までの注文番号が考慮されます。 Aleksei Beliakov 2017.06.23 17:33 #19135 int OrdersTotalT(int _type) { int _total=0; for(int cnt=OrdersTotal()-1;cnt>=0;cnt--) { bool select=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if(OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol() && OrderType()==_type) { _total++; } } return(_total); } Vladimir Pastushak 2017.06.23 19:09 #19136 nys2000: ありがとうございます。しかし、0からOrdersTotal()-1までの注文の番号付けは、OrderSelect(i-1,...)で説明されているのです。検索の逆順で行う ... Kirill Belousov 2017.06.23 20:34 #19137 nys2000:こんな感じの簡単なコードです。 機能を開始した時点では、2つのBuyポジションが開いています。この関数は、2つのオーダーの存在を、Passage 1, Passage 2の2回に分けて表示します。コメントを削除して、再度関数を実行します。勢いよく1枚の買い注文を取り下げ、「Passage #1」を宣言してループを抜ける。Passage #2 "のメッセージは表示されません。マジックとは何でしょうか? 1. i=1では、オーダーを計算した ...check condition 1<= 2 ?はい。選択し、注文を終了した。2. i++ (i=2)3.OrdersTotal()=1<----------ループ内で注文を閉じることで、実際にループを抜ける条件を変更した4.2<=1 ? no <----------- ここであなたの "マジック "とそれに応じてループから終了します。void CloseAllOrders() { bool Ans; int total=OrdersTotal(); for(int i=1; i <=total; i++) { Print("Проход № ", i); if (OrderSelect(i-1,SELECT_BY_POS)==true) { if (OrderSymbol() != Symbol()) continue; if (OrderType()==0) { // Ans=OrderClose(OrderTicket(),OrderLots(), NormalizeDouble(Bid,Digits),25); } if (OrderType()==1) { // Ans=OrderClose(OrderTicket(),OrderLots(), NormalizeDouble(Ask,Digits),25); } } } return; } Konstantin 2017.06.26 16:06 #19138 CHART_WINDOW_HANDLE チャート ID が追加された理由とその目的 削除済み 2017.06.26 18:14 #19139 Konstantin:CHART_WINDOW_HANDLE チャート ID が追加された理由とその目的 チャートIDはmql環境用、HWNDはwinapi用と仮定して説明します。 A100 2017.06.26 22:39 #19140 実行中のエラーint f( int t ) { union U { U( int t ) : t1( t ) {} int t2; int t1; }; U u( t ); return u.t2; } void OnStart() { Print( f( 3 )); } 結果:乱数(3でないことは確実) 1...190719081909191019111912191319141915191619171918191919201921...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
もう少し具体的に教えてください。
一からやり直す
もう少し具体的に教えてください。
一からやり直す
この2つは同等の選択肢です。If for (i=1...) thenOrderSelect(i-1,...), if for (i=0,...) - OrderSelect(i,...).
for(i=1; i <=OrdersTotal(); i++) このリストの注文は、0からOrdersTotal()-1まで(Artem Trishkinに許してもらおう、ちょうどnys2000の待ち時間が短くなった)、包括的に番号が付けられている。
ありがとうございます。しかし、OrderSelect(i-1,...)では0からOrdersTotal()-1までの注文番号が考慮されます。
ありがとうございます。しかし、0からOrdersTotal()-1までの注文の番号付けは、OrderSelect(i-1,...)で説明されているのです。
検索の逆順で行う ...
こんな感じの簡単なコードです。
機能を開始した時点では、2つのBuyポジションが開いています。この関数は、2つのオーダーの存在を、Passage 1, Passage 2の2回に分けて表示します。
コメントを削除して、再度関数を実行します。勢いよく1枚の買い注文を取り下げ、「Passage #1」を宣言してループを抜ける。Passage #2 "のメッセージは表示されません。
マジックとは何でしょうか?
1. i=1では、オーダーを計算した ...check condition 1<= 2 ?はい。選択し、注文を終了した。
2. i++ (i=2)
3.OrdersTotal()=1<----------ループ内で注文を閉じることで、実際にループを抜ける条件を変更した
4.2<=1 ? no <----------- ここであなたの "マジック "とそれに応じてループから終了します。
CHART_WINDOW_HANDLE チャート ID が追加された理由とその目的
CHART_WINDOW_HANDLE チャート ID が追加された理由とその目的
実行中のエラー
結果:乱数(3でないことは確実)