EAコード2の問題(SLマネージャー) - ページ 4 1234 新しいコメント Funky 2011.10.02 15:18 #31 diostar: しかし、先見の明に感謝します!これは、いくつかの援助を提供する可能性があります、私は願っています。 当初、私のシンボルは4桁、すべてのトレーリングストップ、ストップ/リミット注文の修正、予想通り行きました。 その後、私のブローカーは、小数にすることを決定しました。私は必要な変更を行い、私のピップが-3.4, -4.5, 0.1, 4.6, 7.3, etc.のようになったのを確認しました。 これは大丈夫だと思ったのですが、実はそうではありません。例えば、limit=7に設定し、新しいtick 1,tick 2,tick 3が順次発生したとします。 1) 7.3>limit の後、注文が修正され...ブローカーは1スリッページを埋め... 2) 7.5>limit, 次に注文が修正される...ブローカーはスリッページを0にする...。 3) 7.1>limit, then order is modified....broker fills 2 slippage off... というわけで、3つのティックについて3回注文が修正さ れることになる。このことに気づいたので、MathRound()を使って最も近い整数に丸めることにした。 1) mathround(7.3) =7 >限界、NOT TRUE、修正されない 2) mathround(7.5)=8 >limit, TRUE, 順序は変更される。 3) mathround(7.1)=7>limit, NOT TRUE, 修正なし 実は、私はまだ上記を改善する方法に取り組んでいます...今のところ、彼らは大丈夫ですが、私は私のものより、より良い方法があるはずだと思います。 素晴らしいDiostar、それは私にとって実際に非常に非常に有用な情報です、特に私が強調したそのビット。 だから私は私の問題を修正した場合、私が望むことができる最高のものです。 ギャップ 00、01、02 などで条件が満たされるたびに、それぞれのヘイを 1、2、3 (それぞれ) スクロールするのが精一杯です。つまり、gap 03で02,01,00、01,00,02、00,02,01と、すべての注文が変更されるまで変更されるのでしょうか? 私はそれらを前方にスクロールする場合は、同じことが、異なる順序など... でも、後であなたと同じことを発見して、それを強化したいと思うかもしれませんが、私は一度に1つの橋に取り組むことに満足しています...。先見の明に感謝します。 まだそのforumulaを試してみるところです... Funky 2011.10.04 11:04 #32 この式もうまくいきました。Diostarのサポートに感謝します。私はコードを学ぶためにずっと尻尾を追いかけていました。 Funky 2011.10.05 08:25 #33 いつものように、後知恵で別の解決策を考える方法ですが......。 ただ、私の学習のために、以下のブロックは、前に私の問題に対する代替回避策として働いていたでしょうか? //---------------------------old attempt where it spammed modifies-------------------------------------- //---------------------------I got around this problem another way before------------------------------- void ModifySellBlock() { for (int i=OrdersTotal()-1; i >= 0; i--) if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderType() == OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == SELL_Magic01) { double Level_00_SL = Bid + Stoploss_Level_00*PipValue*Point; if (Stoploss_Level_00 == 0) Level_00_SL = 0; double Level_00_TP = Bid - Takeprofit_Level_00*PipValue*Point; if (Takeprofit_Level_00 == 0) Level_00_TP = 0; bool ret00 = OrderModify(OrderTicket(), OrderOpenPrice(), Level_00_SL, Level_00_TP, 0, Modify_Order_Colour); if (ret00 == false) Print("OrderModify() error - ", ErrorDescription(GetLastError())); } } } //-----------------------------however I am wondering now that I have fixed it------------------ //------------------------------would this of worked below?------------------------------------- void ModifySellBlock() { int orderstotal = OrdersTotal(); int orders = 0; int ordticket[30][2]; for (int i = 0; i < orderstotal; i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if (OrderType() != OP_SELL || OrderSymbol() != Symbol() || OrderMagicNumber() != 1) { continue; } ordticket[orders][0] = OrderOpenTime(); ordticket[orders][1] = OrderTicket(); orders++; } if (orders > 1) { ArrayResize(ordticket,orders); ArraySort(ordticket); } for (i = 0; i < orders; i++) { if (OrderSelect(ordticket[i][1], SELECT_BY_TICKET) == true) { double Level_00_SL = Bid + Stoploss_Level_00*PipValue*Point; if (Stoploss_Level_00 == 0) Level_00_SL = 0; double Level_00_TP = Bid - Takeprofit_Level_00*PipValue*Point; if (Takeprofit_Level_00 == 0) Level_00_TP = 0; bool ret00 = OrderModify(OrderTicket(), OrderOpenPrice(), Level_00_SL, Level_00_TP, 0, Modify_Order_Colour); if (ret00 == false) Print("OrderModify() error - ", ErrorDescription(GetLastError())); } } } //--------------------------any problems with this block?---------------------------------------------- blackmore 2011.10.05 09:21 #34 //-----------------------------however I am wondering now that I have fixed it------------------ //------------------------------would this of worked below?------------------------------------- void ModifySellBlock() { int orderstotal = OrdersTotal(); int orders = 0; int ordticket[30][2];<-----then, arrayinitialize for (int i = 0; i < orderstotal; i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES);<-----if(orderselect... if (OrderType() != OP_SELL || OrderSymbol() != Symbol() || OrderMagicNumber() != 1) { continue; } ordticket[orders][0] = OrderOpenTime(); ordticket[orders][1] = OrderTicket(); orders++; } if (orders > 1)<----orders >0 { ArrayResize(ordticket,orders); ArraySort(ordticket); } for (i = 0; i < orders; i++) { if (OrderSelect(ordticket[i][1], SELECT_BY_TICKET) == true)<---if (OrderSelect(ordticket[i][1], SELECT_BY_TICKET) { double Level_00_SL = Bid + Stoploss_Level_00*PipValue*Point; if (Stoploss_Level_00 == 0) Level_00_SL = 0; double Level_00_TP = Bid - Takeprofit_Level_00*PipValue*Point; if (Takeprofit_Level_00 == 0) Level_00_TP = 0; can consider if(SL>0 || TP>0){ bool ret00 = OrderModify(OrderTicket(), OrderOpenPrice(), Level_00_SL, Level_00_TP, 0, Modify_Order_Colour); if (ret00 == false) Print("OrderModify() error - ", ErrorDescription(GetLastError())); } } } Funky 2011.10.07 14:32 #35 diostar: ディオスターにはお世話になりました。 当時は、このアイデアを思いつくだけの知識すらありませんでした。 今でもARRAYの作り方は勉強中なので、いくつかのコードから作り直したのですが...。 もしデータフローがEVERYTICKに送られるなら、全ての注文を選択して、一度だけ変更するコードのセクションを作るのがどれだけ大変だったか、正直言って信じられません...。 あなたの追加に時間を割いていただき、ありがとうございます。また、Diostar、私はあなたが前に言ったことに気づいていると信じています、私はそれが私のコードではなかったことを知っているので、先見の明に感謝します.... 私は、修正(*私が行っている#順序)を介してスクロールを参照してください、私はそれに来るスリッページに気づく... 私はそれを回避する場合は、あなたに通知されます、おそらく正直に言うと、開始として上記のコードで、再び感謝します;) blackmore 2011.10.07 17:46 #36 Funky: ディオスターにはお世話になりました。 当時は、このアイデアを思いつくだけの知識すらありませんでした。 今でもARRAYの作り方は勉強中なので、いくつかのコードから作り直したのですが...。 もしデータフローがEVERYTICKに送られるなら、全ての注文を選択して、一度だけ変更するコードのセクションを作るのがどれだけ大変だったか、正直言って信じられません...。 あなたの追加に時間を割いていただき、ありがとうございます。また、Diostar、私はあなたが前に言ったことに気づいていると信じています、私はそれが私のコードではなかったことを知っているので、先見の明に感謝します.... 私は、修正(*私が行っている#順序)を介してスクロールを参照してください、私はそれに来るスリッページに気づく... 私はそれを回避する場合は、あなたに通知されます、おそらく正直に言うと、開始として上記のコードで、再び感謝します;) どういたしまして。 スリッページは、スプレッドと同じように、どのような修正価格、sl、tpでも結果をオフクオートします。しかし、私はいつもスリッページゼロでordersend()しています、まだ。1,2ポイントあっても良いかもしれませんが、今のところ、良い感じです。 1234 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
しかし、先見の明に感謝します!これは、いくつかの援助を提供する可能性があります、私は願っています。
当初、私のシンボルは4桁、すべてのトレーリングストップ、ストップ/リミット注文の修正、予想通り行きました。 その後、私のブローカーは、小数にすることを決定しました。私は必要な変更を行い、私のピップが-3.4, -4.5, 0.1, 4.6, 7.3, etc.のようになったのを確認しました。 これは大丈夫だと思ったのですが、実はそうではありません。例えば、limit=7に設定し、新しいtick 1,tick 2,tick 3が順次発生したとします。
1) 7.3>limit の後、注文が修正され...ブローカーは1スリッページを埋め...
2) 7.5>limit, 次に注文が修正される...ブローカーはスリッページを0にする...。
3) 7.1>limit, then order is modified....broker fills 2 slippage off...
というわけで、3つのティックについて3回注文が修正さ れることになる。このことに気づいたので、MathRound()を使って最も近い整数に丸めることにした。
1) mathround(7.3) =7 >限界、NOT TRUE、修正されない
2) mathround(7.5)=8 >limit, TRUE, 順序は変更される。
3) mathround(7.1)=7>limit, NOT TRUE, 修正なし
実は、私はまだ上記を改善する方法に取り組んでいます...今のところ、彼らは大丈夫ですが、私は私のものより、より良い方法があるはずだと思います。
素晴らしいDiostar、それは私にとって実際に非常に非常に有用な情報です、特に私が強調したそのビット。
だから私は私の問題を修正した場合、私が望むことができる最高のものです。
ギャップ 00、01、02 などで条件が満たされるたびに、それぞれのヘイを 1、2、3 (それぞれ) スクロールするのが精一杯です。つまり、gap 03で02,01,00、01,00,02、00,02,01と、すべての注文が変更されるまで変更されるのでしょうか? 私はそれらを前方にスクロールする場合は、同じことが、異なる順序など...
でも、後であなたと同じことを発見して、それを強化したいと思うかもしれませんが、私は一度に1つの橋に取り組むことに満足しています...。先見の明に感謝します。
まだそのforumulaを試してみるところです...
いつものように、後知恵で別の解決策を考える方法ですが......。
ただ、私の学習のために、以下のブロックは、前に私の問題に対する代替回避策として働いていたでしょうか?
ディオスターにはお世話になりました。 当時は、このアイデアを思いつくだけの知識すらありませんでした。 今でもARRAYの作り方は勉強中なので、いくつかのコードから作り直したのですが...。
もしデータフローがEVERYTICKに送られるなら、全ての注文を選択して、一度だけ変更するコードのセクションを作るのがどれだけ大変だったか、正直言って信じられません...。
あなたの追加に時間を割いていただき、ありがとうございます。また、Diostar、私はあなたが前に言ったことに気づいていると信じています、私はそれが私のコードではなかったことを知っているので、先見の明に感謝します.... 私は、修正(*私が行っている#順序)を介してスクロールを参照してください、私はそれに来るスリッページに気づく... 私はそれを回避する場合は、あなたに通知されます、おそらく正直に言うと、開始として上記のコードで、再び感謝します;)
ディオスターにはお世話になりました。 当時は、このアイデアを思いつくだけの知識すらありませんでした。 今でもARRAYの作り方は勉強中なので、いくつかのコードから作り直したのですが...。
もしデータフローがEVERYTICKに送られるなら、全ての注文を選択して、一度だけ変更するコードのセクションを作るのがどれだけ大変だったか、正直言って信じられません...。
あなたの追加に時間を割いていただき、ありがとうございます。また、Diostar、私はあなたが前に言ったことに気づいていると信じています、私はそれが私のコードではなかったことを知っているので、先見の明に感謝します.... 私は、修正(*私が行っている#順序)を介してスクロールを参照してください、私はそれに来るスリッページに気づく... 私はそれを回避する場合は、あなたに通知されます、おそらく正直に言うと、開始として上記のコードで、再び感謝します;)
どういたしまして。 スリッページは、スプレッドと同じように、どのような修正価格、sl、tpでも結果をオフクオートします。しかし、私はいつもスリッページゼロでordersend()しています、まだ。1,2ポイントあっても良いかもしれませんが、今のところ、良い感じです。