どのデザインが正しいのでしょうか? - ページ 6 12345678 新しいコメント Vladyslav Goshkov 2010.06.16 10:35 #51 valenok2003: while コードでは、スレッドがビジー状態である間だけ遅延させる。 そして、RefreshRates()というレート更新が必要です。そうでなければ、古いascとbidの値を使用することになります。または、MarketInfoでascanthusbidを尋ねてください。 Sergey Guliaev 2010.06.16 10:44 #52 VladislavVG: そして、RefreshRates()というレート更新が必要です。そうでない場合は、古いAskとBidの値を使用することになります。または、MarketInfoでお尋ねください。 そこで、犬が活躍するわけです。 この設計が功を奏した。 //+------------------------------------------------------------------+ //| CloseThisSymbolAll.mq4 | //+------------------------------------------------------------------+ int start() { //---- for (int trade = OrdersTotal()-1; trade >= 0; trade--) { OrderSelect(trade, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol()) { while (!IsTradeAllowed()) Sleep(1000); RefreshRates(); if(OrderType() == OP_BUY ) OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Bid,Digits), 5, CLR_NONE); if(OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Ask,Digits), 5, CLR_NONE); } } //---- return(0); } //+------------------------------------------------------------------+ 少なくとも、1回目はちゃんと動いたんですよ。 ありがとうございました。 [Deleted] 2010.06.16 10:48 #53 VladislavVG: そして、RefreshRates()というレート更新が必要です。そうでなければ、古いascとbidの値を使用することになります。またはMarketInfoでascanthusbidを尋ねてください。 ありがとうございました。 私のEAでも修正します。 Vladyslav Goshkov 2010.06.16 10:54 #54 valenok2003: そこで、犬の出番です。 これを実現するのが、このデザインです。 少なくとも、1回目はちゃんと動いたんですよ。 あと一歩のところで、もう一つの条件を修正する必要があります。 for (int trade = OrdersTotal()-1; trade >= 0; trade--) { if(!OrderSelect(trade, SELECT_BY_POS, MODE_TRADES)) break; ........................... オーダーが出なければ、どうしようもない。頑張ってください。 Sergey Guliaev 2010.06.16 10:59 #55 VladislavVG: あと一歩のところで、もう一つの条件を修正する必要があります。 令状が出なければ、何もできない。 そうですね、納得です。ループからの見落としがあります while(OrdersTotal()>0) khorosh 2010.06.16 10:59 #56 valenok2003: 5 そこではスリッページ=5で、5桁の相場では物足りないということでしたね。 Sergey Guliaev 2010.06.16 11:07 #57 というわけで、まとめると。 //+------------------------------------------------------------------+ //| CloseThisSymbolAll.mq4 | //+------------------------------------------------------------------+ int start() { //---- for (int trade = OrdersTotal()-1; trade >= 0; trade--) { if(!OrderSelect(trade, SELECT_BY_POS, MODE_TRADES)) break; if (OrderSymbol() == Symbol()) { while (!IsTradeAllowed()) Sleep(1000); RefreshRates(); if(OrderType() == OP_BUY ) OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Bid,Digits), slippage, CLR_NONE); if(OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Ask,Digits), slippage, CLR_NONE); } } //---- return(0); } //+------------------------------------------------------------------+ または、他にコメントはありませんか? Sergey Guliaev 2010.06.16 11:08 #58 khorosh: そこではスリッページ=5で、5桁の相場では物足りないということでしたね。 比較的落ち着いた市場であれば、5台で十分だと思います。 Vladislav Andruschenko 2010.06.16 11:16 #59 一時期、コードベースは異なるタイプを閉じるために独自のセットを発行していました。 ファイル: expo-ucloseupacknv3.rar 40 kb Vladislav Andruschenko 2010.06.16 11:17 #60 https://www.mql5.com/ru/code/mt4 12345678 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
while コードでは、スレッドがビジー状態である間だけ遅延させる。
そして、RefreshRates()というレート更新が必要です。そうでなければ、古いascとbidの値を使用することになります。または、MarketInfoでascanthusbidを尋ねてください。
そして、RefreshRates()というレート更新が必要です。そうでない場合は、古いAskとBidの値を使用することになります。または、MarketInfoでお尋ねください。
そこで、犬が活躍するわけです。
この設計が功を奏した。
少なくとも、1回目はちゃんと動いたんですよ。
ありがとうございました。
そして、RefreshRates()というレート更新が必要です。そうでなければ、古いascとbidの値を使用することになります。またはMarketInfoでascanthusbidを尋ねてください。
ありがとうございました。
私のEAでも修正します。
そこで、犬の出番です。
これを実現するのが、このデザインです。
少なくとも、1回目はちゃんと動いたんですよ。
オーダーが出なければ、どうしようもない。あと一歩のところで、もう一つの条件を修正する必要があります。
頑張ってください。
令状が出なければ、何もできない。あと一歩のところで、もう一つの条件を修正する必要があります。
5
というわけで、まとめると。
または、他にコメントはありませんか?
そこではスリッページ=5で、5桁の相場では物足りないということでしたね。