EAに必要な簡単なコード(2つのオープンオーダーの修正) - ページ 5 12345 新しいコメント 削除済み 2012.04.09 14:04 #41 deVries: 同じpipの売りと買いの取引でStopLossを変更するようにしたいですか? もしそれがあなたの望むことで、なぜそのように修正されないのかを理解できるのであれば、もう一度考えてみてください...。 また、正しい方向への新しいポイントごとにトレードを修正しないでください。修正できるようにtrailingstepを選択してください(xxポイントでは、tradecontext too busyエラーの多くを避けるために10以上を選択することができます)。 "!" はコーディングにないようなものです。 現時点では、両方の取引でTakeProfitだけを変更し、StopLossは取引全体を通して同じにしたいのです(現在のテストでは、とにかく)。 Simon Gniadkowski 2012.04.09 17:06 #42 OK、問題が見つかりました ... ... スプレッドはポイントの数として返されます ... ... だから、これらの行を変更します ... ... if(OrderTakeProfit() > Candle23Open - ((TakeProfitModified - 1) * Point) + Spread ) // check if TakeProfit has already been modified if(!OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), Candle23Open - (TakeProfitModified * Point) + Spread, 0, Blue)) をこれに変更します. if(OrderTakeProfit() > Candle23Open + ((Spread - TakeProfitModified + 1 ) * Point) ) // check if TakeProfit has already been modified if(!OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), Candle23Open + ((Spread - TakeProfitModified) * Point) , 0, Blue)) 削除済み 2012.04.17 09:45 #43 RaptorUK:OK、問題が見つかりました ... ...スプレッドがポイント数として返される ... ...だから、これらの行を変更する .. .をこれに変更します. それはそれが動作するようになります、ありがとうございます買い取引と売り取引の両方が修正されるようになりましたが、何らかの理由で取引中に数回修正され、テイクプロフィットが 入力が必要とするものよりも遠くに行くことがあるようです。これは2時や7時のような全体の時間に起こるようです。なぜこのようなことが起こるのかよく分かりませんが、ひょっとしてスプレッドが常に変化していることと関係があるのでしょうか?買いと売りの両方の取引で起こるので、スプレッドが原因ではないと思っています。唯一考えられるのは、23:00のローソク足が変化しているように見えることですが、それでは意味がありませんし、どのようにテストしたらよいのかもわかりません。 Simon Gniadkowski 2012.04.17 10:40 #44 あちこちにPrint文を追加して、変数が何をしているかを表示させれば、何が間違っているのかがわかり、それを修正することができます。 削除済み 2012.04.18 13:37 #45 これを使おうとしています。 Print(Open [iBarShift(NULL, 0, StrToTime("23:00") )]); バーのオープン価格が 変更されるかどうかを確認するために、しかし、それは毎回ランダムな時間を印刷しているようです。 また、ある日の取引は、何が起こっているかに関係なく22:59に取引を終了するクローズオールルールに従わないことに気づきました、私はこれが動作しなくなったと思います。 私はこれを使っています if (TimeDayOfWeek(TimeCurrent())==5 && TimeCurrent()>=StrToTime("22:59")) { CloseAll(); return(0); } とこれ void CloseAll() { for(int cnt=OrdersTotal()-1;cnt>=0;cnt--) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if (OrderMagicNumber()!=MagicNumber) continue; // // // // // if (OrderType()==OP_BUY || OrderType()==OP_SELL) { for(int c=0; c<3; c++) { RefreshRates(); if (OrderType()==OP_BUY) { double cp = Bid;} else { cp = Ask;} OrderClose(OrderTicket(),OrderLots(),cp,0,Yellow); int err=GetLastError(); if(err==4 || err==136 || err==137 || err==138 || err==146) { Sleep(5000); continue; } break; } break; 指定した時刻に取引を終了させるため。 Keith Watford 2020.05.18 20:23 #46 大文字で書かれた投稿が削除 されました。 大文字を多用した投稿は、怒鳴り声とみなされ、大変失礼にあたりますので、おやめください。 12345 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
同じpipの売りと買いの取引でStopLossを変更するようにしたいですか?
もしそれがあなたの望むことで、なぜそのように修正されないのかを理解できるのであれば、もう一度考えてみてください...。
また、正しい方向への新しいポイントごとにトレードを修正しないでください。修正できるようにtrailingstepを選択してください(xxポイントでは、tradecontext too busyエラーの多くを避けるために10以上を選択することができます)。
"!" はコーディングにないようなものです。
OK、問題が見つかりました ... ... スプレッドはポイントの数として返されます ... ...
だから、これらの行を変更します ... ...
をこれに変更します.
OK、問題が見つかりました ... ...スプレッドがポイント数として返される ... ...
だから、これらの行を変更する .. .
をこれに変更します.
それはそれが動作するようになります、ありがとうございます買い取引と売り取引の両方が修正されるようになりましたが、何らかの理由で取引中に数回修正され、テイクプロフィットが 入力が必要とするものよりも遠くに行くことがあるようです。これは2時や7時のような全体の時間に起こるようです。なぜこのようなことが起こるのかよく分かりませんが、ひょっとしてスプレッドが常に変化していることと関係があるのでしょうか?買いと売りの両方の取引で起こるので、スプレッドが原因ではないと思っています。唯一考えられるのは、23:00のローソク足が変化しているように見えることですが、それでは意味がありませんし、どのようにテストしたらよいのかもわかりません。
これを使おうとしています。
バーのオープン価格が 変更されるかどうかを確認するために、しかし、それは毎回ランダムな時間を印刷しているようです。
また、ある日の取引は、何が起こっているかに関係なく22:59に取引を終了するクローズオールルールに従わないことに気づきました、私はこれが動作しなくなったと思います。
私はこれを使っています
とこれ
指定した時刻に取引を終了させるため。
大文字で書かれた投稿が削除 されました。
大文字を多用した投稿は、怒鳴り声とみなされ、大変失礼にあたりますので、おやめください。