Trade-Manager-EAの(ほぼ完璧な)変更にはコーダーが必要です
Results 1 to 10 of 10

Thread: Trade-Manager-EAの(ほぼ完璧な)変更にはコーダーが必要です

  1. #1
    1添付ファイルこんにちは、
    私が支払ったTrade-Manager-EAの再コーディングに興味があるかもしれないCoderを見つけようとします。
    これまで非常に有名なシニアメンバーのROOIKOOL(これも非常に優秀なプログラマー)が私のためにこのEAをコーディングしました。
    しかし彼はもはやEAにいくつかの変更を加えていませんでした。
    そのため、本来あるべき状態では正しく機能しない2-3の機能があります。
    これがコードです:

    #property copyright rooicolによってコーディングされています

    #import stdlib.ex4
    文字列ErrorDescription(int ErrorCode);
    extern int DefaultSL = 400。
    extern bool HighLowSL = True。
    extern int BarCount = 3。
    extern int Gap = 100。
    extern int HighLowSafetyPoints = 100;
    extern int DefaultTP = 500。
    extern int DefaultCPPercent = 50。
    extern bool HardSLTPActive = False。
    extern int HardSLTPDistance = 400。
    extern int AutoBEPoints = 200。
    extern bool TrendLineSL = False。
    extern int TrendLineSLDistance = 40;
    extern bool MaintainSession = False;
    extern int MyMagicNumber = 555;
    extern bool ObjectOrders = True;
    extern bool ObjectStopOrders = False。
    extern int SendMultipleOrders = 1;
    extern int WingdingObjectOrders = 251;
    extern int DistancePendingOrder = 40;
    extern double Lots = 0。
    extern double RiskPercent = 2。
    extern double CommissionPerLot = 0。
    extern int TradeObjectsFontSize = 8;
    extern int TradeWingDingFontSize = 35;
    extern int TradeObjectsXDistance = 10。
    extern int TradeObjectsYDistance = -34;
    extern int TradeObjectsXSpace = 30。
    extern int TradeObjectsYSpace = 28。
    extern bool DeleteOnly = True。
    extern bool ShowConfirm = False。
    外の色BuyMarketColour = Green。
    外部カラーBuyLimitColour = Green。
    外の色BuyStopColour =緑。
    外部色CloseColour =グレー。
    extern color SellMarketColour =マルーン。
    外部色SellLimitColour =マルーン。
    extern color SellStopColour =マルーン。
    extern int LineStyleEntry = STYLE_SOLID;
    extern int LineStyleSL = STYLE_DASH;
    extern int LineStyleTP = STYLE_DOT;
    extern int LineStyleCP = STYLE_DASHDOT;
    外部色Colour1 =オレンジ。
    外の色Colour2 = DarkGray。
    外部色Colour3 =ライム。
    外の色Colour4 = Green。
    外の色Colour5 =青。
    外部色PendingColour = SkyBlue;
    extern bool UseWingDings = False。
    extern int OrderLineThickness = 5;
    extern int OrderLineLength = 10;
    外の色EntryColour =青。
    外の色SLColour =オレンジ。
    外の色TPColour = DarkGray。
    外の色CPColour =ライム。
    extern int Wingding = 74;
    extern bool RunInfiniteLoop = False;
    extern int RunIntervalMS = 100。
    bool FirstRun = True。
    bool AutoBE = False。
    int start()
    {
    while(IsStopped()== False)
    {
    RefreshRates();
    if(MyMagicNumber == 0)
    コメント(MyMagicNumberを0にしてはいけません!);
    //---------履歴取引レベルの削除----------------------------------- -------
    for(int i = OrdersHistoryTotal() - 10; ilt; OrdersHistoryTotal(); i )
    {
    OrderSelect(i、SELECT_BY_POS、MODE_HISTORY);
    int TicketNo = OrderTicket();
    ObjectDelete(取引管理EA:Line Entry TicketNo);
    ObjectDelete(取引管理EA:Line SL TicketNo);
    ObjectDelete(取引管理EA:Line TP TicketNo);
    ObjectDelete(取引管理EA:Line CP TicketNo);
    ObjectDelete(取引管理EA:距離入力 チケット番号);
    ObjectDelete(取引管理EA:距離SL チケット番号);
    ObjectDelete(取引管理EA:距離TP チケット番号);
    ObjectDelete(取引管理EA:距離CP チケット番号);
    ObjectDelete(取引管理EA:トレンドライン チケット番号);
    ObjectDelete(取引管理EA:チケット番号なし チケット番号)
    ObjectDelete(取引管理EA:チケット番号SL チケット番号)
    ObjectDelete(取引管理EA:チケット番号TP チケット番号)
    ObjectDelete(取引管理EA:チケット番号CP チケット番号)
    ObjectDelete(取引管理EA:Wingding Entry TicketNo);
    ObjectDelete(取引管理EA:Wingding SL TicketNo);
    ObjectDelete(取引管理EA:Wingding TP TicketNo);
    ObjectDelete(取引管理EA:Wingding CP TicketNo);
    GlobalVariableDel(取引管理EA:Line CP TicketNo);
    }
    //---------取引レベルの作成------------------------------------ ------
    int j = 0。
    静的ブールTrailActive。
    (i = OrdersTotal() - 1; igt; = 0; i--)
    {
    OrderSelect(i、SELECT_BY_POS);
    if(OrderSymbol()== Symbol()OrderMagicNumber()!= MyMagicNumber)
    {
    j ;
    TicketNo = OrderTicket();
    文字列TicketNoStr = DoubleToStr(TicketNo、0);
    switch(OrderType())
    {
    ケース0:int Direction = 1。 double Price = Bid; bool Pending = False;ブレーク;
    ケース2:
    ケース4:方向= 1。価格=入札double PendingPrice = Ask;保留中= True。ブレーク;
    ケース1:Direction = -1。価格=お願いします。保留中= False。ブレーク;
    ケース3:
    ケース5:方向= −1。価格=お願いします。 PendingPrice = Bid;保留中= True。
    }
    if(j == 1)
    カラーカラー=カラー1。
    if(j == 2)
    カラー=カラー2。
    if(j == 3)
    カラー=カラー3。
    if(j == 4)
    色=色4。
    if(jgt; = 5)
    色=色5。
    if(UseWingDings == False)
    {
    ObjectCreate(取引管理EA:Line Entry TicketNo、OBJ_HLINE、0、OrderOpenTime()、OrderOpenPrice());
    ObjectSet(取引管理EA:Line Entry TicketNo、OBJPROP_COLOR、Color);
    ObjectSet(取引管理EA:Line Entry TicketNo、OBJPROP_STYLE、LineStyleEntry);
    double LineEntryPrice = NormalizeDouble(ObjectGet(取引管理EA:Line Entry TicketNo、OBJPROP_PRICE1)、Digits);

    ObjectCreate(取引管理EA:チケット番号なし+チケット番号、OBJ_TEXT、0、時間[80]、LineEntryPrice)。
    ObjectSetText(取引管理EA:チケットなしエントリ TicketNo、TicketNoStr、10、Arial、Color)
    ObjectMove(取引管理EA:チケット番号なし+チケット番号0、0、時間[80]、LineEntryPrice)。
    }
    それ以外の
    {
    ObjectCreate(取引管理EA:Line Entry TicketNo、OBJ_TREND、0、OrderOpenTime()、OrderOpenPrice()、Time [iBarShift(Symbol()、Period()、OrderOpenTime()) OrderLineLength]、OrderOpenPrice());
    ObjectSet(取引管理EA:Line Entry TicketNo、OBJPROP_WIDTH、OrderLineThickness);
    ObjectSet(取引管理EA:Line Entry TicketNo、OBJPROP_COLOR、EntryColour);
    ObjectSet(取引管理EA:Line Entry TicketNo、OBJPROP_RAY、False);
    LineEntryPrice = NormalizeDouble(ObjectGet(取引管理EA:Line Entry TicketNo、OBJPROP_PRICE1)、Digits);

    //ObjectCreate(取引管理EA:Wingding Entry TicketNo、OBJ_TEXT、0、OrderOpenTime()、OrderOpenPrice())
    //ObjectSetText(取引管理EA:Wingding Entry TicketNo、CharToStr(Wingding)、10、WingDings、EntryColour);
    //ObjectMove(取引管理EA:Wingding Entry TicketNo、0、OrderOpenTime()、LineEntryPrice)
    }

    if(OrderType()lt; = 1)
    {
    ObjectMove(取引管理EA:Line Entry TicketNo、0、OrderOpenTime()、OrderOpenPrice());
    ObjectMove(取引管理EA:Line Entry TicketNo、1、Time [iBarShift(Symbol、)、Period()、OrderOpenTime()) OrderLineLength]、OrderOpenPrice())
    }
    if(OrderType()gt; = 2)
    {
    ObjectMove(取引管理EA:Line Entry TicketNo、0、OrderOpenTime()、LineEntryPrice);
    ObjectMove(取引管理EA:Line Entry TicketNo、1、Time [iBarShift(Symbol()、Period()、OrderOpenTime()) OrderLineLength]、LineEntryPrice);
    }

    if(保留中== True)
    double PriceEntry = PendingPrice。
    それ以外の
    PriceEntry = Price;
    int EntryDistance =((PriceEntry-LineEntryPrice)* Direction)/Point;
    ストリングEntryDistanceStr = DoubleToStr(EntryDistance、0);
    if(UseWingDings == True)
    color DistanceEntryColour = EntryColour;
    それ以外の
    DistanceEntryColour =色;
    ObjectCreate(取引管理EA:距離入力 TicketNo、OBJ_TEXT、0、時間[iBarShift(Symbol()、Period()、OrderOpenTime()) 10]、LineEntryPrice);
    ObjectSetText(取引管理EA:距離入力+チケット番号、入力距離Str、13、Aial、DistancyEntryColor)。
    ObjectMove(取引管理EA:距離入力 TicketNo、0、時間[iBarShift(Symbol()、Period()、OrderOpenTime()) 10]、LineEntryPrice);

    if(HighLowSL == True)
    {
    if(Direction == 1)
    {
    double LineSLInitialPrice = Low [iLowest(Symbol()、Period()、MODE_LOW、BarCount)] - (Gap * Point);
    if(LineSLInitialPricegt;(OrderOpenPrice() - (HighLowSafetyPoints * Point))))
    LineSLInitialPrice =(OrderOpenPrice() - (HighLowSafetyPoints * Point));
    }
    if(Direction == - 1)
    {
    LineSLInitialPrice = High [iHighest(シンボル()、ピリオド()、MODE_HIGH、BarCount)] (ギャップ*ポイント);
    if(LineSLInitialPricelt;(OrderOpenPrice() (HighLowSafetyPoints * Point))))
    LineSLInitialPrice =(OrderOpenPrice() (HighLowSafetyPoints * Point));
    }
    }
    それ以外の
    LineSLInitialPrice = OrderOpenPrice() - (Direction * DefaultSL * Point);
    if(OrderStopLoss()!= 0)
    LineSLInitialPrice = OrderStopLoss() (HardSLTPDistance * Point * Direction);

    if(UseWingDings == False)
    {
    ObjectCreate(取引管理EA:Line SL TicketNo、OBJ_HLINE、0、OrderOpenTime()、LineSLInitialPrice);
    ObjectSet(取引管理EA:Line SL TicketNo、OBJPROP_COLOR、Color)。
    ObjectSet(取引管理EA:Line SL TicketNo、OBJPROP_STYLE、LineStyleSL)
    double LineSLPrice = NormalizeDouble(ObjectGet(取引管理EA:行SL チケット番号、OBJPROP_PRICE1)、数字);
    ObjectMove(取引管理EA:Line SL TicketNo、0、OrderOpenTime()、LineSLPrice);

    ObjectCreate(取引管理EA:チケット番号SL チケット番号、OBJ_TEXT、0、時間[80]、LineSLPrice);
    ObjectSetText(取引管理EA:Ticket No SL TicketNo、TicketNoStr、10、Arial、Color)。
    ObjectMove(取引管理EA:Ticket No SL TicketNo、0、Time [80]、LineSLPrice);
    }
    それ以外の
    {
    ObjectCreate(取引管理EA:Line SL TicketNo、OBJ_TREND、0、OrderOpenTime()、LineSLInitialPrice、Time [iBarShift(Symbol()、Period()、OrderOpenTime()) OrderLineLength]、LineSLInitialPrice);
    ObjectSet(取引管理EA:Line SL TicketNo、OBJPROP_WIDTH、OrderLineThickness);
    ObjectSet(取引管理EA:ラインSL チケット番号、OBJPROP_COLOR、SLColour)
    ObjectSet(取引管理EA:Line SL TicketNo、OBJPROP_RAY、False)。
    LineSLPrice = NormalizeDouble(ObjectGet(取引管理EA:Line SL TicketNo、OBJPROP_PRICE1)、数字);
    ObjectMove(取引管理EA:Line SL TicketNo、0、OrderOpenTime()、LineSLPrice);
    ObjectMove(取引管理EA:Line SL TicketNo、1、Time [iBarShift(Symbol()、Period()、OrderOpenTime()) OrderLineLength]、LineSLPrice);

    //ObjectCreate(取引管理EA:Wingding SL TicketNo、OBJ_TEXT、0、OrderOpenTime()、LineSLInitialPrice);
    //ObjectSetText(取引管理EA:Wingding SL TicketNo、CharToStr(Wingding)、10、WingDings、SLColour);
    //ObjectMove(取引管理EA:Wingding SL TicketNo、0、OrderOpenTime()、LineSLPrice);
    }

    double SLDistance =((LineSLPrice-OrderOpenPrice())* Direction)/(Point);
    ストリングSLDistanceStr = DoubleToStr(SLDistance、0)。
    if(UseWingDings == True)
    カラー距離SLColour = SLColour。
    それ以外の
    DistanceSLColour =色;
    ObjectCreate(取引管理EA:距離SL チケット番号、OBJ_TEXT、0、時間[iBarShift(Symbol()、Period()、OrderOpenTime()) 20]、LineSLPrice);
    ObjectSetText(取引管理EA:距離SL TicketNo、SLDistanceStr、13、Arial、DistanceSLColour);
    ObjectMove(取引管理EA:距離SL チケット番号、0、時間[iBarShift(Symbol()、Period()、OrderOpenTime()) 20]、LineSLPrice)

    if(TrendLineSL == TrueOrderType()lt; = 1)
    {
    if(OrderType()== 0)
    {
    double TrendLinePrice1 = Low [0] - (250 *ポイント)。
    double TrendLinePrice2 = Low [0] - (75 *ポイント)。
    }
    if(OrderType()== 1)
    {
    TrendLinePrice1 = High [0] (250 * Point);
    TrendLinePrice2 = High [0] (75 * Point);
    }

    ObjectCreate(取引管理EA:トレンドライン チケット番号、OBJ_TREND、0、時間[30]、TrendLinePrice1、時間[0]、TrendLinePrice2);
    ObjectSet(取引管理EA:Trend Line TicketNo、OBJPROP_RAY、True);
    double TrendLineCurrentValue = ObjectGetValueByShift(取引管理EA:Trend Line TicketNo、0) - (TrendLineSLDistance * Point * Direction);
    ObjectMove(取引管理EA:Line SL TicketNo、0、OrderOpenTime()、TrendLineCurrentValue);
    ObjectMove(取引管理EA:Line SL TicketNo、1、Time [iBarShift(Symbol()、Period()、OrderOpenTime()) OrderLineLength]、TrendLineCurrentValue);
    }
    if(TrendLineSL == False)
    ObjectDelete(取引管理EA:トレンドライン チケット番号);

    if(== True OrderType()lt; = 1EntryDistance gt; = AutoBEPoints)
    {
    ObjectMove(取引管理EA:Line SL TicketNo、0、OrderOpenTime()、OrderOpenPrice());
    ObjectMove(取引管理EA:Line SL TicketNo、1、Time [iBarShift(Symbol()、Period()、OrderOpenTime()) OrderLineLength]、OrderOpenPrice());
    }

    if(TrailActive == TrueOrderType()lt; = 1)
    {
    if(OrderType()== 0)
    double TrailMovePrice = iLow(Symbol()、240,1) - (Gap * Point);
    if(OrderType()== 1)
    TrailCom価格=高値(シンボル()、240,1) (ギャップ*ポイント)

    if((TrailMovePrice-LineSLPrice)* Directiongt;(Point2))
    {
    ObjectMove(取引管理EA:Line SL TicketNo、0、OrderOpenTime()、TrailMovePrice);
    ObjectMove(取引管理EA:Line SL TicketNo、1、Time [iBarShift(Symbol()、Period()、OrderOpenTime()) OrderLineLength]、TrailMovePrice);
    }
    ObjectMove(取引管理EA:Line TP TicketNo、0、OrderOpenTime()、OrderOpenPrice() (Point * 10000 * Direction));
    ObjectMove(取引管理EA:Line TP TicketNo、1、Time [iBarShift(Symbol()、Period()、OrderOpenTime()) OrderLineLength]、OrderOpenPrice() (Point * 10000 * Direction));
    }

    if(OrderTakeProfit()!= 0)
    double LineTPInitialPrice = OrderTakeProfit() - (HardSLTPDistance * Point * Direction);
    それ以外の
    LineTPInitialPrice = OrderOpenPrice() (Direction * DefaultTP * Point);


    if(UseWingDings == False)
    {
    ObjectCreate(取引管理EA:Line TP TicketNo、OBJ_HLINE、0、OrderOpenTime()、LineTPInitialPrice);
    ObjectSet(取引管理EA:ラインTP チケット番号、OBJPROP_COLOR、色);
    ObjectSet(取引管理EA:Line TP TicketNo、OBJPROP_STYLE、LineStyleTP);
    double LineTPPrice = NormalizeDouble(ObjectGet(取引管理EA:Line TP TicketNo、OBJPROP_PRICE1)、Digits);
    ObjectMove(取引管理EA:Line TP TicketNo、0、OrderOpenTime()、LineTPPrice);

    ObjectCreate(取引管理EA:チケットなしTP チケット番号、OBJ_TEXT、0、時間[80]、LineTPPrice);
    ObjectSetText(取引管理EA:Ticket No TP TicketNo、TicketNoStr、10、Arial、Color);
    ObjectMove(取引管理EA:Ticket No TP TicketNo、0、Time [80]、LineTPPrice);
    }
    それ以外の
    {
    ObjectCreate(取引管理EA:Line TP TicketNo、OBJ_TREND、0、OrderOpenTime()、LineTPInitialPrice、Time [iBarShift(Symbol()、Period()、OrderOpenTime()) OrderLineLength]、LineTPInitialPrice)
    ObjectSet(取引管理EA:ラインTP TicketNo、OBJPROP_WIDTH、OrderLineThickness);
    ObjectSet(取引管理EA:ラインTP チケット番号、OBJPROP_COLOR、TPColour);
    ObjectSet(取引管理EA:ラインTP TicketNo、OBJPROP_RAY、False)。
    LineTPPrice = NormalizeDouble(ObjectGet(取引管理EA:Line TP TicketNo、OBJPROP_PRICE1)、数字);
    ObjectMove(取引管理EA:Line TP TicketNo、0、OrderOpenTime()、LineTPPrice);
    ObjectMove(取引管理EA:Line TP TicketNo、1、Time [iBarShift(Symbol()、Period()、OrderOpenTime()) OrderLineLength]、LineTPPrice);

    //ObjectCreate(取引管理EA:Wingding TP TicketNo、OBJ_TEXT、0、OrderOpenTime()、LineTPInitialPrice);
    //ObjectSetText(取引管理EA:Wingding TP TicketNo、CharToStr(Wingding)、10、WingDings、TPColour);
    //ObjectMove(取引管理EA:Wingding TP TicketNo、0、OrderOpenTime()、LineTPPrice);
    }

    double TPDistance =((LineTPPrice-OrderOpenPrice())* Direction)/(Point);
    ストリングTPDistanceStr = DoubleToStr(TPDistance、0);
    if(UseWingDings == True)
    カラーDistanceTPColour = TPColour。
    それ以外の
    DistanceTPColour =カラー。
    ObjectCreate(取引管理EA:距離TP チケット番号、OBJ_TEXT、0、時間[iBarShift(Symbol()、Period()、OrderOpenTime()) 20]、LineTPPrice)
    ObjectSetText(取引管理EA:距離TP TicketNo、TPDistanceStr、13、Arial、DistanceTPColour);
    ObjectMove(取引管理EA:距離TP TicketNo、0、時間[iBarShift(Symbol()、Period()、OrderOpenTime()) 20]、LineTPPrice);

    if(DefaultCPPercentgt; 0)
    {
    double LineCPInitialPrice = GlobalVariableGet(取引管理EA:Line CP TicketNo);
    if(LineCPInitialPrice == 0)
    LineCPInitialPrice = LineTPPrice (Direction * 20 * Point);
    if(UseWingDings == false)
    {
    ObjectCreate(取引管理EA:Line CP TicketNo、OBJ_HLINE、0、OrderOpenTime()、LineCPInitialPrice);
    オブジェクトセット(取引管理EA:ラインCP チケット番号、OBJPROP_COLOR、色);
    ObjectSet(取引管理EA:Line CP TicketNo、OBJPROP_STYLE、LineStyleCP)
    double LineCPPrice = NormalizeDouble(ObjectGet(取引管理EA:ラインCP チケット番号、OBJPROP_PRICE1)、数字)
    ObjectMove(取引管理EA:Line CP TicketNo、0、OrderOpenTime()、LineCPPrice);

    ObjectCreate(取引管理EA:チケットなしCP チケットなし、OBJ_TEXT、0、時間[80]、LineCPPrice);
    ObjectSetText(取引管理EA:チケットなしCP TicketNo、TicketNoStr、10、Arial、Color)。
    ObjectMove(取引管理EA:チケットなしCP チケット番号、0、時間[80]、LineCPPrice);
    }
    それ以外の
    {
    ObjectCreate(取引管理EA:Line CP TicketNo、OBJ_TREND、0、OrderOpenTime()、LineCPInitialPrice、Time [iBarShift(Symbol()、Period()、OrderOpenTime()) OrderLineLength]、LineCPInitialPrice);
    ObjectSet(取引管理EA:ラインCP チケット番号、OBJPROP_WIDTH、OrderLineThickness)
    ObjectSet(取引管理EA:ラインCP チケット番号、OBJPROP_COLOR、CPカラー)
    ObjectSet(取引管理EA:ラインCP チケット番号、OBJPROP_RAY、False)。
    LineCPPrice = NormalizeDouble(ObjectGet(取引管理EA:ラインCP チケット番号、OBJPROP_PRICE1)、数字);
    ObjectMove(取引管理EA:Line CP TicketNo、0、OrderOpenTime()、LineCPPrice);
    ObjectMove(取引管理EA:ラインCP チケット番号、1、時間[iBarShift(Symbol()、Period()、OrderOpenTime()) OrderLineLength]、LineCPPrice);

    //ObjectCreate(取引管理EA:Wingding CP TicketNo、OBJ_TEXT、0、OrderOpenTime()、LineCPInitialPrice);
    //ObjectSetText(取引管理EA:Wingding CP TicketNo、CharToStr(Wingding)、10、WingDings、CPColour);
    //ObjectMove(取引管理EA:Wingding CP TicketNo、0、OrderOpenTime()、LineCPPrice);
    }
    ダブルCP距離=((LineCPPrice-OrderOpenPrice())*方向)/(ポイント);
    文字列CPDistanceStr = DoubleToStr(CPDistance、0)。
    if(UseWingDings == True)
    色距離CP色= CP色。
    それ以外の
    DistanceCPColour =カラー。
    ObjectCreate(取引管理EA:距離CP チケット番号、OBJ_TEXT、0、時間[iBarShift(Symbol()、Period()、OrderOpenTime()) 10]、LineCPPrice)
    ObjectSetText(取引管理EA:距離CP TicketNo、CPDistanceStr、13、Arial、DistanceCPColour);
    ObjectMove(取引管理EA:距離CP チケット番号、0、時間[iBarShift(Symbol()、Period()、OrderOpenTime()) 10]、LineCPPrice)
    GlobalVariableSet(取引管理EA:Line CP TicketNo、LineCPPrice);
    int ClosePercent = StrToDouble(ObjectDescription(取引管理EA:Line CP TicketNo));
    if(ClosePercent == 0)
    ObjectSetText(取引管理EA:Line CP TicketNo、DoubleToStr(DefaultCPPercent、0));
    }
    それ以外の
    {
    ObjectDelete(取引管理EA:距離CP チケット番号);
    ObjectDelete(取引管理EA:チケット番号CP チケット番号)
    ObjectDelete(取引管理EA:Line CP TicketNo);
    GlobalVariableDel(取引管理EA:Line CP TicketNo);
    }
    //--------- SLとTPの変更----------------------------------- -------
    double LineSLPriceAdjusted = LineSLPrice-(Direction * HardSLTPDistance * Point);
    double LineTPPriceAdjusted = LineTPPrice (Direction * HardSLTPDistance * Point);

    if(MathAbs(OrderOpenPrice() - LineEntryPrice)gt;(Point2))
    bool EntryDifference = True;
    それ以外の
    EntryDifference = False。
    if(MathAbs(OrderStopLoss() - LineSLPriceAdjusted)gt;(Point2))
    bool SLDifference = True;
    それ以外の
    SLDifference = False。
    if(MathAbs(OrderTakeProfit() - LineTPPriceAdjusted)gt;(Point2))
    bool TPDifference = True;
    それ以外の
    TPDifference = False。

    if((HardSLTPActive == True(SLDifference == True || TPDifference == True))||(EntryDifference == TrueOrderType()gt; = 2))
    {
    OrderModify(TicketNo、LineEntryPrice、LineSLPriceAdjusted、LineTPPriceAdjusted、0);
    スリープ(250)
    }
    OrderSelect(i、SELECT_BY_POS);
    RefreshRates();
    //--------- EA CLOSE ------------------------------------- -----

    if((((Price-LineSLPrice)* Direction)lt;(Point2))
    bool SLHit = True;
    それ以外の
    SLHit = False
    if((((LineTPPrice-Price)* Direction)lt;(Point2))
    bool TPHit = True;
    それ以外の
    TPHit = False。
    if((((LineCPPrice-Price)* Direction)lt;(Point2))
    bool CPHit = True;
    それ以外の
    CPHit = False

    if((((HardSLTPActive == TrueHardSLTPDistancegt; 0)||(HardSLTPActive == False))SLHit == TrueOrderType()lt; = 1)
    RunClose(TicketNo、LineSLPrice、OrderLots()、EA CLOSE);
    if((((HardSLTPActive == TrueHardSLTPDistancegt; 0)||(HardSLTPActive == False))TPHit == TrueOrderType()lt; = 1)
    RunClose(TicketNo、LineTPPrice、OrderLots()、EA CLOSE);
    if(DefaultCPPercentgt; 0CPHit == TrueOrderType()lt; = 1)
    {
    double LotPoint = MarketInfo(Symbol()、MODE_LOTSTEP);
    double CloseLots = MathRound((OrderLots()* ClosePercent * 0.01)/LotPoint)* LotPoint;
    RunClose(TicketNo、LineCPPrice、CloseLots、EA CLOSE);
    }
    }
    }
    //- - - - -保留中の注文 - - - - - - - - - - - - - - - - - - - --------------------
    for(i = 0; ilt; 10; i )
    {
    double LineBuyLimitPrice = NormalizeDouble(ObjectGet(取引管理EA:Line Buy Limit i、OBJPROP_PRICE1)、数字);
    if(LineBuyLimitPrice!= 0)
    {
    ObjectMove(取引管理EA:Line Buy Limit i、0、TimeCurrent()、LineBuyLimitPrice);
    ObjectMove(取引管理EA:Line Buy Limit i、1、Time [10]、LineBuyLimitPrice);
    ObjectMove(取引管理EA:Ticket No Buy Limit i、0、時間[80]、LineBuyLimitPrice);
    //ObjectMove(取引管理EA:Wingding Buy Limit i、0、TimeCurrent()、LineBuyLimitPrice);
    double BuyLimitDistance =(Ask-LineBuyLimitPrice)/(Point);
    文字列BuyLimitDistanceStr = DoubleToStr(BuyLimitDistance、0);
    ObjectSetText(取引管理EA:Distance Buy Limit i、BuyLimitDistanceStr、13、Arial、PendingColour);
    ObjectMove(取引管理EA:距離買い制限 i、0、時間[10]、LineBuyLimitPrice);
    if((Ask-LineBuyLimitPrice)lt;(Point2))
    {
    SendBuyMarketOrder(True);
    ObjectDelete(取引管理EA:Line Buy Limit i);
    ObjectDelete(取引管理EA:チケット購入制限なし i)
    ObjectDelete(取引管理EA:買値の上限 i);
    ObjectDelete(取引管理EA:Wingding Buy Limit i);
    }
    }
    それ以外の
    {
    ObjectDelete(取引管理EA:チケット購入制限なし i)
    ObjectDelete(取引管理EA:買値の上限 i);
    ObjectDelete(取引管理EA:Wingding Buy Limit i);
    }
    double LineBuyStopPrice = NormalizeDouble(ObjectGet(取引管理EA:Line Buy Stop i、OBJPROP_PRICE1)、数字)
    if(LineBuyStopPrice!= 0)
    {
    ObjectMove(取引管理EA:Line Buy Stop i、0、TimeCurrent()、LineBuyStopPrice);
    ObjectMove(取引管理EA:Line Buy Stop i、1、時間[10]、LineBuyStopPrice);
    ObjectMove(取引管理EA:Ticket No Buy Stop i、0、時間[80]、LineBuyStopPrice);
    //ObjectMove(取引管理EA:Wingding Buy Stop i、0、TimeCurrent()、LineBuyStopPrice);
    double BuyStopDistance =(LineBuyStopPrice-Ask)/(Point);
    文字列BuyStopDistanceStr = DoubleToStr(BuyStopDistance、0);
    ObjectSetText(取引管理EA:Distance Buy Stop i、BuyStopDistanceStr、13、Arial、PendingColour);
    ObjectMove(取引管理EA:Distance Buy Stop i、0、時間[10]、LineBuyStopPrice);
    if((LineBuyStopPrice-Ask)lt;(Point2))
    {
    SendBuyMarketOrder(True);
    ObjectDelete(取引管理EA:Line Buy Stop i);
    ObjectDelete(取引管理EA:チケットなし購入ストップ
    ObjectDelete(取引管理EA:Distance Buy Stop i);
    ObjectDelete(取引管理EA:Wingding Buy Stop i);
    }
    }
    それ以外の
    {
    ObjectDelete(取引管理EA:チケットなし購入ストップ
    ObjectDelete(取引管理EA:Distance Buy Stop i);
    ObjectDelete(取引管理EA:Wingding Buy Stop i);
    }

    double LineSellLimitPrice = NormalizeDouble(ObjectGet(取引管理EA:Line Sell Limit i、OBJPROP_PRICE1)、数字);
    if(LineSellLimitPrice!= 0)
    {
    ObjectMove(取引管理EA:Line Sell Limit i、0、TimeCurrent()、LineSellLimitPrice);
    ObjectMove(取引管理EA:Line Sell Limit i、1、Time [10]、LineSellLimitPrice);
    ObjectMove(取引管理EA:Ticket No Sell Limit i、0、Time [80]、LineSellLimitPrice);
    //ObjectMove(取引管理EA:Wingding Sell Limit i、0、TimeCurrent()、LineSellLimitPrice);
    double SellLimitDistance =(LineSellLimitPrice-Bid)/(Point);
    文字列SellLimitDistanceStr = DoubleToStr(SellLimitDistance、0);
    ObjectSetText(取引管理EA:Distance Sell Limit i、SellLimitDistanceStr、13、Arial、PendingColour)
    ObjectMove(取引管理EA:Distance Sell Limit i、0、時間[10]、LineSellLimitPrice);
    if((LineSellLimitPrice-Bid)lt;(Point2))
    {
    SendSellMarketOrder(True);
    ObjectDelete(取引管理EA:Line Sell Limit i);
    ObjectDelete(取引管理EA:Ticket No Sell Limit i)
    ObjectDelete(取引管理EA:Distance Sell Limit i);
    ObjectDelete(取引管理EA:Wingding Sell Limit i);
    }
    }
    それ以外の
    {
    ObjectDelete(取引管理EA:Ticket No Sell Limit i)
    ObjectDelete(取引管理EA:Distance Sell Limit i);
    ObjectDelete(取引管理EA:Wingding Sell Limit i);
    }
    double LineSellStopPrice = NormalizeDouble(ObjectGet(取引管理EA:Line Sell Stop i、OBJPROP_PRICE1)、数字);
    if(LineSellStopPrice!= 0)
    {
    ObjectMove(取引管理EA:Line Sell Stop i、0、TimeCurrent()、LineSellStopPrice);
    ObjectMove(取引管理EA:Line Sell Stop i、1、Time [10]、LineSellStopPrice);
    ObjectMove(取引管理EA:チケットなし売りストップ i、0、時間[80]、LineSellStopPrice);
    //ObjectMove(取引管理EA:Wingding Sell Stop i、0、TimeCurrent()、LineSellStopPrice);
    double SellStopDistance =(Bid-LineSellStopPrice)/(Point);
    文字列SellStopDistanceStr = DoubleToStr(SellStopDistance、0);
    ObjectSetText(取引管理EA:Distance Sell Stop i、SellStopDistanceStr、13、Arial、PendingColour);
    ObjectMove(取引管理EA:Distance Sell Stop i、0、時間[10]、LineSellStopPrice);
    if(((Bid-LineSellStopPrice)lt;(Point2))
    {
    SendSellMarketOrder(True);
    ObjectDelete(取引管理EA:Line Sell Stop i);
    ObjectDelete(取引管理EA:チケットなし売りストップ i);
    ObjectDelete(取引管理EA:Distance Sell Stop i);
    ObjectDelete(取引管理EA:Wingding Sell Stop i);
    }
    }
    それ以外の
    {
    ObjectDelete(取引管理EA:チケットなし売りストップ i);
    ObjectDelete(取引管理EA:Distance Sell Stop i);
    ObjectDelete(取引管理EA:Wingding Sell Stop i);
    }
    }
    //---------オーダーオブジェクト------------------------------------- --------------------
    static int SIObjectOrders;
    static int SITradeObjectsFontSize;
    static int SITradeWingDingFontSize;
    static int SITradeObjectsXDistance;
    static int SITradeObjectsYDistance;
    static int SITradeObjectsYSpace;
    static int SIObjectStopOrders;

    bool InputsChanged = False。

    if(FirstRun == False)
    {
    if(SIObjectOrders!= ObjectOrders)
    InputsChanged = True;
    if(SITradeObjectsFontSize!= TradeObjectsFontSize)
    InputsChanged = True;
    if(SITradeWingDingFontSize!= TradeWingDingFontSize)
    InputsChanged = True;
    if(SITradeObjects Distance!= TradeObjects Distance)
    InputsChanged = True;
    if(SITradeObjects Distance!= TradeObjects Distance)
    InputsChanged = True;
    if(SITradeObjectsYSpace!= TradeObjectsYSpace)
    InputsChanged = True;
    if(SIObjectStopOrders!= ObjectStopOrders)
    InputsChanged = True;
    }
    SIObjectOrders = ObjectOrders;
    SITradeObjectsFontSize = TradeObjectsFontSize;
    SITradeWingDingFontSize = TradeWingDingFontSize;
    SITradeObjectsXDistance = TradeObjectsXDistance;
    SITradeObjectsYDistance = TradeObjectsYDistance;
    SITradeObjectsYSpace = TradeObjectsYSpace;
    SIObjectStopOrders = ObjectStopOrders;

    if(SendMultipleOrderslt; = 0)
    SendMultipleOrders = 1;

    if(ObjectOrders == True)
    {
    if(FirstRun == FalseInputsChanged == False)
    {
    int BuyMarketX = ObjectGet(取引管理EA:購入市場、OBJPROP_XDISTANCE);
    int BuyMarketY = ObjectGet(取引管理EA:買い市場、OBJPROP_YDISTANCE);
    int BuyMarketPresent = ObjectFind(取引管理EA:買い市場);
    if(
    (DeleteOnly == False(BuyMarketX!= TradeObjectsXDistance || BuyMarketY!= TradeObjectsYDistance TradeObjectsFontSize TradeObjectsYSpace))||
    (DeleteOnly == TrueBuyMarketPresent!= 0)

    {
    for(int k = 0; klt; SendMultipleOrders; k )
    SendBuyMarketOrder(False);
    ObjectDelete(取引管理EA:買い市場);
    }

    int CloseX = ObjectGet(取引管理EA:閉じる、OBJPROP_XDISTANCE);
    int CloseY = ObjectGet(取引管理EA:閉じる、OBJPROP_YDISTANCE);
    int ClosePresent = ObjectFind(取引管理EA:閉じる);
    if(
    (DeleteOnly == False(CloseX!= TradeObjectsXDistance || CloseY!= TradeObjectsYDistance (TradeObjectsFontSize * 3) (TradeObjectsYSpace * 3)))||
    (DeleteOnly == TrueClosePresent!= 0)

    {
    SendCloseOrder();
    ObjectDelete(取引管理EA:閉じる);
    }
    int SetBEX = ObjectGet(取引管理EA:設定BE、OBJPROP_XDISTANCE);
    int SetBEY = ObjectGet(取引管理EA:設定BE、OBJPROP_YDISTANCE);
    int SetBEPresent = ObjectFind(取引管理EA:Set BE);
    if(
    (DeleteOnly == False(SetBEX!= TradeObjectsXDistance || SetBEY!= TradeObjectsYDistance (TradeObjectsFontSize * 4) (TradeObjectsYSpace * 4)))||
    (DeleteOnly == TrueSetBEPresent!= 0)

    {
    SetBE();
    ObjectDelete(取引管理EA:設定BE);
    }
    int AutoBEX = ObjectGet(取引管理EA:AutoBE、OBJPROP_XDISTANCE);
    int AutoBEY = ObjectGet(取引管理EA:AutoBE、OBJPROP_YDISTANCE);
    int AutoBEPresent = ObjectFind(取引管理EA:AutoBE);
    if(
    (DeleteOnly == False(AutoBEX!= TradeObjectsXDistance || AutoBEY!= TradeObjectsYDistance (TradeObjectsFontSize * 5) (TradeObjectsYSpace * 5)))||
    (DeleteOnly == TrueAutoBEPresent!= 0)

    {
    static int LastAutoBETime。
    if(TimeLocal() - LastAutoBETimegt; = 2)
    {
    if(AutoBE == True)
    AutoBE = False。
    それ以外の
    AutoBE = True。
    ObjectDelete(取引管理EA:AutoBE);
    }
    LastAutoBETime = TimeLocal();
    }
    int TrailX = ObjectGet(取引管理EA:Trail、OBJPROP_XDISTANCE);
    int TrailY = ObjectGet(取引管理EA:Trail、OBJPROP_YDISTANCE);
    int TrailPresent = ObjectFind(取引管理EA:証跡);
    if(
    (DeleteOnly == False(TrailX!= TradeObjectsXDistance || TrailY!= TradeObjectsYDistance (TradeObjectsFontSize * 6) (TradeObjectsYSpace * 6)))||
    (DeleteOnly == TrueTrailPresent!= 0)

    {
    static int LastTrailTime。
    if(TimeLocal() - LastTrailTimegt; = 2)
    {
    if(TrailActive == True)
    {
    TrailActive = False。
    for(int l = 0; llt; OrdersTotal(); l )
    {
    OrderSelect(l、SELECT_BY_POS);
    if(OrderType()== 0)
    {
    ObjectMove(取引管理EA:Line TP TicketNo、0、OrderOpenTime()、Bid (Point * DefaultTP));
    ObjectMove(取引管理EA:Line TP TicketNo、1、Time [iBarShift(Symbol()、Period()、OrderOpenTime()) OrderLineLength]、Bid (Point * DefaultTP));
    }
    if(OrderType()== 1)
    {
    ObjectMove(取引管理EA:Line TP TicketNo、0、OrderOpenTime()、Ask-(Point * DefaultTP));
    ObjectMove(取引管理EA:Line TP TicketNo、1、Time [iBarShift(Symbol()、Period()、OrderOpenTime()) OrderLineLength]、Ask-(Point * DefaultTP));
    }
    }
    }
    それ以外の
    TrailActive = Trueです。
    ObjectDelete(取引管理EA:証跡);
    }
    LastTrailTime = TimeLocal();
    }
    int SellMarketX = ObjectGet(取引管理EA:売り市場、OBJPROP_XDISTANCE);
    int SellMarketY = ObjectGet(取引管理EA:売り市場、OBJPROP_YDISTANCE);
    int SellMarketPresent = ObjectFind(取引管理EA:売り市場);
    if(
    (DeleteOnly == False(SellMarketX!= TradeObjectsXDistance || SellMarketY!= TradeObjectsYDistance (TradeObjectsFontSize * 8) (TradeObjectsYSpace * 8)))||
    (DeleteOnly == TrueSellMarketPresent!= 0)

    {
    (k = 0; klt; SendMultipleOrders; k )の場合
    SendSellMarketOrder(False);
    ObjectDelete(取引管理EA:売り市場);
    }

    int BuyLimitX = ObjectGet(取引管理EA:購入制限、OBJPROP_XDISTANCE)
    int BuyLimitY = ObjectGet(取引管理EA:買限度額、OBJPROP_YDISTANCE);
    int BuyLimitPresent = ObjectFind(取引管理EA:購入制限);
    if(
    (DeleteOnly == False(BuyLimitX!= TradeObjectsXDistance || BuyLimitY!= TradeObjectsYDistance (TradeObjectsFontSize * 2) (TradeObjectsYSpace * 2)))||
    (DeleteOnly == TrueBuyLimitPresent!= 0)

    {
    SendBuyLimitOrder();
    ObjectDelete(取引管理EA:買い制限)
    }
    int SellLimitX = ObjectGet(取引管理EA:売り制限、OBJPROP_XDISTANCE);
    int SellLimitY = ObjectGet(取引管理EA:売り制限、OBJPROP_YDISTANCE);
    int SellLimitPresent = ObjectFind(取引管理EA:売買限度);
    if(
    (DeleteOnly == False(SellLimitX!= TradeObjectsXDistance || SellLimitY!= TradeObjectsYDistance (TradeObjectsFontSize * 7) (TradeObjectsYSpace * 7)))||
    (DeleteOnly == TrueSellLimitPresent!= 0)

    {
    SendSellLimitOrder();
    ObjectDelete(取引管理EA:売り制限)
    }
    if(ObjectStopOrders == True)
    {
    int BuyStopX = ObjectGet(取引管理EA:買いストップ、OBJPROP_XDISTANCE);
    int BuyStopY = ObjectGet(取引管理EA:買いストップ、OBJPROP_YDISTANCE);
    int BuyStopPresent = ObjectFind(取引管理EA:買いストップ);
    if(
    (DeleteOnly == False(BuyStopX!= TradeObjectsXDistance || BuyStopY!= TradeObjectsYDistance))||
    (DeleteOnly == TrueBuyStopPresent!= 0)

    {
    SendBuyStopOrder();
    ObjectDelete(取引管理EA:買いストップ);
    }
    int SellStopX = ObjectGet(取引管理EA:売りストップ、OBJPROP_XDISTANCE);
    int SellStopY = ObjectGet(取引管理EA:売りストップ、OBJPROP_YDISTANCE);
    int SellStopPresent = ObjectFind(取引管理EA:売りストップ);
    if(
    (DeleteOnly == False(SellStopX!= TradeObjectsXDistance || SellStopY!= TradeObjectsYDistance (TradeObjectsFontSize * 9) (TradeObjectsYSpace * 9)))||
    (DeleteOnly == TrueSellStopPresent!= 0)

    {
    SendSellStopOrder();
    ObjectDelete(取引管理EA:売りストップ);
    }
    }
    }

    ObjectCreate(取引管理EA:Buy Market、OBJ_LABEL、0,0,0);
    ObjectSetText(取引管理EA:Buy Market、CharToStr(WingdingObjectOrders)、TradeWingDingFontSize、WingDings、BuyMarketColour);
    ObjectSet(取引管理EA:Buy Market、OBJPROP_CORNER、1);
    ObjectSet(取引管理EA:買い市場、OBJPROP_XDISTANCE、TradeObjectsXDistance)
    ObjectSet(取引管理EA:買い市場、OBJPROP_YDISTANCE、TradeObjectsYDistance TradeObjectsFontSize TradeObjectsYSpace);
    ObjectCreate(取引管理EA:Buy Market Label、OBJ_LABEL、0、0、0);
    ObjectSetText(取引管理EA:Buy Market Label、マーケット、TradeObjectsFontSize、Arial、BuyMarketColour);
    ObjectSet(取引管理EA:Buy Market Label、OBJPROP_CORNER、1);
    ObjectSet(取引管理EA:Buy Market Label、OBJPROP_XDISTANCE、TradeObjectsXDistance TradeObjectsXSpace);
    ObjectSet(取引管理EA:Buy Market Label、OBJPROP_YDISTANCE、TradeObjectsYDistance TradeObjectsFontSize TradeObjectsYSpace TradeWingDingFontSize-TradeObjectsFontSize)
    ObjectCreate(取引管理EA:閉じる、OBJ_LABEL、0、0、0);
    ObjectSetText(取引管理EA:閉じる、CharToStr(WingdingObjectOrders)、TradeWingDingFontSize、WingDings、CloseColour);
    ObjectSet(取引管理EA:閉じる、OBJPROP_CORNER、1);
    ObjectSet(取引管理EA:閉じる、OBJPROP_XDISTANCE、TradeObjectsXDistance);
    ObjectSet(取引管理EA:閉じる、OBJPROP_YDISTANCE、TradeObjectsYDistance (TradeObjectsFontSize * 3) (TradeObjectsYSpace * 3));
    ObjectCreate(取引管理EA:Close Label、OBJ_LABEL、0,0,0);
    ObjectSetText(取引管理EA:Close Label、CLOSE、TradeObjectsFontSize、Arial、CloseColour);
    ObjectSet(取引管理EA:Close Label、OBJPROP_CORNER、1);
    ObjectSet(取引管理EA:クローズラベル、OBJPROP_XDISTANCE、TradeObjectsXDistance TradeObjectsXSpace);
    ObjectSet(取引管理EA:クローズラベル、OBJPROP_YDISTANCE、TradeObjectsYDistance (TradeObjectsFontSize * 3) (TradeObjectsYSpace * 3) TradeWingDingFontSize-TradeObjectsFontSize)

    ObjectCreate(取引管理EA:設定BE、OBJ_LABEL、0、0、0);
    ObjectSetText(取引管理EA:Set BE、CharToStr(WingdingObjectOrders)、TradeWingDingFontSize、WingDings、CloseColour);
    ObjectSet(取引管理EA:Set BE、OBJPROP_CORNER、1);
    ObjectSet(取引管理EA:Set BE、OBJPROP_XDISTANCE、TradeObjectsXDistance)。
    ObjectSet(取引管理EA:Set BE、OBJPROP_YDISTANCE、TradeObjectsYDistance (TradeObjectsFontSize * 4) (TradeObjectsYSpace * 4));
    ObjectCreate(取引管理EA:Set BE Label、OBJ_LABEL、0,0,0);
    ObjectSetText(取引管理EA:SET BEラベル、SET BE、TradeObjectsFontSize、Arial、CloseColour);
    ObjectSet(取引管理EA:Set BE Label、OBJPROP_CORNER、1)。
    ObjectSet(取引管理EA:Set BEラベル、OBJPROP_XDISTANCE、TradeObjectsXDistance TradeObjectsXSpace)。
    ObjectSet(取引管理EA:Set BEラベル、OBJPROP_YDISTANCE、TradeObjectsYDistance (TradeObjectsFontSize * 4) (TradeObjectsYSpace * 4) TradeWingDingFontSize-TradeObjectsFontSize);
    if(AutoBE == True)
    int AutoBEWingDing = 252。
    それ以外の
    AutoBEWingDing = WingdingObjectOrders;

    ObjectCreate(取引管理EA:AutoBE、OBJ_LABEL、0、0、0);
    ObjectSetText(取引管理EA:AutoBE、CharToStr(AutoBEWingDing)、TradeWingDingFontSize、WingDings、CloseColour);
    ObjectSet(取引管理EA:AutoBE、OBJPROP_CORNER、1);
    ObjectSet(取引管理EA:AutoBE、OBJPROP_XDISTANCE、TradeObjectsXDistance);
    ObjectSet(取引管理EA:AutoBE、OBJPROP_YDISTANCE、TradeObjectsYDistance (TradeObjectsFontSize * 5) (TradeObjectsYSpace * 5));
    ObjectCreate(取引管理EA:AutoBEラベル、OBJ_LABEL、0、0、0);
    ObjectSetText(取引管理EA:AutoBEラベル、AUTO BE、TradeObjectsFontSize、Arial、CloseColour);
    ObjectSet(取引管理EA:AutoBEラベル、OBJPROP_CORNER、1);
    ObjectSet(取引管理EA:AutoBEラベル、OBJPROP_XDISTANCE、TradeObjectsXDistance TradeObjectsXSpace);
    ObjectSet(取引管理EA:AutoBEラベル、OBJPROP_YDISTANCE、TradeObjectsYDistance (TradeObjectsFontSize * 5) (TradeObjectsYSpace * 5) TradeWingDingFontSize-TradeObjectsFontSize)
    if(TrailActive == True)
    int TrailWingDing = 252。
    それ以外の
    TrailWingDing = WingdingObjectOrders;

    ObjectCreate(取引管理EA:Trail、OBJ_LABEL、0,0,0);
    ObjectSetText(取引管理EA:Trail、CharToStr(TrailWingDing)、TradeWingDingFontSize、WingDings、CloseColour);
    ObjectSet(取引管理EA:Trail、OBJPROP_CORNER、1);
    ObjectSet(取引管理EA:Trail、OBJPROP_XDISTANCE、TradeObjectsXDistance);
    ObjectSet(取引管理EA:Trail、OBJPROP_YDISTANCE、TradeObjectsYDistance (TradeObjectsFontSize * 6) (TradeObjectsYSpace * 6));
    ObjectCreate(取引管理EA:Trail Label、OBJ_LABEL、0,0,0);
    ObjectSetText(取引管理EA:Trail Label、TRAIL、TradeObjectsFontSize、Arial、CloseColour);
    ObjectSet(取引管理EA:Trail Label、OBJPROP_CORNER、1);
    ObjectSet(取引管理EA:証跡ラベル、OBJPROP_XDISTANCE、TradeObjectsXDistance TradeObjectsXSpace);
    ObjectSet(取引管理EA:証跡ラベル、OBJPROP_YDISTANCE、TradeObjectsYDistance (TradeObjectsFontSize * 6) (TradeObjectsYSpace * 6) TradeWingDingFontSize-TradeObjectsFontSize);
    ObjectCreate(取引管理EA:売り市場、OBJ_LABEL、0,0,0);
    ObjectSetText(取引管理EA:売り市場、CharToStr(WingdingObjectOrders)、TradeWingDingFontSize、WingDings、SellMarketColour);
    ObjectSet(取引管理EA:売り市場、OBJPROP_CORNER、1);
    ObjectSet(取引管理EA:売り市場、OBJPROP_XDISTANCE、TradeObjectsXDistance);
    ObjectSet(取引管理EA:売り市場、OBJPROP_YDISTANCE、TradeObjectsYDistance (TradeObjectsFontSize * 8) (TradeObjectsYSpace * 8));

    ObjectCreate(取引管理EA:売りラベル、OBJ_LABEL、0、0、0)
    ObjectSetText(取引管理EA:売りラベル、マーケット、TradeObjectsFontSize、Arial、SellMarketColour);
    ObjectSet(取引管理EA:売りラベル、OBJPROP_CORNER、1);
    ObjectSet(取引管理EA:売りラベル、OBJPROP_XDISTANCE、TradeObjectsXDistance TradeObjectsXSpace)
    ObjectSet(取引管理EA:売りラベル、OBJPROP_YDISTANCE、TradeObjectsYDistance (TradeObjectsFontSize * 8) (TradeObjectsYSpace * 8) TradeWingDingFontSize-TradeObjectsFontSize);
    ObjectCreate(取引管理EA:買い制限、OBJ_LABEL、0、0、0);
    ObjectSetText(取引管理EA:購入限度額、CharToStr(WingdingObjectOrders)、TradeWingDingFontSize、WingDings、BuyLimitColour);
    ObjectSet(取引管理EA:購入限度額、OBJPROP_CORNER、1);
    ObjectSet(取引管理EA:購入限度額、OBJPROP_XDISTANCE、TradeObjectsXDistance)
    ObjectSet(取引管理EA:購入限度額、OBJPROP_YDISTANCE、TradeObjectsYDistance (TradeObjectsFontSize * 2) (TradeObjectsYSpace * 2));
    ObjectCreate(取引管理EA:Buy Limit Label、OBJ_LABEL、0、0、0);
    ObjectSetText(取引管理EA:買い限界ラベル、LIMIT、TradeObjectsFontSize、Arial、BuyLimitColour);
    ObjectSet(取引管理E.
    ObjectSet(取引管理EA:買い限界ラベル、OBJPROP_XDISTANCE、TradeObjectsXDistance TradeObjectsXSpace)
    ObjectSet(取引管理EA:買い限界ラベル、OBJPROP_YDISTANCE、TradeObjectsYDistance (TradeObjectsFontSize * 2) (TradeObjectsYSpace * 2) TradeWingDingFontSize-TradeObjectsFontSize)
    ObjectCreate(取引管理EA:売り限度、OBJ_LABEL、0、0、0);
    ObjectSetText(取引管理EA:売り制限、CharToStr(WingdingObjectOrders)、TradeWingDingFontSize、WingDings、SellLimitColour)
    ObjectSet(取引管理EA:売り制限、OBJPROP_CORNER、1);
    ObjectSet(取引管理EA:売り制限、OBJPROP_XDISTANCE、TradeObjectsXDistance)
    ObjectSet(取引管理EA:売り限度、OBJPROP_YDISTANCE、TradeObjectsYDistance (TradeObjectsFontSize * 7) (TradeObjectsYSpace * 7));

    ObjectCreate(取引管理EA:売り制限ラベル、OBJ_LABEL、0、0、0);
    ObjectSetText(取引管理EA:売り制限ラベル、LIMIT、TradeObjectsFontSize、Arial、SellLimitColour);
    ObjectSet(取引管理EA:売り限度ラベル、OBJPROP_CORNER、1);
    ObjectSet(取引管理EA:売り限度ラベル、OBJPROP_XDISTANCE、TradeObjectsXDistance TradeObjectsXSpace);
    ObjectSet(取引管理EA:売り制限ラベル、OBJPROP_YDISTANCE、TradeObjectsYDistance (TradeObjectsFontSize * 7) (TradeObjectsYSpace * 7) TradeWingDingFontSize-TradeObjectsFontSize)
    if(ObjectStopOrders == True)
    {
    ObjectCreate(取引管理EA:買いストップ、OBJ_LABEL、0、0、0);
    ObjectSetText(取引管理EA:買いストップ、CharToStr(WingdingObjectOrders)、TradeWingDingFontSize、WingDings、BuyStopColour);
    ObjectSet(取引管理EA:買いストップ、OBJPROP_CORNER、1);
    ObjectSet(取引管理EA:買いストップ、OBJPROP_XDISTANCE、TradeObjectsXDistance)
    ObjectSet(取引管理EA:買いストップ、OBJPROP_YDISTANCE、TradeObjectsYDistance)
    ObjectCreate(取引管理EA:買いストップラベル、OBJ_LABEL、0、0、0);
    ObjectSetText(取引管理EA:購入ストップラベル、STOP、TradeObjectsFontSize、Arial、BuyStopColour);
    ObjectSet(取引管理EA:買いストップラベル、OBJPROP_CORNER、1);
    ObjectSet(取引管理EA:買いストップラベル、OBJPROP_XDISTANCE、TradeObjectsXDistance TradeObjectsXSpace);
    ObjectSet(取引管理EA:買いストップラベル、OBJPROP_YDISTANCE、TradeObjectsYDistance TradeWingDingFontSize-TradeObjectsFontSize);
    ObjectCreate(取引管理EA:売りストップ、OBJ_LABEL、0,0,0);
    ObjectSetText(取引管理EA:売りストップ、CharToStr(WingdingObjectOrders)、TradeWingDingFontSize、WingDings、SellStopColour);
    ObjectSet(取引管理EA:売りストップ、OBJPROP_CORNER、1);
    ObjectSet(取引管理EA:売りストップ、OBJPROP_XDISTANCE、TradeObjectsXDistance);
    ObjectSet(取引管理EA:売りストップ、OBJPROP_YDISTANCE、TradeObjectsYDistance (TradeObjectsFontSize * 9) (TradeObjectsYSpace * 9));

    ObjectCreate(取引管理EA:売りストップラベル、OBJ_LABEL、0,0,0);
    ObjectSetText(取引管理EA:売りストップラベル、STOP、TradeObjectsFontSize、Arial、SellStopColour);
    ObjectSet(取引管理EA:売りストップラベル、OBJPROP_CORNER、1);
    ObjectSet(取引管理EA:売りストップラベル、OBJPROP_XDISTANCE、TradeObjectsXDistance TradeObjectsXSpace);
    ObjectSet(取引管理EA:売りストップラベル、OBJPROP_YDISTANCE、TradeObjectsYDistance (TradeObjectsFontSize * 9) (TradeObjectsYSpace * 9) TradeWingDingFontSize-TradeObjectsFontSize);
    }
    それ以外の
    {
    ObjectDelete(取引管理EA:買いストップ);
    ObjectDelete(取引管理EA:Buy Stop Label);
    ObjectDelete(取引管理EA:売りストップ);
    ObjectDelete(取引管理EA:売りストップラベル);
    }

    FirstRun = False。
    }
    それ以外の
    {
    ObjectDelete(取引管理EA:買い市場);
    ObjectDelete(取引管理EA:買い制限)
    ObjectDelete(取引管理EA:買いストップ);
    ObjectDelete(取引管理EA:閉じる);
    ObjectDelete(取引管理EA:設定BE);
    ObjectDelete(取引管理EA:AutoBE);
    ObjectDelete(取引管理EA:証跡);
    ObjectDelete(取引管理EA:売り市場);
    ObjectDelete(取引管理EA:売り制限)
    ObjectDelete(取引管理EA:売りストップ);

    ObjectDelete(取引管理EA:Buy Market Label);
    ObjectDelete(取引管理EA:Buy Limit Label);
    ObjectDelete(取引管理EA:Buy Stop Label);
    ObjectDelete(取引管理EA:Close Label);
    ObjectDelete(取引管理EA:Set BE Label);
    ObjectDelete(取引管理EA:AutoBEラベル);
    ObjectDelete(取引管理EA:Trail Label);
    ObjectDelete(取引管理EA:売り市場ラベル);
    ObjectDelete(取引管理EA:売り制限ラベル)
    ObjectDelete(取引管理EA:売りストップラベル);
    }

    //---------メインセッション------------------------------------- --------------------

    static int NextModifyTime。

    if(MaintainSession == TrueTimeLocal()gt; NextModifyTime)
    {

    i = 0。
    while(IsTradeContextBusy()== True)
    {
    スリープ(100)
    i ;
    if(igt; 100)
    (0)を返します。
    }

    bool IsOrderPresent = FALSE;
    (i = 0; ilt; OrdersTotal(); i )の場合
    {
    OrderSelect(i、SELECT_BY_POS);
    if(OrderMagicNumber()== MyMagicNumber)
    IsOrderPresent = TRUE;
    }

    if(IsOrderPresent == FALSE)
    {
    if(OrderSend(Symbol()、OP_BUYLIMIT、MarketInfo(Symbol()、MODE_MINLOT)、Point、0,0,0,0、MyMagicNumber、0)lt; 0)
    {
    文字列ErrorString = ErrorDescription(GetLastError());
    コメント(メインセッションの注文が失敗しました。理由:、ErrorString);
    印刷(セッションの主な注文の受付に失敗しました。理由:、ErrorString);
    (0)を返します。
    }
    }

    (i = 0; ilt; OrdersTotal(); i )の場合
    {
    OrderSelect(i、SELECT_BY_POS);
    if(OrderMagicNumber()== MyMagicNumber)
    {
    if(OrderTakeProfit()!= 0)
    double TPPrice = 0。
    if(OrderTakeProfit()== 0)
    TPPrice =(Point * 100000);
    int ms1 = GetTickCount();
    if(OrderModify(OrderTicket()、OrderOpenPrice()、0、TPPrice、0)== False)
    {
    ErrorString = ErrorDescription(GetLastError());
    コメント(メインセッションオーダーの変更に失敗しました。理由:、、ErrorString);
    印刷(メインセッション注文の変更に失敗しました。理由:、ErrorString);
    }
    それ以外の
    {
    if(RunInfiniteLoop == True)
    intデュレーション= 28。
    それ以外の
    期間= 25。
    NextModifyTime = TimeLocal() Duration;
    int ms2 = GetTickCount();
    int ExeTime = ms2-ms1;
    印刷(メインセッション実行時間:、ExeTime);
    }
    }
    }
    }
    WindowRedraw();
    if(RunInfiniteLoop == True)
    スリープ(RunIntervalMS)。
    それ以外の
    ブレーク;
    }
    (0)を返します。
    }

    bool RunClose(int TicketNumber、ダブルClickedPrice、ダブルCloseLots、ストリングMyComment)
    {
    while(IsTradeContextBusy()== True)
    {
    コメント(RUN CLOSE:未確認となるために取引コンテクストを待っている);
    スリープ(10)
    int i; i ;
    if(igt; 500)
    {
    コメント(RUN CLOSE:TRADE CONTEXT TIMEOUT);
    PlaySound(timeout.wav);
    戻り値(False)。
    }
    }

    RefreshRates();
    コメント(RUN CLOSE:CLOSING POSITION);

    int ms1 = GetTickCount();
    ストリングClickedTime = TimeToStr(TimeCurrent()、TIME_SECONDS);
    doubleClick Bid = Bid;
    double ClickedAsk = Ask;
    OrderSelect(TicketNumber、SELECT_BY_TICKET);
    if(OrderClose(TicketNumber、CloseLots、OrderClosePrice()、100)== TRUE)
    {
    int ms2 = GetTickCount();

    OrderSelect(TicketNumber、SELECT_BY_TICKET);

    string CloseTimeDMY = StringSubstr(TimeToStr(OrderCloseTime()、TIME_DATE)、8,2) - StringSubstr(TimeToStr(OrderCloseTime()、TIME_DATE)、5,2) - StringSubstr(TimeToStr(OrderCloseTime()、TIME_DATE)、 0,4);
    ストリングCloseTimeHMS = TimeToStr(OrderCloseTime()、TIME_SECONDS);
    double ExeTime = ms2 - ms1。
    switch(OrderType())
    {
    ケース0:文字列Direction = SELL。ダブルスリッページ=(OrderClosePrice() - クリック価格)/(Point * 10);
    ケース1:Direction = BUY; Slippage =(ClickedPrice-OrderClosePrice())/(Point * 10);
    }
    印刷する(SLIPPAGE:、Slippage)
    印刷(実行時間:、実行時間);

    int Handle = FileOpen(実行ログ/a.csv、FILE_READ | FILE_WRITE);
    FileClose(ハンドル)。
    FileDelete(実行ログ/a.csv);

    文字列FileName =実行ログ/ AccountNumber() EXECUTION LOG.csv;
    Handle = FileOpen(FileName、FILE_CSV | FILE_READ | FILE_WRITE、 '、');
    if(Handlegt; 0)
    {
    FileSeek(ハンドル、0、SEEK_END);
    FileWrite(ハンドル、AccountNumber()、TicketNumber、CloseTimeDMY、CloseTimeHMS、OrderSymbol()、MyComment、Direction、OrderLots()、ClickedTime、ClickedBid、ClickedAsk、ClickedPrice、OrderClosePrice()、Slippage、ExeTime);
    FileClose(ハンドル)。
    PlaySound(ok.wav);
    コメント();
    }
    それ以外の
    {
    PlaySound(timeout.wav);
    文字列ErrorString = ErrorDescription(GetLastError());
    コメント(RUN CLOSE:FILE OPEN FAILED。理由:、ErrorString);
    印刷(ファイルオープンに失敗しました。理由:、ErrorString);
    }
    }
    それ以外の
    {
    PlaySound(timeout.wav);
    ErrorString = ErrorDescription(GetLastError());
    コメント(RUN CLOSE:ORDER CLOSE FAILED。理由:、ErrorString);
    印刷(注文のクローズに失敗しました。理由:、ErrorString);
    戻り値(False)。
    }
    戻り値(True)。
    }

    int SendBuyMarketOrder(ブール値HiddenPending)
    {
    if(SendMultipleOrders == 1)
    {
    static int LastBuyMarketTime。
    if(TimeLocal() - LastBuyMarketTimelt; = 2)
    (0)を返します。
    LastBuyMarketTime = TimeLocal();
    }
    if(SendMultipleOrdersgt; 1)
    ShowConfirm = True。

    Lots = CalculateLots();
    if(ShowConfirm == TrueHiddenPending == False)
    {
    int MessageBoxResult = MessageBox(Buy Symbol() DoubleToStr(Lots、2) マーケットでロット?,, 0x00000004 | 0x00000030);
    if(MessageBoxResult!= 6)
    (0)を返します。
    }
    RefreshRates();
    int TicketNumber = OrderSend(Symbol()、OP_BUY、Lots、Ask、0,0,0);
    if(TicketNumbergt; 0)
    PlaySound(ok.wav);
    それ以外の
    {
    PlaySound(timeout.wav);
    文字列ErrorString = ErrorDescription(GetLastError());
    コメント(購入注文が失敗しました。理由:、ErrorString);
    印刷(購入注文が失敗しました。理由:、ErrorString);
    }
    (0)を返します。
    }

    int SendBuyLimitOrder()
    {
    static int LastBuyLimitTime。
    if(TimeLocal() - LastBuyLimitTimelt; = 2)
    (0)を返します。
    LastBuyLimitTime = TimeLocal();

    for(int i = 0; ilt; 10; i )
    {
    if(ObjectFind(取引管理EA:Line Buy Limit i)== - 1)
    {
    int j = i;
    ブレーク;
    }
    }

    if(UseWingDings == False)
    {
    ObjectCreate(取引管理EA:Line Buy Limit j、OBJ_HLINE、0、TimeCurrent()、Ask-(DistancePendingOrder * Point));
    ObjectSet(取引管理EA:Line Buy Limit j、OBJPROP_COLOR、PendingColour);
    ObjectSet(取引管理EA:Line Buy Limit j、OBJPROP_STYLE、LineStyleEntry);
    double LineBuyLimitPrice = NormalizeDouble(ObjectGet(取引管理EA:Line Buy Limit j、OBJPROP_PRICE1)、数字);
    ObjectCreate(取引管理EA:チケット購入制限なし j、OBJ_TEXT、0、時間[80]、LineBuyLimitPrice);
    ObjectSetText(取引管理EA:チケット購入制限なし j、購入制限、10、Arial、PendingColour);
    }
    それ以外の
    {
    ObjectCreate(取引管理EA:Line Buy Limit j、OBJ_TREND、0、TimeCurrent()、Ask-(DistancePendingOrder * Point)、Time [10]、Ask-(DistancePendingOrder * Point));
    ObjectSet(取引管理EA:Line Buy Limit j、OBJPROP_WIDTH、OrderLineThickness);
    ObjectSet(取引管理EA:Line Buy Limit j、OBJPROP_COLOR、PendingColour);
    ObjectSet(取引管理EA:Line Buy Limit j、OBJPROP_RAY、False);
    LineBuyLimitPrice = NormalizeDouble(ObjectGet(取引管理EA:Line Buy Limit j、OBJPROP_PRICE1)、数字);
    //ObjectCreate(取引管理EA:Wingding Buy Limit j、OBJ_TEXT、0、TimeCurrent()、LineBuyLimitPrice);
    //ObjectSetText(取引管理EA:Wingding Buy Limit j、CharToStr(Wingding)、10、WingDings、PendingColour);
    }
    double BuyLimitDistance =(Ask-LineBuyLimitPrice)/(Point);
    文字列BuyLimitDistanceStr = DoubleToStr(BuyLimitDistance、0);
    ObjectCreate(取引管理EA:買値の上限 j、OBJ_TEXT、0、時間[10]、LineBuyLimitPrice)
    ObjectSetText(取引管理EA:Distance Buy Limit j、BuyLimitDistanceStr、13、Arial、PendingColour)
    (0)を返します。
    }
    int SendBuyStopOrder()
    {
    static int LastBuyStopTime。
    if(TimeLocal() - LastBuyStopTimelt; = 2)
    (0)を返します。
    LastBuyStopTime = TimeLocal();
    for(int i = 0; ilt; 10; i )
    {
    if(ObjectFind(取引管理EA:Line Buy Stop i)== - 1)
    {
    int j = i;
    ブレーク;
    }
    }
    if(UseWingDings == False)
    {
    ObjectCreate(取引管理EA:Line Buy Stop j、OBJ_HLINE、0、TimeCurrent()、Ask (DistancePendingOrder * Point));
    ObjectSet(取引管理EA:Line Buy Stop j、OBJPROP_COLOR、PendingColour);
    ObjectSet(取引管理EA:Line Buy Stop j、OBJPROP_STYLE、LineStyleEntry);
    double LineBuyStopPrice = NormalizeDouble(ObjectGet(取引管理EA:Line Buy Stop j、OBJPROP_PRICE1)、数字);
    ObjectCreate(取引管理EA:チケットなし購入ストップ j、OBJ_TEXT、0、時間[80]、LineBuyStopPrice);
    ObjectSetText(取引管理EA:チケットなし購入ストップ j、購入ストップ、10、Arial、PendingColour);
    }
    それ以外の
    {
    ObjectCreate(取引管理EA:Line Buy Stop j、OBJ_TREND、0、TimeCurrent()、Ask (DistancePendingOrder * Point)、Time [10]、Ask (DistancePendingOrder * Point));
    ObjectSet(取引管理EA:Line Buy Stop j、OBJPROP_WIDTH、OrderLineThickness);
    ObjectSet(取引管理EA:Line Buy Stop j、OBJPROP_COLOR、PendingColour);
    ObjectSet(取引管理EA:Line Buy Stop j、OBJPROP_RAY、False);
    LineBuyStopPrice = NormalizeDouble(ObjectGet(取引管理EA:Line Buy Stop j、OBJPROP_PRICE1)、数字);
    //ObjectCreate(取引管理EA:Wingding Buy Stop j、OBJ_TEXT、0、TimeCurrent()、LineBuyStopPrice);
    //ObjectSetText(取引管理EA:Wingding Buy Stop j、CharToStr(Wingding)、10、WingDings、PendingColour);
    }
    double BuyStopDistance =(LineBuyStopPrice-Ask)/(Point);
    文字列BuyStopDistanceStr = DoubleToStr(BuyStopDistance、0);
    ObjectCreate(取引管理EA:距離買いストップ j、OBJ_TEXT、0、時間[10]、LineBuyStopPrice);
    ObjectSetText(取引管理EA:Distance Buy Stop j、BuyStopDistanceStr、13、Arial、PendingColour);
    (0)を返します。
    }

    int SendSellMarketOrder(ブール値HiddenPending)
    {
    if(SendMultipleOrders == 1)
    {
    static int LastSellMarketTime。
    if(TimeLocal() - LastSellMarketTimelt; = 2)
    (0)を返します。
    LastSellMarketTime = TimeLocal();
    }
    if(SendMultipleOrdersgt; 1)
    ShowConfirm = True。
    Lots = CalculateLots();
    if(ShowConfirm == TrueHiddenPending == False)
    {
    int MessageBoxResult = MessageBox(売り シンボル() DoubleToStr(ロット数2) 市場でのロット?,, 0x00000004 | 0x00000030);
    if(MessageBoxResult!= 6)
    (0)を返します。
    }
    RefreshRates();
    int TicketNumber = OrderSend(Symbol()、OP_SELL、Lots、Bid、0,0,0);
    if(TicketNumbergt; 0)
    PlaySound(ok.wav);
    それ以外の
    {
    PlaySound(timeout.wav);
    文字列ErrorString = ErrorDescription(GetLastError());
    コメント(売り注文が失敗しました。理由:、ErrorString);
    印刷(売り注文が失敗しました。理由:、ErrorString);
    }
    (0)を返します。
    }
    int SendSellLimitOrder()
    {
    static int LastSellLimitTime。
    if(TimeLocal() - LastSellLimitTimelt; = 2)
    (0)を返します。
    LastSellLimitTime = TimeLocal();
    for(int i = 0; ilt; 10; i )
    {
    if(ObjectFind(取引管理EA:Line Sell Limit i)== - 1)
    {
    int j = i;
    ブレーク;
    }
    }
    if(UseWingDings == False)
    {
    ObjectCreate(取引管理EA:Line Sell Limit j、OBJ_HLINE、0、TimeCurrent()、Bid (DistancePendingOrder * Point));
    ObjectSet(取引管理EA:Line Sell Limit j、OBJPROP_COLOR、PendingColour);
    ObjectSet(取引管理EA:Line Sell Limit j、OBJPROP_STYLE、LineStyleEntry);
    double LineSellLimitPrice = NormalizeDouble(ObjectGet(取引管理EA:Line Sell Limit j、OBJPROP_PRICE1)、数字);
    ObjectCreate(取引管理EA:チケット無売り限度+ j、OBJ_TEXT、0、時間[80]、LineSellLimitPrice)。
    ObjectSetText(取引管理EA:チケットなし売り制限+ j、売り制限、10、Aial、PendingColour);
    }
    それ以外の
    {
    ObjectCreate(取引管理EA:Line Sell Limit j、OBJ_TREND、0、TimeCurrent()、Bid (DistancePendingOrder * Point)、Time [10]、Bid (DistancePendingOrder * Point));
    ObjectSet(取引管理EA:Line Sell Limit j、OBJPROP_WIDTH、OrderLineThickness);
    ObjectSet(取引管理EA:Line Sell Limit j、OBJPROP_COLOR、PendingColour);
    ObjectSet(取引管理EA:Line Sell Limit j、OBJPROP_RAY、False)。
    LineSellLimitPrice = NormalizeDouble(ObjectGet(取引管理EA:Line Sell Limit j、OBJPROP_PRICE1)、数字);
    //ObjectCreate(取引管理EA:Wingding Sell Limit j、OBJ_TEXT、0、TimeCurrent()、LineSellLimitPrice);
    //ObjectSetText(取引管理EA:Wingding Sell Limit j、CharToStr(Wingding)、10、WingDings、PendingColour);
    }
    double SellLimitDistance =(LineSellLimitPrice-Bid)/(Point);
    文字列SellLimitDistanceStr = DoubleToStr(SellLimitDistance、0);
    ObjectCreate(取引管理EA:距離売り限度+ j、OBJ_TEXT、0、時間[10]、LineSellLimitPrice)。
    ObjectSetText(取引管理EA:Distance Sell Limit j、SellLimitDistanceStr、13、Arial、PendingColour);
    (0)を返します。
    }

    int SendSellStopOrder()
    {
    static int LastSellStopTime。
    if(TimeLocal() - LastSellStopTimelt; = 2)
    (0)を返します。
    LastSellStopTime = TimeLocal();
    for(int i = 0; ilt; 10; i )
    {
    if(ObjectFind(取引管理EA:Line Sell Stop i)== - 1)
    {
    int j = i;
    ブレーク;
    }
    }
    if(UseWingDings == False)
    {
    ObjectCreate(取引管理EA:Line Sell Stop j、OBJ_HLINE、0、TimeCurrent()、Bid-(DistancePendingOrder * Point));
    ObjectSet(取引管理EA:Line Sell Stop j、OBJPROP_COLOR、PendingColour);
    ObjectSet(取引管理EA:Line Sell Stop j、OBJPROP_STYLE、LineStyleEntry);
    double LineSellStopPrice = NormalizeDouble(ObjectGet(取引管理EA:Line Sell Stop j、OBJPROP_PRICE1)、数字);
    ObjectCreate(取引管理EA:チケットなし売りストップ j、OBJ_TEXT、0、時間[80]、LineSellStopPrice);
    ObjectSetText(取引管理EA:チケットなし売りストップ j、売りストップ、10、Arial、PendingColour);
    }
    それ以外の
    {
    ObjectCreate(取引管理EA:Line Sell Stop j、OBJ_TREND、0、TimeCurrent()、Bid-(DistancePendingOrder * Point)、Time [10]、Bid-(DistancePendingOrder * Point));
    ObjectSet(取引管理EA:Line Sell Stop j、OBJPROP_WIDTH、OrderLineThickness);
    ObjectSet(取引管理EA:Line Sell Stop j、OBJPROP_COLOR、PendingColour);
    ObjectSet(取引管理EA:Line Sell Stop j、OBJPROP_RAY、False);
    LineSellStopPrice = NormalizeDouble(ObjectGet(取引管理EA:Line Sell Stop j、OBJPROP_PRICE1)、数字);
    //ObjectCreate(取引管理EA:Wingding Sell Stop j、OBJ_TEXT、0、TimeCurrent()、LineSellStopPrice);
    //ObjectSetText(取引管理EA:Wingding Sell Stop j、CharToStr(Wingding)、10、WingDings、PendingColour);
    }
    double SellStopDistance =(Bid-LineSellStopPrice)/(Point);
    文字列SellStopDistanceStr = DoubleToStr(SellStopDistance、0);
    ObjectCreate(取引管理EA:Distance Sell Stop j、OBJ_TEXT、0、時間[10]、LineSellStopPrice);
    ObjectSetText(取引管理EA:Distance Sell Stop j、SellStopDistanceStr、13、Arial、PendingColour)
    (0)を返します。
    }
    int SendCloseOrder()
    {
    static int LastCloseMarketTime。
    if(TimeLocal() - LastCloseMarketTimelt; = 2)
    (0)を返します。
    LastCloseMarketTime = TimeLocal();
    if(ShowConfirm == True)
    {
    int MessageBoxResult = MessageBox(すべて閉じる Symbol() 市場での取引?,, 0x00000004 | 0x00000030);
    if(MessageBoxResult!= 6)
    (0)を返します。
    }
    RefreshRates();
    (int i = OrdersTotal() - 1; igt; = 0; i--)
    {
    OrderSelect(i、SELECT_BY_POS);
    if(OrderSymbol()== Symbol()OrderType()lt; = 1)
    {
    if(OrderClose(OrderTicket()、OrderLots()、OrderClosePrice()、100)== True)
    PlaySound(ok.wav);
    それ以外の
    {
    PlaySound(timeout.wav);
    文字列ErrorString = ErrorDescription(GetLastError());
    コメント(CLOSE ORDER FAILED。理由:、ErrorString);
    印刷(CLOSE ORDER FAILED。理由:、ErrorString);
    }
    }
    }
    (0)を返します。
    }
    int SetBE()
    {
    (int i = OrdersTotal() - 1; igt; = 0; i--)
    {
    OrderSelect(i、SELECT_BY_POS);
    if(OrderSymbol()== Symbol()OrderType()lt; = 1)
    {
    int TicketNo = OrderTicket();
    if(OrderProfit()gt; 0)
    ObjectMove(取引管理EA:Line SL TicketNo、0、OrderOpenTime()、OrderOpenPrice());
    }
    }
    }

    double CalculateLots()
    {
    RefreshRates();
    double LotPoint = MarketInfo(Symbol()、MODE_LOTSTEP);
    if(ロット== 0)
    ロット=(MathFloor(((AccountEquity()* RiskPercent * 0.01)/(DefaultSL * MarketInfo(Symbol()、MODE_TICKVALUE)) CommissionPerLot))/LotPoint)
    return(たくさん);
    }

    問題を起こし、いくつかの変更が必要な機能は次のとおりです。
    1. EAは正しい方法でリスクを計算しません(自分で試してください)。そのため、私は自分のために取引ごとにリスクを計算しなければならず、かなりの時間がかかります(同時に20のチャートを管理します) 。
    2. EAが特定の量のピップの後にAuto-BEになると、これが発生したときにアラームが表示されます。
    3. EAが特定の量のピップの後にAuto-BEになると、TRAIL機能に戻る可能性があるので、Auto-BEはこの取引には無効です。 AUTO-BEが実行される前に、LOSSは元のStop-LOSSに戻る必要があります。
    4.現時点では、1ポジションに対して1つのClose-Profit-lineをPercentで設定することができます(取引の50%としましょう)。
    5. EAは希望するオフラインチャートタイムフレーム= 8時間で機能するはずです。



    私の何人かのコーダーが適切に機能するために必要な変更を加えることに興味があるように、私は今あなた全員とこのコードを共有したいと思います。
    私はここでどんな助けにも感謝します。
    添付ファイルはTrade-Manager-EAです。
    ご清聴ありがとうございました。
    欲張りザック

    https://www.forexgroove.com/attachme...1161669919.mq4

  2. #2
    何人かのコーダーが興味を持っているなら、私は存在するEAの変化の代金を払うつもりです。

  3. #3
    1添付資料こんにちは、上記のTrade-Manager-EAの機能を理解するために詳細な情報を必要とすることは、一部の会員からの強烈な意見でした。わかりましたここにもっと多くの情報があります:rooicol - Manage Orders EAはあなたのエキスパートフォルダーに入ります。入力:ModifySLTPActive - SL注文とTP注文を変更するかどうかを切り替えます。EACloseSLActive - ストップ注文で成行注文(True)とSL注文(False)のどちらで取引をクローズするかを切り替えます。 EACloseTPActive - 指値側で成行注文(True)とTP注文(False)のどちらで取引をクローズするかを切り替えます。 EAClosePartialActive - これは定義されたレベルで部分的なトレードをクローズするかどうかを切り替えます。 ExceptMagicNumber - これを特定の取引での実行から除外したいが他の取引では実行したい場合距離 - これはEACloseSLActiveまたはEACloseTPActiveがSLまたはTP注文の前にEAが取引を終了するポイント数です。 trueに設定してください。部分的なクローズ機能の場合は、Manage Orders:Arrow Close部分的チャートチャートオブジェクトをトレードアウトの一部をクローズする価格にドラッグし、オブジェクトの説明をその価格でクローズするオーダーのロットのパーセンテージに設定します。 66%一度に各証券について1つのチャートでそれを実行することができます、さもなければorder modifyコマンドは互いに衝突します。エキスパートがログインファイルに実行を書き込むためのExecution Logと呼ばれる新しいフォルダーをあなたのexpertfilesディレクトリに作成しなければなりません。Experts Advisorウィンドウで私が見ることができるいくつかのことがあります。 :あなたの好みに合わせてSLを設定してください2 HighLowSL:X-last HighLowから3 SLを設定します3 Bar Count:X-last HighLowを定義します4 Gap:X-last HighLowとSLの間(これは安全のためです)つまり、SLを10ピップス上デフォルトのTP:好みに合わせてTPを設定します。6デフォルトのCPPercent:ロトサイズのx-パーセンテージで部分利益ラインを閉じます7 HardSLTPActive:ハードSLTPを共有する(しない)場合はtruefalseブローカーとの取引8 HardSLTPDistance:X-pipsでのSL 9 AutoBEPoints:X-pipsの後にBEに移動10 TrendlineSL:MoneyマネージャとしてTrendlineと取引することを好むまたは好まない場合11 trueまたはfalseに設定します。 Trendline 12 MaintainSessionからSLを読み飛ばす:truefalse EAが機能しているかどうかに関係なく、私のマジックナンバー:同じアセットからもっと多くのチャートを手に入れたいのであれば、異なるマジックナンバーを使うことができます(変更:これは私が望むならうまくいかないようです)同じアカウントで複数のプラットフォームを開くことができます。これは、ここで変更したことの1つです。 )14 Object Orders:チャート内の希望する場所にすべてのTrade Wingdingを表示します(1つのWingdingをクリックすると、明細または成行注文がアクティブになります。15 Object StopOrders:Stop-LimitのTrade Wingdingが表示されます)。注文16複数の注文を送信:MarketLimit(LImitラインで表示)/Stop(ストップリミットラインで表示)1よりも多くの成行注文を受け取ることができます17距離未決注文:LimitStop-Limit -line現在のフォームからXピップ離れた価格18ロット:ロットなしでリスクなしでリスクまたはトレードを手動で計算したい場合19 Risk Percent:自動的にリスクを計算します((変更:これは正しく動作しないようです。自分でテストしてください。20 Lotあたりのコミッション:リスクを計算しますブローカーコミッション(ある場合)21ここでは、チャートとウィンドウの境界からオブジェクトまでの距離とスペースを設定できます(自分で必要な設定を試してください)22ここで、オブジェクトの距離とスペースを設定できますチャートウィンドウの枠線から離れて(自分で必要な設定を試してください)23ここで、チャートウィンドウの枠線から離れたオブジェクトの距離とスペースを設定できます(自分で必要な設定を試してください)24ここで設定できますchart-windoからのオブジェクトの距離と空間w境界線(自分に必要な設定を試してください)ここで、チャートウィンドウの境界線から離れたオブジェクトの距離とスペースを設定できます(自分自身に必要な設定を試してください)。チャートウィンドウの枠線から離れたオブジェクト(必要に応じて設定を試してください)27 Deleteonly:trueをクリックし、いずれかのWingDingsをクリックした場合は、削除ペーストで削除してWingDingを機能させることができます。あなたのためにEAの設定をカスタマイズするあなたはこのセットアップをやり取りするかどうかに依存している場合は、別のウィンドウで確認を確認してください。 、長さなど54 RunInfiniteLoop:あなたのブローカーがあなたにこの機能を使ってブローカーにティックを送ることができるよりもティックを与えていない場合(RunidtervalMS:あなたがブローカーにティックを送るミリ秒を選択してください)問題がある場合は特に気になる人は私の最初の投稿で述べたことを変更しても構わないと思っているすべての関心のあるCodersにお気軽にお問い合わせください。 Trade_manager-EAのスクリーンショットが添付されています。よろしくザック
    https://www.forexgroove.com/trading-...48-volume.html

  4. #4
    また、私はそれを支払うことに興味があります。

  5. #5
    私は無料のためにここで私の前払いTrade-Manager-EAを共有したので、英語の経験がある人は本当に興味がありません。

  6. #6
    こんにちはzackery 99ダウンロード、そして私は誰もがすでに自分自身で問題を認識しようとすると、おそらく誰かがすでに微調整をしていてカップルの改善をしたと思う。私が100番目のダウンローダになることを許可して、私が '赤'でカップルを変えることができるかどうか確かめてください。正直言って私はEAコードの専門家ではない、それが収まるかどうか試してみることになります。

  7. #7
    あなたの努力に感謝します。うまくいけば、あなたはEAにいくつかの変更を加えることができます。

  8. #8

    Quote Originally Posted by ;
    あなたの努力に感謝します。うまくいけば、あなたはEAにいくつかの変更を加えることができます。
    私はプログラマーにリクエストを送りましたが、彼からまだ連絡を受けていません...何か聞こえたら連絡します...

  9. #9

  10. #10
    こんにちは、私はまだ固定料金で5 IndiorsをコーディングするCoderを見つけようとしています。また私は私のTrade-Manager-EAの固定料金のために助けを必要とします(同じ料金のために新しいものをコード化することも可能です)。こちらから、または午後までにご連絡ください。ありがとうザック

投稿権限

  • Youma新しいスレッドを投稿しない
  • Youmaは返信しない
  • あなたは添付ファイルを投稿しないかもしれない
  • Youma Notedityourposts
  •  
  • スマイリーはオンです
  • スマイリーはオンです
  • [IMG]コードがオンです
  • [VIDEO]コードがオンです
  • HTMLコードがオフです
This website uses cookies
We use cookies to store session information to facilitate remembering your login information, to allow you to save website preferences, to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.