[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 39 1...323334353637383940414243444546...631 新しいコメント Paladin80 2012.04.02 09:30 #381 artem86: お願いします。5つの保留注文を同じマジックで決済する方法。 ありがとうございました。 if (OrdersTotal()>0) { for (int i=OrdersTotal()-1; i>=0; i--) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { if(OrderMagicNumber()==magic_number) { if (OrderClose(OrderTicket(),LOT,price,3)==true) { Print("Error = ",GetLastError()); return(0); } } } } } これらの注文がすべて売りで出された場合、価格=Ask、買いの場合、価格=Bidと なります。 Alekseu Fedotov 2012.04.02 09:44 #382 paladin80: 売り注文の場合は価格=Ask、買い注文の場合は価格=Bidとなります。 間違っている、あなたがすべき if (OrdersTotal()>0) { for (int i=OrdersTotal()-1; i>=0; i--) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { if(OrderMagicNumber()==magic_number) { if (OrderDelete(OrderTicket())==true) { Print("Error = ",GetLastError()); return(0); } } } } } Paladin80 2012.04.02 10:15 #383 r772ra: 間違っている、あなたがしなければならない しまった、保留中の注文を 閉じるべきだったことに気づかず、ポジションを閉じることを考えていた。 Роман 2012.04.02 10:30 #384 みんな - 私に教えて、テスターで、その後、手動で含む取引口座で取引するとき、それはそれが必要なボリュームによって開かれる間、オープンポジションの ボリュームをノーマライズすることが可能でないことが判明しました。例えば、私が0.1210ロットの注文を出すと、ターミナルは0.12で開きます。つまり、「余分な」端数部分はデフォルトで破棄されます。 これも端末の「バージョンアップ」なのか、もともと可能だったのか、アドバイスをお願いします。 私は前にボリュームの正規化のこの方法を使用しているが、私は私のOPSと注文が開き続けるのいずれかでこの点を逃し、Expert Advisorsタブは、ポジションを開く前に私に開かれる予備量、特に、0.121ロットを与える - 私は、デモ口座でこれをテストしています。 ロットの正規化機能。 //+------------------------------------------------------------------+ //| Нормализация лота | //+------------------------------------------------------------------+ double NormalizeLots(double lot) { double lotStep = MarketInfo(Symbol(), MODE_LOTSTEP); double lots = NormalizeDouble(lot / lotStep, 0) * lotStep; lots = MathMax(lots, MarketInfo(Symbol(), MODE_MINLOT)); lots = MathMin(lots, MarketInfo(Symbol(), MODE_MAXLOT)); return (lots); } EAスタートから呼び出す。 // ---------НОРМАЛИЗУЕМ НОВЫЕ РАСЧЕТНЫЕ ЛОТЫ И ОТКРЫВАЕМ ОЧЕРЕДНУЮ ПОЗИЦИЮ... Lots_New = NormalizeLots(Lots_New); if (lastType == OP_SELL) WmOrderSend(Symbol(), OP_BUY, Lots_New, Ask, 0, 0, "итерация" , MagicNumber); if (lastType == OP_BUY) WmOrderSend(Symbol(), OP_SELL,Lots_New, Bid, 0, 0, "итерация" , MagicNumber); 誰がそれを認識している - コメント、plz... P.S. 再度確認したところ、どうやら0.1466のボリュームを開こうとすると、0.14を開く、つまり小数点以下の第2記号の右側をすべて拒否する状況があるようです。 正規化すると、0.15ロット-つまり四捨五入で開くようです。 調べてみないと...。 P.P.S. All same:Who knows - comment, please... игорь 2012.04.02 10:46 #385 クソ無視。 Elena Selezneva 2012.04.02 11:22 #386 HELP...PLEASE...Expert Advisorをデモとリアル口座で動かしていますが、次のティックで開始されますと表示されます。ティックは来ますが、「EAを取引可能にする」オプションはチェックされていて、EAも有効になっており、ログにエラーもなく、インターネットも機能して、他のEAも機能しています。このアドバイザーはテスターでは正常に機能しています。役立つとしたら: この記事から フィルタ機能をEAに追加したら起動しなくなりました --- 2012.04.02 11:31 #387 sellena: 参考になれば:この記事に あるフィルター機能を追加したらEAが起動しなくなりました もしよろしければ、ここで働いて いる人に声をかけてみてください。 Роман 2012.04.02 11:47 #388 sergeev: もしよろしければ、ここで働いて いる人に声をかけてみてください。 アレックス、時間があったら私の質問を見てください...。ありがとうございます。 Рустам 2012.04.02 11:56 #389 Roman.: アレックス、時間があったら私の質問を見てください...。ありがとうございます。 ひとつ言えるのは、すでに(別の機会に)サービスに問い合わせたところ、「 デフォルトに頼るのは有害だ、確かめたいなら独自のフィルタや処理を 使え」と言われました。 だから、あなた次第なんです...。 --- 2012.04.02 12:02 #390 Roman.: アレックス、時間があったら私の質問を見てください...。ありがとうございます。 。 FAQにちゃんと書いてある。デフォルト」に頼ってはいけない。というのも、オーダーを送る 前に正規化を行わないと、131エラー(ロット違い)がよく出た記憶があるからです。 たぶん、今のMMOは、執行のための注文を送るときに、サーバーのデフォルトのロットチェックを独自にやっているのだと思います。 ですから、送信前に必ずご自身で価格とロットの正規化を行う必要があります。 これはあなたにとって、良いコーディングのルールであり、将来起こりうる問題に対する手間を減らすための誓約でもあるのです。 1...323334353637383940414243444546...631 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
お願いします。5つの保留注文を同じマジックで決済する方法。
ありがとうございました。
売り注文の場合は価格=Ask、買い注文の場合は価格=Bidとなります。
間違っている、あなたがすべき
間違っている、あなたがしなければならない
みんな - 私に教えて、テスターで、その後、手動で含む取引口座で取引するとき、それはそれが必要なボリュームによって開かれる間、オープンポジションの ボリュームをノーマライズすることが可能でないことが判明しました。例えば、私が0.1210ロットの注文を出すと、ターミナルは0.12で開きます。つまり、「余分な」端数部分はデフォルトで破棄されます。
これも端末の「バージョンアップ」なのか、もともと可能だったのか、アドバイスをお願いします。
私は前にボリュームの正規化のこの方法を使用しているが、私は私のOPSと注文が開き続けるのいずれかでこの点を逃し、Expert Advisorsタブは、ポジションを開く前に私に開かれる予備量、特に、0.121ロットを与える - 私は、デモ口座でこれをテストしています。
ロットの正規化機能。
EAスタートから呼び出す。
誰がそれを認識している - コメント、plz...
P.S. 再度確認したところ、どうやら0.1466のボリュームを開こうとすると、0.14を開く、つまり小数点以下の第2記号の右側をすべて拒否する状況があるようです。
正規化すると、0.15ロット-つまり四捨五入で開くようです。
調べてみないと...。
P.P.S. All same:Who knows - comment, please...
クソ無視。
参考になれば:この記事に あるフィルター機能を追加したらEAが起動しなくなりました
もしよろしければ、ここで働いて いる人に声をかけてみてください。
もしよろしければ、ここで働いて いる人に声をかけてみてください。
アレックス、時間があったら私の質問を見てください...。ありがとうございます。
ひとつ言えるのは、すでに(別の機会に)サービスに問い合わせたところ、「 デフォルトに頼るのは有害だ、確かめたいなら独自のフィルタや処理を 使え」と言われました。 だから、あなた次第なんです...。
アレックス、時間があったら私の質問を見てください...。ありがとうございます。 。
FAQにちゃんと書いてある。デフォルト」に頼ってはいけない。というのも、オーダーを送る 前に正規化を行わないと、131エラー(ロット違い)がよく出た記憶があるからです。
たぶん、今のMMOは、執行のための注文を送るときに、サーバーのデフォルトのロットチェックを独自にやっているのだと思います。
ですから、送信前に必ずご自身で価格とロットの正規化を行う必要があります。
これはあなたにとって、良いコーディングのルールであり、将来起こりうる問題に対する手間を減らすための誓約でもあるのです。