-
スクリプトで助けが必要
1 Attachment(s)私は後ろにストップインプットを追加したいこのスクリプトを持っています。ピップをロックするA入力。例えば、私はTPを50ピップ、TSを20に設定したとします。市場が逆転したら5ピップスと言います。また、利益を出して市場を動かさなければならないピップの数を入力します。 。私は購入売りを持っていて、このジップですばやく逆戻りすることができます。誰かが少なくとも1つのプログラムをプログラムできれば、他のコードをコピーすることができます。私はsurこれにいくつかの助けを使用することができます。
どうもありがとう、
マイク
https://www.forexgroove.com/attachme...1352009601.zip
-
ここで私は最初の投稿で修正が必要なコードですが、これを使うことができました。私は誰もがそれを使って収益を上げることができると思います。マイクありがとうございました// -------------------------------------------- ----------------------------- /| IBFX - クイックBuy.mq4 |/ ----------------------------------------------- -------------------------- /---- int start(){/* --------- -------------------------------------------------- -------------- これらのスクリプトは高速で実行されるため、ユーザーの外部入力はありません。以下の設定を変更してから、ホットキーを割り当てて使用する前にスクリプトをコンパイルしてください。あなたがここでそれを変更した場合、すべてのスクリプトで同じようにmagicNumberが存在することは、すべてのスクリプトで必ず変更してください!変更が完了したら、COMPILEをクリックすることを忘れないでください!!! ------------------------------------------------- ------------------------ *int MagicNumber = 901;ダブルリスク= 2.0; int StopLoss = 0;/ピップ数:50ピップの場合は50です。 int ProfitTarget = 5;/ピップ数:50ピップの場合は50です。 intスリッパ= 1; bool MiniLots = True;/ブローカーは0.01ロットのようなミニマイクロロットを提供していますか?文字列解説= IBFX - クイック購入;文字列FontName = Arial; int FontSize = 12;/ ----------------------------------------------- -------------------------- /|このラインの下には何も修正しないでください!!! |/ ----------------------------------------------- -------------------------- ----開始する前にいくつかのチェックがあったらif(!IsConnected()){Alert(解説 - 接続なし!!); return(0); }/----特定のVars intアクション= OP_BUY; double InitPrice = Ask;/----グローバル変数bool Done = False; string Symbole =シンボル(); intチケット= 0; int ErrorCode = 0; double MaxLots = MarketInfo(シンボル、MODE_MAXLOT);ダブルロット= MM(シンボル、リスク、ミニロット);/----注文を出しましょう。 while(!完了){double FillPrice = Ask; double StopPrice = Bid; if(MathAbs(InitPrice - FillPrice)gt; Slippage * Point){Done = true; }コメント(IBFX - QuickBuy |長い注文をする、しばらくお待ちください...);待つ(); Ticket = OrderSend(Symbole、Action、Lots、FillPrice、Slippage * Point、StopLong(StopPrice、StopLoss)、TakeLong(FillPrice、ProfitTarget)、Commentary、MagicNumber、0、CLR_NONE); if(Ticket gt; = 0){Done = true; } else {ErrorCode = GetLastError(); if(ErrorCode == 4109){Alert(注釈 - ライブ取引を許可していない!); Done = true; } else if(ErrorCode == 134){警告(注釈 - 不十分なお金!); Done = true; }} else if(ErrorCode == 138 || ErrorCode == 136 || ErrorCode == 135){Alert(注釈 -RototeSlippage、再度スクリプトを実行する); Done = true; } else {警告(注釈 エラー: ErrorCode); }}}コメント();/---- return(0); }/ ---------------------------------------------- --------------------------- / ------------------- -------------------------------------------------- ---- / Wait / ------------------------------------- ------------------------------------ void Wait(){while(IsTradeContextBusy()){スリープ(50); }}/ --------------------------------------------- ---------------------------- / ------------------ -------------------------------------------------- ----- /|計算を停止するショート|/ ----------------------------------------------- -------------------------- double StopLong(double price、int stop){if(stop == 0){return(0);} } else {return(price-(stop * Point)); }}/ --------------------------------------------- ---------------------------- /|利益目標を長く計算する|/ ----------------------------------------------- -------------------------- double TakeLong(double price、int take){if(take == 0){return(0);} } else {return(price (take * Point));}}/ -------------------------------- ----------------------------------------- / ----- -------------------------------------------------- ------------------ /|マネーマネージメント|/ ----------------------------------------------- -------------------------- double MM(文字列Sym、ダブルリスク、ブールBrokerAllowsFractionalLots){double MinLots = MarketInfo(Sym、MODE_MINLOT);ダブルMaxLots = MarketInfo(Sym、MODE_MAXLOT);ダブルレバレッジ= AccountLeverage(); double LotSize = MarketInfo(Sym、MODE_LOTSIZE);ダブルLotStep = MarketInfo(Sym、MODE_LOTSTEP); double FinalAccountBalance = MathMin(AccountBalance()、AccountEquity()); int NormalizationFactor = 0; double Lots = 0.0; if(LotStep == 0.01){正規化ファクタ= 2; } if(LotStep == 0.1){正規化ファクタ= 1; }(BrokerAllowsFractionalLots == true){Lots =(FinalAccountBalance *(Risk100.0))/(LotSizeLeverage); Lots = StrToDouble(DoubleToStr(Lots、NormalizationFactor)); if(Lots lt; MinLots){Lots = MinLots; } if(Lots gt; MaxLots){Lots = MaxLots; }} else if(BrokerAllowsFractionalLots == false){Lots =(FinalAccountBalance *(リスク/100.0))/(LotSizeLeverage); Lots = MathRound(たくさん); if(Lots lt; MinLots){Lots = MinLots; } if(Lots gt; MaxLots){Lots = MaxLots; }} return(たくさん); }
-
こんにちはmike .....ちょっと誰かが今答えただろうと思った...../------それはスクリプトの仕組みではありません.....もしあなたが後続の停止やそのような活動をしたいのなら、本当のeaが必要です.....スクリプトではなく...... h
-