1 Lampiran (s) Hi there,
Saya cuba mencari beberapa Coder yang mungkin berminat dalam Re-Coding Trade-Manager-EA saya yang telah saya bayar.
Seorang ahli senior yang dahulunya dikenali sebagai ROOIKOOL (juga seorang Programmer yang sangat baik) telah mengodkan EA ini untuk saya.
Tetapi dia tidak lagi membuat beberapa perubahan dalam EA.
Jadi ada 2-3 ciri yang tidak berfungsi sebagaimana mestinya.
Inilah Kod:
#property hak cipta Dikodkan oleh rooikol
#import stdlib.ex4
string ErrorDescription (int ErrorCode);
extern int DefaultSL = 400;
extern bool HighLowSL = Benar;
extern int BarCount = 3;
extern int Gap = 100;
extern int HighLowSafetyPoints = 100;
extern int DefaultTP = 500;
extern int DefaultCPPercent = 50;
ekstern bool HardSLTPActive = False;
extern int HardSLTPDistance = 400;
extern int AutoBEPoints = 200;
ekstern bool TrendLineSL = False;
extern int TrendLineSLDistance = 40;
ekstern bool MaintainSession = False;
extern int MyMagicNumber = 555;
ekstern 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 = Benar;
extern bool ShowConfirm = False;
warna luar BuyMarketColour = Hijau;
warna luar BuyLimitColour = Hijau;
warna luar BuyStopColour = Hijau;
warna luar CloseColour = Kelabu;
warna luar SellMarketColour = Maroon;
warna luar SellLimitColour = Maroon;
warna luar SellStopColour = Maroon;
extern int LineStyleEntry = STYLE_SOLID;
extern int LineStyleSL = STYLE_DASH;
extern int LineStyleTP = STYLE_DOT;
extern int LineStyleCP = STYLE_DASHDOT;
warna luar Warna = Orange;
warna luar Colour2 = DarkGray;
warna luar Colour3 = Lime;
warna luar Colour4 = Hijau;
warna luar Colour5 = Biru;
warna luar PendingColour = SkyBlue;
extern bool UseWingDings = Palsu;
extern int OrderLineThickness = 5;
extern int OrderLineLength = 10;
warna luar EntryColour = Biru;
warna luar SLColour = Jeruk;
warna luar TPColour = DarkGray;
warna luar CPColour = Lime;
extern int Wingding = 74;
ekstern bool RunInfiniteLoop = False;
extern int RunIntervalMS = 100;
bool FirstRun = Benar;
bool AutoBE = Palsu;
int start ()
{
sementara (IsStopped () == Palsu)
{
RefreshRates ();
jika (MyMagicNumber == 0)
Komen (MyMagicNumber tidak boleh 0!);
//--------- MENGHADAPI TUJUAN PERANGKAAN SEJARAH ----------------------------------- -------
untuk (int i = OrdersHistoryTotal () - 10; ilt; OrdersHistoryTotal (); i )
{
OrderSelect (i, SELECT_BY_POS, MODE_HISTORY);
int TicketNo = OrderTicket ();
ObjectDelete (Pengurusan Perdagangan EA: Line Entry TicketNo);
ObjectDelete (Pengurusan Perdagangan EA: Line SL TicketNo);
ObjectDelete (Pengurusan Perdagangan EA: Line TP TicketNo);
ObjectDelete (Pengurusan Perdagangan EA: Line CP TicketNo);
ObjectDelete (Pengurusan Perdagangan EA: Kemasukan Jarak TicketNo);
ObjectDelete (Pengurusan Perdagangan EA: Distance SL TicketNo);
ObjectDelete (Pengurusan Perdagangan EA: Jarak TP TiketNo);
ObjectDelete (Pengurusan Perdagangan EA: Jarak CP TicketNo);
ObjectDelete (Pengurusan Perdagangan EA: Trend Line TicketNo);
ObjectDelete (Pengurusan Perdagangan EA: Tiket Tidak Memasukkan TicketNo);
ObjectDelete (Pengurusan Perdagangan EA: Ticket No SL TicketNo);
ObjectDelete (Perdagangan Pengurusan EA: Ticket No TP TicketNo);
ObjectDelete (Pengurusan Perdagangan EA: Tiket Tiada CP TicketNo);
ObjectDelete (Pengurusan Perdagangan EA: Entry Wingding TicketNo);
ObjectDelete (Pengurusan Perdagangan EA: Wingding SL TicketNo);
ObjectDelete (Pengurusan Perdagangan EA: Wingding TP TicketNo);
ObjectDelete (Pengurusan Perdagangan EA: Wingding CP TicketNo);
GlobalVariableDel (Pengurusan Perdagangan EA: Line CP TicketNo);
}
//--------- Ciptakan TAHAP PERDAGANGAN ------------------------------------ ------
int j = 0;
statik bool TrailActive;
untuk (i = OrdersTotal () - 1; igt; = 0; i--)
{
OrderSelect (i, SELECT_BY_POS);
jika (OrderSymbol () == Simbol () OrderMagicNumber ()! = MyMagicNumber)
{
j ;
TicketNo = OrderTicket ();
string TicketNoStr = DoubleToStr (TicketNo, 0);
suis (OrderType ())
{
kes 0: int Arah = 1; double Price = Bid; bool Menunggu = Salah; pecah;
kes 2:
kes 4: Arah = 1; Harga = Tawaran; double PendingPrice = Ask; Menunggu = Benar; pecah;
kes 1: Arah = -1; Harga = Ask; Menunggu = Palsu; pecah;
kes 3:
kes 5: Arah = -1; Harga = Ask; PendingPrice = Bid; Menunggu = Benar;
}
jika (j == 1)
warna Warna = Warna1;
jika (j == 2)
Warna = Colour2;
jika (j == 3)
Warna = Colour3;
jika (j == 4)
Warna = Colour4;
jika (jgt; = 5)
Warna = Colour5;
jika (UseWingDings == Palsu)
{
ObjectCreate (Pengurusan Perdagangan EA: Line Entry TicketNo, OBJ_HLINE, 0, OrderOpenTime (), OrderOpenPrice ());
ObjectSet (Pengurusan Perdagangan EA: Line Entry TicketNo, OBJPROP_COLOR, Warna);
ObjectSet (Pengurusan Perdagangan EA: Line Entry TicketNo, OBJPROP_STYLE, LineStyleEntry);
double LineEntryPrice = NormalizeDouble (ObjectGet (Pengurusan Perdagangan EA: Line Entry TicketNo, OBJPROP_PRICE1), Digit);
ObjectCreate (Pengurusan Perdagangan EA: Tiket Tidak Memasukkan TicketNo, OBJ_TEXT, 0, Masa [80], LineEntryPrice);
ObjectSetText (Pengurusan Perdagangan EA: Tiket Tidak Memasukkan TicketNo, TicketNoStr, 10, Arial, Warna);
ObjectMove (Pengurusan Perdagangan EA: Tiket Tidak Memasukkan TiketNo, 0, Masa [80], LineEntryPrice);
}
lain
{
ObjectCreate (Pengurusan Perdagangan EA: Line Entry TicketNo, OBJ_TREND, 0, OrderOpenTime (), OrderOpenPrice (), Time [iBarShift (Symbol (), Period (), OrderOpenTime ()) OrderLineLength], OrderOpenPrice ());
ObjectSet (Pengurusan Perdagangan EA: Line Entry TicketNo, OBJPROP_WIDTH, OrderLineThickness);
ObjectSet (Pengurusan Perdagangan EA: Line Entry TicketNo, OBJPROP_COLOR, EntryColour);
ObjectSet (Pengurusan Perdagangan EA: Line Entry TicketNo, OBJPROp_RAY, Palsu);
LineEntryPrice = NormalizeDouble (ObjectGet (Pengurusan Perdagangan EA: Line Entry TicketNo, OBJPROP_PRICE1), Digit);
//ObjectCreate (Pengurusan Perdagangan EA: Entry Wingding TicketNo, OBJ_TEXT, 0, OrderOpenTime (), OrderOpenPrice ());
//ObjectSetText (Pengurusan Perdagangan EA: Entry Wingding TicketNo, CharToStr (Wingding), 10, WingDings, EntryColour);
//ObjectMove (Pengurusan Perdagangan EA: Entry Wingding TicketNo, 0, OrderOpenTime (), LineEntryPrice);
}
jika (OrderType () lt; = 1)
{
ObjectMove (Pengurusan Perdagangan EA: Line Entry TicketNo, 0, OrderOpenTime (), OrderOpenPrice ());
ObjectMove (Pengurusan Perdagangan EA: Line Entry TicketNo, 1, Time [iBarShift (Symbol (), Period (), OrderOpenTime ()) OrderLineLength], OrderOpenPrice ());
}
jika (OrderType () gt; = 2)
{
ObjectMove (Pengurusan Perdagangan EA: Line Entry TicketNo, 0, OrderOpenTime (), LineEntryPrice);
ObjectMove (Pengurusan Perdagangan EA: Line Entry TicketNo, 1, Masa [iBarShift (Symbol (), Period (), OrderOpenTime ()) OrderLineLength], LineEntryPrice);
}
jika (Pending == Benar)
double PriceEntry = PendingPrice;
lain
PriceEntry = Harga;
int EntryDistance = ((PriceEntry-LineEntryPrice) * Arah)Point;
string EntryDistanceStr = DoubleToStr (EntryDistance, 0);
jika (UseWingDings == Benar)
warna DistanceEntryColour = EntryColour;
lain
DistanceEntryColour = Color;
ObjectCreate (Pengurusan Perdagangan EA: Kemasukan Jarak TicketNo, OBJ_TEXT, 0, Masa [iBarShift (Simbol (), Tempoh (), OrderOpenTime ()) 10], LineEntryPrice);
ObjectSetText (Pengurusan Perdagangan EA: Kemasukan Jarak TicketNo, EntryDistanceStr, 13, Arial, DistanceEntryColour);
ObjectMove (Pengurusan Perdagangan EA: Kemasukan Jarak TicketNo, 0, Masa [iBarShift (Simbol (), Tempoh (), OrderOpenTime ()) 10], LineEntryPrice);
jika (HighLowSL == Benar)
{
jika (Arah == 1)
{
double LineSLInitialPrice = Rendah [iLowest (Simbol (), Tempoh (), MODE_LOW, BarCount)] - (Gap * Point);
jika (LineSLInitialPricegt; (OrderOpenPrice () - (HighLowSafetyPoints * Point)))
LineSLInitialPrice = (OrderOpenPrice () - (HighLowSafetyPoints * Point));
}
jika (Arah == - 1)
{
LineSLInitialPrice = Tinggi [iHighest (Symbol (), Period (), MODE_HIGH, BarCount)] (Gap * Point);
jika (LineSLInitialPricelt; (OrderOpenPrice () (HighLowSafetyPoints * Point)))
LineSLInitialPrice = (OrderOpenPrice () (HighLowSafetyPoints * Point));
}
}
lain
LineSLInitialPrice = OrderOpenPrice () - (Arah * DefaultSL * Point);
jika (OrderStopLoss ()! = 0)
LineSLInitialPrice = OrderStopLoss () (HardSLTPDistance * Point * Direction);
jika (UseWingDings == Palsu)
{
ObjectCreate (Pengurusan Perdagangan EA: Line SL TicketNo, OBJ_HLINE, 0, OrderOpenTime (), LineSLInitialPrice);
ObjectSet (Pengurusan Perdagangan EA: Line SL TicketNo, OBJPROP_COLOR, Warna);
ObjectSet (Pengurusan Perdagangan EA: Line SL TicketNo, OBJPROP_STYLE, LineStyleSL);
double LineSLPrice = NormalizeDouble (ObjectGet (Pengurusan Perdagangan EA: Line SL TicketNo, OBJPROP_PRICE1), Digit);
ObjectMove (Pengurusan Perdagangan EA: Line SL TicketNo, 0, OrderOpenTime (), LineSLPrice);
ObjectCreate (Pengurusan Perdagangan EA: Tiket Tidak SL TiketNo, OBJ_TEXT, 0, Masa [80], LineSLPrice);
ObjectSetText (Pengurusan Perdagangan EA: Ticket No SL TicketNo, TicketNoStr, 10, Arial, Color);
ObjectMove (Pengurusan Perdagangan EA: Tiket Tidak SL TiketNo, 0, Masa [80], LineSLPrice);
}
lain
{
ObjectCreate (Pengurusan Perdagangan EA: Line SL TicketNo, OBJ_TREND, 0, OrderOpenTime (), LineSLInitialPrice, Time [iBarShift (Symbol (), Period (), OrderOpenTime ()) OrderLineLength], LineSLInitialPrice);
ObjectSet (Pengurusan Perdagangan EA: Line SL TicketNo, OBJPROP_WIDTH, OrderLineThickness);
ObjectSet (Pengurusan Perdagangan EA: Line SL TicketNo, OBJPROP_COLOR, SLColour);
ObjectSet (Pengurusan Perdagangan EA: Line SL TicketNo, OBJPROp_RAY, Palsu);
LineSLPrice = NormalizeDouble (ObjectGet (Pengurusan Perdagangan EA: Line SL TicketNo, OBJPROP_PRICE1), Digit);
ObjectMove (Pengurusan Perdagangan EA: Line SL TicketNo, 0, OrderOpenTime (), LineSLPrice);
ObjectMove (Pengurusan Perdagangan EA: Line SL TicketNo, 1, Masa [iBarShift (Symbol (), Period (), OrderOpenTime ()) OrderLineLength], LineSLPrice);
//ObjectCreate (Pengurusan Perdagangan EA: Wingding SL TicketNo, OBJ_TEXT, 0, OrderOpenTime (), LineSLInitialPrice);
//ObjectSetText (Pengurusan Perdagangan EA: Wingding SL TicketNo, CharToStr (Wingding), 10, WingDings, SLColour);
//ObjectMove (Pengurusan Perdagangan EA: Wingding SL TicketNo, 0, OrderOpenTime (), LineSLPrice);
}
double SLDistance = ((LineSLPrice-OrderOpenPrice ()) * Arah)(Point);
string SLDistanceStr = DoubleToStr (SLDistance, 0);
jika (UseWingDings == Benar)
warna DistanceSLColour = SLColour;
lain
DistanceSLColour = Color;
ObjectCreate (Pengurusan Perdagangan EA: Distance SL TicketNo, OBJ_TEXT, 0, Masa [iBarShift (Symbol (), Period (), OrderOpenTime ()) 20], LineSLPrice);
ObjectSetText (Pengurusan Perdagangan EA: Distance SL TicketNo, SLDistanceStr, 13, Arial, DistanceSLColour);
ObjectMove (Pengurusan Perdagangan EA: Jarak SL TiketNo, 0, Masa [iBarShift (Simbol (), Tempoh (), OrderOpenTime ()) 20], LineSLPrice);
jika (TrendLineSL == TrueOrderType () lt; = 1)
{
jika (OrderType () == 0)
{
double TrendLinePrice1 = Rendah [0] - (250 * Titik);
double TrendLinePrice2 = Rendah [0] - (75 * Titik);
}
jika (OrderType () == 1)
{
TrendLinePrice1 = Tinggi [0] (250 * Titik);
TrendLinePrice2 = Tinggi [0] (75 * Titik);
}
ObjectCreate (Pengurusan Perdagangan EA: Trend Line TicketNo, OBJ_TREND, 0, Masa [30], TrendLinePrice1, Masa [0], TrendLinePrice2);
ObjectSet (Pengurusan Perdagangan EA: Trend Line TicketNo, OBJPROp_RAY, Benar);
double TrendLineCurrentValue = ObjectGetValueByShift (Pengurusan Perdagangan EA: Trend Line TicketNo, 0) - (TrendLineSLDistance * Point * Direction);
ObjectMove (Pengurusan Perdagangan EA: Line SL TicketNo, 0, OrderOpenTime (), TrendLineCurrentValue);
ObjectMove (Pengurusan Perdagangan EA: Line SL TicketNo, 1, Masa [iBarShift (Symbol (), Period (), OrderOpenTime ()) OrderLineLength], TrendLineCurrentValue);
}
jika (TrendLineSL == Palsu)
ObjectDelete (Pengurusan Perdagangan EA: Trend Line TicketNo);
jika (It BE == True OrderType () lt; = 1EntryDistance gt; = AutoBEPoints)
{
ObjectMove (Pengurusan Perdagangan EA: Line SL TicketNo, 0, OrderOpenTime (), OrderOpenPrice ());
ObjectMove (Pengurusan Perdagangan EA: Line SL TicketNo, 1, Masa [iBarShift (Symbol (), Period (), OrderOpenTime ()) OrderLineLength], OrderOpenPrice ());
}
jika (TrailActive == TrueOrderType () lt; = 1)
{
jika (OrderType () == 0)
double TrailMovePrice = iLow (Symbol (), 240,1) - (Gap * Point);
jika (OrderType () == 1)
TrailCom Price = Tinggi (Simbol (), 240,1) (Gap * Point);
jika ((TrailMovePrice-LineSLPrice) * Directiongt; (Titik2))
{
ObjectMove (Pengurusan Perdagangan EA: Line SL TicketNo, 0, OrderOpenTime (), TrailMovePrice);
ObjectMove (Pengurusan Perdagangan EA: Line SL TicketNo, 1, Masa [iBarShift (Symbol (), Period (), OrderOpenTime ()) OrderLineLength], TrailMovePrice);
}
ObjectMove (Pengurusan Perdagangan EA: Line TP TicketNo, 0, OrderOpenTime (), OrderOpenPrice () (Point * 10000 * Direction));
ObjectMove (Pengurusan Perdagangan EA: Line TP TicketNo, 1, Masa [iBarShift (Symbol (), Period (), OrderOpenTime ()) OrderLineLength], OrderOpenPrice () (Point * 10000 * Direction)
}
jika (OrderTakeProfit ()! = 0)
double LineTPInitialPrice = OrderTakeProfit () - (HardSLTPDistance * Point * Direction);
lain
LineTPInitialPrice = OrderOpenPrice () (Arah * DefaultTP * Point);
jika (UseWingDings == Palsu)
{
ObjectCreate (Pengurusan Perdagangan EA: Line TP TicketNo, OBJ_HLINE, 0, OrderOpenTime (), LineTPInitialPrice);
ObjectSet (Pengurusan Perdagangan EA: Line TP TicketNo, OBJPROP_COLOR, Warna);
ObjectSet (Pengurusan Perdagangan EA: Line TP TicketNo, OBJPROP_STYLE, LineStyleTP);
double LineTPPrice = NormalizeDouble (ObjectGet (Pengurusan Perdagangan EA: Line TP TicketNo, OBJPROP_PRICE1), Digit);
ObjectMove (Pengurusan Perdagangan EA: Line TP TicketNo, 0, OrderOpenTime (), LineTPPrice);
ObjectCreate (Pengurusan Perdagangan EA: Ticket No TP TicketNo, OBJ_TEXT, 0, Masa [80], LineTPPrice);
ObjectSetText (Pengurusan Perdagangan EA: Tiket Tiada TP TiketNo, TicketNoStr, 10, Arial, Warna);
ObjectMove (Pengurusan Perdagangan EA: Ticket No TP TicketNo, 0, Masa [80], LineTPPrice);
}
lain
{
ObjectCreate (Pengurusan Perdagangan EA: Line TP TicketNo, OBJ_TREND, 0, OrderOpenTime (), LineTPInitialPrice, Time [iBarShift (Symbol (), Period (), OrderOpenTime ()) OrderLineLength], LineTPInitialPrice);
ObjectSet (Pengurusan Perdagangan EA: Line TP TicketNo, OBJPROP_WIDTH, OrderLineThickness);
ObjectSet (Pengurusan Perdagangan EA: Line TP TicketNo, OBJPROP_COLOR, TPColour);
ObjectSet (Pengurusan Perdagangan EA: Line TP TicketNo, OBJPROp_RAY, Palsu);
LineTPPrice = NormalizeDouble (ObjectGet (Pengurusan Perdagangan EA: Line TP TicketNo, OBJPROP_PRICE1), Digit);
ObjectMove (Pengurusan Perdagangan EA: Line TP TicketNo, 0, OrderOpenTime (), LineTPPrice);
ObjectMove (Pengurusan Perdagangan EA: Line TP TicketNo, 1, Masa [iBarShift (Symbol (), Period (), OrderOpenTime ()) OrderLineLength], LineTPPrice);
//ObjectCreate (Pengurusan Perdagangan EA: Wingding TP TicketNo, OBJ_TEXT, 0, OrderOpenTime (), LineTPInitialPrice);
//ObjectSetText (Pengurusan Perdagangan EA: Wingding TP TicketNo, CharToStr (Wingding), 10, WingDings, TPColour);
//ObjectMove (Pengurusan Perdagangan EA: Wingding TP TicketNo, 0, OrderOpenTime (), LineTPPrice);
}
double TPDistance = ((LineTPPrice-OrderOpenPrice ()) * Arah)(Point);
string TPDistanceStr = DoubleToStr (TPDistance, 0);
jika (UseWingDings == Benar)
warna DistanceTPColour = TPColour;
lain
DistanceTPColour = Warna;
ObjectCreate (Pengurusan Perdagangan EA: Jarak TP TiketNo, OBJ_TEXT, 0, Masa [iBarShift (Simbol (), Tempoh (), OrderOpenTime ()) 20], LineTPPrice);
ObjectSetText (Pengurusan Perdagangan EA: Jarak TP TiketNo, TPDistanceStr, 13, Arial, DistanceTPColour);
ObjectMove (Pengurusan Perdagangan EA: Jarak TP TiketNo, 0, Masa [iBarShift (Simbol (), Tempoh (), OrderOpenTime ()) 20], LineTPPrice);
jika (DefaultCPPercentgt; 0)
{
double LineCPInitialPrice = GlobalVariableGet (Pengurusan Perdagangan EA: Line CP TicketNo);
jika (LineCPInitialPrice == 0)
LineCPInitialPrice = LineTPPrice (Arah * 20 * Titik);
jika (UseWingDings == false)
{
ObjectCreate (Pengurusan Perdagangan EA: Line CP TicketNo, OBJ_HLINE, 0, OrderOpenTime (), LineCPInitialPrice);
ObjectSet (Pengurusan Perdagangan EA: Line CP TicketNo, OBJPROP_COLOR, Warna);
ObjectSet (Pengurusan Perdagangan EA: Line CP TicketNo, OBJPROP_STYLE, LineStyleCP);
double LineCPPrice = NormalizeDouble (ObjectGet (Pengurusan Perdagangan EA: Line CP TicketNo, OBJPROP_PRICE1), Digit);
ObjectMove (Pengurusan Perdagangan EA: Line CP TicketNo, 0, OrderOpenTime (), LineCPPrice);
ObjectCreate (Pengurusan Perdagangan EA: Tiket Tidak CP TiketNo, OBJ_TEXT, 0, Masa [80], LineCPPrice);
ObjectSetText (Pengurusan Perdagangan EA: Tiket Tiada CP TicketNo, TicketNoStr, 10, Arial, Warna);
ObjectMove (Pengurusan Perdagangan EA: Tiket Tidak CP TiketNo, 0, Masa [80], LineCPPrice);
}
lain
{
ObjectCreate (Pengurusan Perdagangan EA: Line CP TicketNo, OBJ_TREND, 0, OrderOpenTime (), LineCPInitialPrice, Time [iBarShift (Symbol (), Period (), OrderOpenTime ()) OrderLineLength], LineCPInitialPrice);
ObjectSet (Pengurusan Perdagangan EA: Line CP TicketNo, OBJPROP_WIDTH, OrderLineThickness);
ObjectSet (Pengurusan Perdagangan EA: Line CP TicketNo, OBJPROP_COLOR, CPColour);
ObjectSet (Pengurusan Perdagangan EA: Line CP TicketNo, OBJPROp_RAY, Palsu);
LineCPPrice = NormalizeDouble (ObjectGet (Pengurusan Perdagangan EA: Line CP TicketNo, OBJPROP_PRICE1), Digit);
ObjectMove (Pengurusan Perdagangan EA: Line CP TicketNo, 0, OrderOpenTime (), LineCPPrice);
ObjectMove (Pengurusan Perdagangan EA: Line CP TicketNo, 1, Masa [iBarShift (Symbol (), Period (), OrderOpenTime ()) OrderLineLength], LineCPPrice);
//ObjectCreate (Pengurusan Perdagangan EA: Wingding CP TicketNo, OBJ_TEXT, 0, OrderOpenTime (), LineCPInitialPrice);
//ObjectSetText (Pengurusan Perdagangan EA: Wingding CP TicketNo, CharToStr (Wingding), 10, WingDings, CPColour);
//ObjectMove (Pengurusan Perdagangan EA: Wingding CP TicketNo, 0, OrderOpenTime (), LineCPPrice);
}
double CPDistance = ((LineCPPrice-OrderOpenPrice ()) * Arah)(Point);
string CPDistanceStr = DoubleToStr (CPDistance, 0);
jika (UseWingDings == Benar)
warna DistanceCPColour = CPColour;
lain
DistanceCPColour = Warna;
ObjectCreate (Pengurusan Perdagangan EA: Jarak CP TicketNo, OBJ_TEXT, 0, Masa [iBarShift (Simbol (), Tempoh (), OrderOpenTime ()) 10], LineCPPrice);
ObjectSetText (Pengurusan Perdagangan EA: Jarak CP TicketNo, CPDistanceStr, 13, Arial, DistanceCPColour);
ObjectMove (Pengurusan Perdagangan EA: Jarak CP TiketNo, 0, Masa [iBarShift (Simbol (), Tempoh (), OrderOpenTime ()) 10], LineCPPrice);
GlobalVariableSet (Pengurusan Perdagangan EA: Line CP TicketNo, LineCPPrice);
int ClosePercent = StrToDouble (ObjectDescription (Pengurusan Perdagangan EA: Line CP TicketNo));
jika (ClosePercent == 0)
ObjectSetText (Pengurusan Perdagangan EA: Line CP TicketNo, DoubleToStr (DefaultCPPercent, 0));
}
lain
{
ObjectDelete (Pengurusan Perdagangan EA: Jarak CP TicketNo);
ObjectDelete (Pengurusan Perdagangan EA: Tiket Tiada CP TicketNo);
ObjectDelete (Pengurusan Perdagangan EA: Line CP TicketNo);
GlobalVariableDel (Pengurusan Perdagangan EA: Line CP TicketNo);
}
//--------- MODIFY SL AND TP ----------------------------------- -------
double LineSLPriceAdjusted = LineSLPrice- (Arah * HardSLTPDistance * Point);
double LineTPPriceAdjusted = LineTPPrice (Arah * HardSLTPDistance * Point);
jika (MathAbs (OrderOpenPrice () - LineEntryPrice) gt; (Point2))
bool EntryDifference = Benar;
lain
EntryDifference = False;
jika (MathAbs (OrderStopLoss () - LineSLPriceAdjusted) gt; (Point2))
bool SLDifference = True;
lain
SLDifference = False;
jika (MathAbs (OrderTakeProfit () - LineTPPriceAdjusted) gt; (Point2))
bool TPDifference = True;
lain
TPDifference = False;
jika ((HardSLTPActive == True (SLDifference == True || TPDifference == True)) || (EntryDifference == TrueOrderType () gt; = 2))
{
OrderModify (TicketNo, LineEntryPrice, LineSLPriceAdjusted, LineTPPriceAdjusted, 0);
Tidur (250);
}
OrderSelect (i, SELECT_BY_POS);
RefreshRates ();
//--------- EA CLOSE ------------------------------------- -----
jika (((Price-LineSLPrice) * Arah) lt; (Titik2))
bool SLHit = Benar;
lain
SLHit = Palsu;
jika (((LineTPPrice-Price) * Arah) lt; (Point2))
bool TPHit = Benar;
lain
TPHit = Palsu;
jika (((LineCPPrice-Price) * Arah) lt; (Titik2))
bool CPHit = Benar;
lain
CPHit = Palsu;
jika (((HardSLTPActive == TrueHardSLTPDistancegt; 0) || (HardSLTPActive == False)) SLHit == TrueOrderType () lt; = 1)
RunClose (TicketNo, LineSLPrice, OrderLots (), EA CLOSE);
jika (((HardSLTPActive == TrueHardSLTPDistancegt; 0) || (HardSLTPActive == False)) TPHit == TrueOrderType () lt; = 1)
RunClose (TicketNo, LineTPPrice, OrderLots (), EA CLOSE);
jika (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);
}
}
}
//--------- ORDER PENDING ------------------------------------- --------------------
untuk (i = 0; ilt; 10; i )
{
double LineBuyLimitPrice = NormalizeDouble (ObjectGet (Pengurusan Perdagangan EA: Line Beli Had i, OBJPROP_PRICE1), Digit);
jika (LineBuyLimitPrice! = 0)
{
ObjectMove (Pengurusan Perdagangan EA: Batas Beli Baris i, 0, TimeCurrent (), LineBuyLimitPrice);
ObjectMove (Pengurusan Perdagangan EA: Batas Beli Baris i, 1, Masa [10], LineBuyLimitPrice);
ObjectMove (Pengurusan Perdagangan EA: Tiket Tiada Batas Beli i, 0, Masa [80], LineBuyLimitPrice);
//ObjectMove (Pengurusan Perdagangan EA: Batas Beli Wingding i, 0, TimeCurrent (), LineBuyLimitPrice);
double BuyLimitDistance = (Ask-LineBuyLimitPrice)(Point);
string BuyLimitDistanceStr = DoubleToStr (BuyLimitDistance, 0);
ObjectSetText (Pengurusan Perdagangan EA: Had Beli Jarak i, BuyLimitDistanceStr, 13, Arial, PendingColour);
ObjectMove (Pengurusan Perdagangan EA: Had Beli Jarak i, 0, Masa [10], LineBuyLimitPrice);
jika ((Ask-LineBuyLimitPrice) lt; (Titik2))
{
SendBuyMarketOrder (Benar);
ObjectDelete (Pengurusan Perdagangan EA: Had Beli Baris i);
ObjectDelete (Pengurusan Perdagangan EA: Tiket Tiada Batas Beli i);
ObjectDelete (Pengurusan Perdagangan EA: Distance Buy Limit i);
ObjectDelete (Pengurusan Perdagangan EA: Batas Beli Wingding i);
}
}
lain
{
ObjectDelete (Pengurusan Perdagangan EA: Tiket Tiada Batas Beli i);
ObjectDelete (Pengurusan Perdagangan EA: Distance Buy Limit i);
ObjectDelete (Pengurusan Perdagangan EA: Batas Beli Wingding i);
}
double LineBuyStopPrice = NormalizeDouble (ObjectGet (Pengurusan Perdagangan EA: Line Buy Stop i, OBJPROP_PRICE1), Digit);
jika (LineBuyStopPrice! = 0)
{
ObjectMove (Pengurusan Perdagangan EA: Stop Buy Line i, 0, TimeCurrent (), LineBuyStopPrice);
ObjectMove (Pengurusan Perdagangan EA: Stop Beli Jalur i, 1, Masa [10], LineBuyStopPrice);
ObjectMove (Pengurusan Perdagangan EA: Tiket Tidak Berhenti Beli i, 0, Masa [80], LineBuyStopPrice);
//ObjectMove (Pengurusan Perdagangan EA: Wingding Buy Stop i, 0, TimeCurrent (), LineBuyStopPrice);
double BuyStopDistance = (LineBuyStopPrice-Ask)(Titik);
string BuyStopDistanceStr = DoubleToStr (BuyStopDistance, 0);
ObjectSetText (Pengurusan Perdagangan EA: Jarak Beli Berhenti i, BuyStopDistanceStr, 13, Arial, PendingColour);
ObjectMove (Pengurusan Perdagangan EA: Jarak Beli Berhenti i, 0, Masa [10], LineBuyStopPrice);
jika ((LineBuyStopPrice-Ask) lt; (Titik2))
{
SendBuyMarketOrder (Benar);
ObjectDelete (Pengurusan Perdagangan EA: Line Buy Stop i);
ObjectDelete (Pengurusan Perdagangan EA: Tiket Tiada Berhenti Beli i);
ObjectDelete (Pengurusan Perdagangan EA: Distance Buy Stop i);
ObjectDelete (Pengurusan Perdagangan EA: Wingding Buy Stop i);
}
}
lain
{
ObjectDelete (Pengurusan Perdagangan EA: Tiket Tiada Berhenti Beli i);
ObjectDelete (Pengurusan Perdagangan EA: Distance Buy Stop i);
ObjectDelete (Pengurusan Perdagangan EA: Wingding Buy Stop i);
}
double LineSellLimitPrice = NormalizeDouble (ObjectGet (Pengurusan Perdagangan EA: Line Jual Had i, OBJPROP_PRICE1), Digit);
jika (LineSellLimitPrice! = 0)
{
ObjectMove (Pengurusan Perdagangan EA: Line Jual Batas i, 0, TimeCurrent (), LineSellLimitPrice);
ObjectMove (Pengurusan Perdagangan EA: Had Jual Baris i, 1, Masa [10], LineSellLimitPrice);
ObjectMove (Pengurusan Perdagangan EA: Tiket Tidak Menjual Had i, 0, Masa [80], LineSellLimitPrice);
//ObjectMove (Pengurusan Perdagangan EA: Wingding Sell Limit i, 0, TimeCurrent (), LineSellLimitPrice);
double SellLimitDistance = (LineSellLimitPrice-Bid)(Point);
string SellLimitDistanceStr = DoubleToStr (SellLimitDistance, 0);
ObjectSetText (Pengurusan Perdagangan EA: Distance Sell Limit i, SellLimitDistanceStr, 13, Arial, PendingColour);
ObjectMove (Pengurusan Perdagangan EA: Distance Sell Limit i, 0, Time [10], LineSellLimitPrice);
jika ((LineSellLimitPrice-Bid) lt; (Titik2))
{
SendSellMarketOrder (Benar);
ObjectDelete (Pengurusan Perdagangan EA: Line Sell Limit i);
ObjectDelete (Pengurusan Perdagangan EA: Tiket Tidak Menjual Had i);
ObjectDelete (Pengurusan Perdagangan EA: Distance Sell Limit i);
ObjectDelete (Pengurusan Perdagangan EA: Wingding Sell Limit i);
}
}
lain
{
ObjectDelete (Pengurusan Perdagangan EA: Tiket Tidak Menjual Had i);
ObjectDelete (Pengurusan Perdagangan EA: Distance Sell Limit i);
ObjectDelete (Pengurusan Perdagangan EA: Wingding Sell Limit i);
}
double LineSellStopPrice = NormalizeDouble (ObjectGet (Pengurusan Perdagangan EA: Line Sell Stop i, OBJPROP_PRICE1), Digit);
jika (LineSellStopPrice! = 0)
{
ObjectMove (Pengurusan Perdagangan EA: Line Sell Stop i, 0, TimeCurrent (), LineSellStopPrice);
ObjectMove (Pengurusan Perdagangan EA: Line Sell Stop i, 1, Time [10], LineSellStopPrice);
ObjectMove (Pengurusan Perdagangan EA: Tiket Tidak Jual Berhenti i, 0, Masa [80], LineSellStopPrice);
//ObjectMove (Pengurusan Perdagangan EA: Wingding Sell Stop i, 0, TimeCurrent (), LineSellStopPrice);
double SellStopDistance = (Bid-LineSellStopPrice)(Point);
string SellStopDistanceStr = DoubleToStr (SellStopDistance, 0);
ObjectSetText (Pengurusan Perdagangan EA: Distance Sell Stop i, SellStopDistanceStr, 13, Arial, PendingColour);
ObjectMove (Pengurusan Perdagangan EA: Distance Sell Stop i, 0, Time [10], LineSellStopPrice);
jika ((Bid-LineSellStopPrice) lt; (Titik2))
{
SendSellMarketOrder (Benar);
ObjectDelete (Pengurusan Perdagangan EA: Line Sell Stop i);
ObjectDelete (Pengurusan Perdagangan EA: Tiket Tidak Jual Berhenti i);
ObjectDelete (Pengurusan Perdagangan EA: Distance Sell Stop i);
ObjectDelete (Pengurusan Perdagangan EA: Wingding Sell Stop i);
}
}
lain
{
ObjectDelete (Pengurusan Perdagangan EA: Tiket Tidak Jual Berhenti i);
ObjectDelete (Pengurusan Perdagangan EA: Distance Sell Stop i);
ObjectDelete (Pengurusan Perdagangan EA: Wingding Sell Stop i);
}
}
//--------- OBJEK ORDER ------------------------------------- --------------------
statik SIObjectOrders;
int statik SITradeObjectsFontSize;
int statik SITradeWingDingFontSize;
int statik SITradeObjectsXDistance;
int statik SITradeObjectsYDistance;
int statik SITradeObjectsYSpace;
statik int SIObjectStopOrders;
bool InputsChanged = False;
jika (FirstRun == Palsu)
{
jika (SIObjectOrders! = ObjectOrders)
InputsChanged = Benar;
jika (SITradeObjectsFontSize! = TradeObjectsFontSize)
InputsChanged = Benar;
jika (SITradeWingDingFontSize! = TradeWingDingFontSize)
InputsChanged = Benar;
jika (SITradeObjects Distance! = TradeObjects Distance)
InputsChanged = Benar;
jika (SITradeObjects Distance! = TradeObjects Distance)
InputsChanged = Benar;
jika (SITradeObjectsYSpace! = TradeObjectsYSpace)
InputsChanged = Benar;
jika (SIObjectStopOrders! = ObjectStopOrders)
InputsChanged = Benar;
}
SIObjectOrders = ObjectOrders;
SITradeObjectsFontSize = TradeObjectsFontSize;
SITradeWingDingFontSize = TradeWingDingFontSize;
SITradeObjectsXDistance = TradeObjectsXDistance;
SITradeObjectsYDistance = TradeObjectsYDistance;
SITradeObjectsYSpace = TradeObjectsYSpace;
SIObjectStopOrders = ObjectStopOrders;
jika (SendMultipleOrderslt; = 0)
SendMultipleOrders = 1;
jika (ObjectOrders == Benar)
{
jika (FirstRun == FalseInputsChanged == False)
{
int BuyMarketX = ObjectGet (Pengurusan Perdagangan EA: Beli Pasaran, OBJPROP_XDISTANCE);
int BuyMarketY = ObjectGet (Pengurusan Perdagangan EA: Beli Pasaran, OBJPROP_YDISTANCE);
int BuyMarketPresent = ObjectFind (Pengurusan Perdagangan EA: Beli Pasaran);
jika (
(DeleteOnly == False (BuyMarketX! = TradeObjectsXDistance || BuyMarketY! = TradeObjectsYDistance TradeObjectsFontSize TradeObjectsYSpace)) ||
(DeleteOnly == TrueBuyMarketPresent! = 0)
)
{
untuk (int k = 0; klt; SendMultipleOrders; k )
SendBuyMarketOrder (Palsu);
ObjectDelete (Pengurusan Perdagangan EA: Beli Pasaran);
}
int CloseX = ObjectGet (Pengurusan Perdagangan EA: Close, OBJPROP_XDISTANCE);
int CloseY = ObjectGet (Pengurusan Perdagangan EA: Close, OBJPROP_YDISTANCE);
int ClosePresent = ObjectFind (Pengurusan Perdagangan EA: Tutup);
jika (
(DeleteOnly == False (CloseX! = TradeObjectsXDistance || CloseY! = TradeObjectsYDistance (TradeObjectsFontSize * 3) (TradeObjectsYSpace * 3))) ||
(DeleteOnly == TrueClosePresent! = 0)
)
{
SendCloseOrder ();
ObjectDelete (Pengurusan Perdagangan EA: Tutup);
}
int SetBEX = ObjectGet (Pengurusan Perdagangan EA: Tetapkan BE, OBJPROP_XDISTANCE);
int SetBEY = ObjectGet (Pengurusan Perdagangan EA: Tetapkan BE, OBJPROP_YDISTANCE);
int SetBEPresent = ObjectFind (Pengurusan Perdagangan EA: Tetapkan BE);
jika (
(DeleteOnly == False (SetBEX! = TradeObjectsXDistance || SetBEY! = TradeObjectsYDistance (TradeObjectsFontSize * 4) (TradeObjectsYSpace * 4))) ||
(DeleteOnly == TrueSetBEPresent! = 0)
)
{
SetBE ();
ObjectDelete (Pengurusan Perdagangan EA: Set BE);
}
int AutoBEX = ObjectGet (Pengurusan Perdagangan EA: AutoBE, OBJPROP_XDISTANCE);
int AutoBEY = ObjectGet (Pengurusan Perdagangan EA: AutoBE, OBJPROP_YDISTANCE);
int AutoBEPresent = ObjectFind (Pengurusan Perdagangan EA: AutoBE);
jika (
(DeleteOnly == False (AutoBEX! = TradeObjectsXDistance || AutoBEY! = TradeObjectsYDistance (TradeObjectsFontSize * 5) (TradeObjectsYSpace * 5))) ||
(DeleteOnly == TrueAutoBEPresent! = 0)
)
{
int statik LastAutoBETime;
jika (TimeLocal () - LastAutoBETimegt; = 2)
{
jika (AutoBE == Benar)
AutoBE = Palsu;
lain
AutoBE = Benar;
ObjectDelete (Pengurusan Perdagangan EA: AutoBE);
}
LastAutoBETime = TimeLocal ();
}
int TrailX = ObjectGet (Pengurusan Perdagangan EA: Trail, OBJPROP_XDISTANCE);
int TrailY = ObjectGet (Pengurusan Perdagangan EA: Trail, OBJPROP_YDISTANCE);
int TrailPresent = ObjectFind (Pengurusan Perdagangan EA: Trail);
jika (
(DeleteOnly == False (TrailX! = TradeObjectsXDistance || TrailY! = TradeObjectsYDistance (TradeObjectsFontSize * 6) (TradeObjectsYSpace * 6))) ||
(DeleteOnly == TrueTrailPresent! = 0)
)
{
LastTrailTime int statik;
jika (TimeLocal () - LastTrailTimegt; = 2)
{
jika (TrailActive == Benar)
{
TrailActive = False;
untuk (int l = 0; llt; OrdersTotal (); l )
{
OrderSelect (l, SELECT_BY_POS);
jika (OrderType () == 0)
{
ObjectMove (Pengurusan Perdagangan EA: Line TP TicketNo, 0, OrderOpenTime (), Bid (Point * DefaultTP));
ObjectMove (Pengurusan Perdagangan EA: Line TP TicketNo, 1, Masa [iBarShift (Symbol (), Period (), OrderOpenTime ()) OrderLineLength], Bid (Point * DefaultTP));
}
jika (OrderType () == 1)
{
ObjectMove (Pengurusan Perdagangan EA: Line TP TicketNo, 0, OrderOpenTime (), Ask- (Point * DefaultTP));
ObjectMove (Pengurusan Perdagangan EA: Line TP TicketNo, 1, Time [iBarShift (Symbol (), Period (), OrderOpenTime ()) OrderLineLength], Ask- (Point * DefaultTP));
}
}
}
lain
TrailActive = Benar;
ObjectDelete (Pengurusan Perdagangan EA: Trail);
}
LastTrailTime = TimeLocal ();
}
int SellMarketX = ObjectGet (Pengurusan Perdagangan EA: Jual Pasar, OBJPROP_XDISTANCE);
int SellMarketY = ObjectGet (Pengurusan Perdagangan EA: Jual Pasaran, OBJPROP_YDISTANCE);
int SellMarketPresent = ObjectFind (Pengurusan Perdagangan EA: Jual Pasar);
jika (
(DeleteOnly == False (SellMarketX! = TradeObjectsXDistance || SellMarketY! = TradeObjectsYDistance (TradeObjectsFontSize * 8) (TradeObjectsYSpace * 8))) ||
(DeleteOnly == TrueSellMarketPresent! = 0)
)
{
untuk (k = 0; klt; SendMultipleOrders; k )
SendSellMarketOrder (Palsu);
ObjectDelete (Pengurusan Perdagangan EA: Jual Pasar);
}
int BuyLimitX = ObjectGet (Pengurusan Perdagangan EA: Limit Beli, OBJPROP_XDISTANCE);
int BuyLimitY = ObjectGet (Pengurusan Perdagangan EA: Limit Beli, OBJPROP_YDISTANCE);
int BuyLimitPresent = ObjectFind (Pengurusan Perdagangan EA: Limit Beli);
jika (
(DeleteOnly == False (BuyLimitX! = TradeObjectsXDistance || BuyLimitY! = TradeObjectsYDistance (TradeObjectsFontSize * 2) (TradeObjectsYSpace * 2))) ||
(DeleteOnly == TrueBuyLimitPresent! = 0)
)
{
SendBuyLimitOrder ();
ObjectDelete (Pengurusan Perdagangan EA: Limit Beli);
}
int SellLimitX = ObjectGet (Pengurusan Perdagangan EA: Jual Limit, OBJPROP_XDISTANCE);
int SellLimitY = ObjectGet (Pengurusan Perdagangan EA: Jual Limit, OBJPROP_YDISTANCE);
int SellLimitPresent = ObjectFind (Pengurusan Perdagangan EA: Jual Had);
jika (
(DeleteOnly == False (SellLimitX! = TradeObjectsXDistance || SellLimitY! = TradeObjectsYDistance (TradeObjectsFontSize * 7) (TradeObjectsYSpace * 7))) ||
(DeleteOnly == TrueSellLimitPresent! = 0)
)
{
SendSellLimitOrder ();
ObjectDelete (Pengurusan Perdagangan EA: Jual Had);
}
jika (ObjectStopOrders == Benar)
{
int BuyStopX = ObjectGet (Pengurusan Perdagangan EA: Buy Stop, OBJPROP_XDISTANCE);
int BuyStopY = ObjectGet (Pengurusan Perdagangan EA: Buy Stop, OBJPROP_YDISTANCE);
int BuyStopPresent = ObjectFind (Pengurusan Perdagangan EA: Beli Berhenti);
jika (
(DeleteOnly == False (BuyStopX! = TradeObjectsXDistance || BuyStopY! = TradeObjectsYDistance) ||
(DeleteOnly == TrueBuyStopPresent! = 0)
)
{
SendBuyStopOrder ();
ObjectDelete (Pengurusan Perdagangan EA: Beli Berhenti);
}
int SellStopX = ObjectGet (Pengurusan Perdagangan EA: Jual Berhenti, OBJPROP_XDISTANCE);
int SellStopY = ObjectGet (Pengurusan Perdagangan EA: Jual Berhenti, OBJPROP_YDISTANCE);
int SellStopPresent = ObjectFind (Pengurusan Perdagangan EA: Sell Stop);
jika (
(DeleteOnly == False (SellStopX! = TradeObjectsXDistance || SellStopY! = TradeObjectsYDistance (TradeObjectsFontSize * 9) (TradeObjectsYSpace * 9))) ||
(DeleteOnly == TrueSellStopPresent! = 0)
)
{
SendSellStopOrder ();
ObjectDelete (Pengurusan Perdagangan EA: Jual Berhenti);
}
}
}
ObjectCreate (Pengurusan Perdagangan EA: Beli Pasaran, OBJ_LABEL, 0,0,0);
ObjectSetText (Pengurusan Perdagangan EA: Beli Pasaran, CharToStr (WingdingObjectOrders), TradeWingDingFontSize, WingDings, BuyMarketColour);
ObjectSet (Pengurusan Perdagangan EA: Beli Pasaran, OBJPROP_CORNER, 1);
ObjectSet (Pengurusan Perdagangan EA: Beli Pasaran, OBJPROP_XDISTANCE, TradeObjectsXDistance);
ObjectSet (Pengurusan Perdagangan EA: Beli Pasaran, OBJPROP_YDISTANCE, TradeObjectsYDistance TradeObjectsFontSize TradeObjectsYSpace);
ObjectCreate (Pengurusan Perdagangan EA: Beli Label Pasaran, OBJ_LABEL, 0,0,0);
ObjectSetText (Pengurusan Perdagangan EA: Beli Label Pasaran, PASARAN, TradeObjectsFontSize, Arial, BuyMarketColour);
ObjectSet (Pengurusan Perdagangan EA: Beli Label Pasaran, OBJPROP_CORNER, 1);
ObjectSet (Pengurusan Perdagangan EA: Beli Label Pasaran, OBJPROP_XDISTANCE, TradeObjectsXDistance TradeObjectsXSpace);
ObjectSet (Pengurusan Perdagangan EA: Beli Label Pasaran, OBJPROP_YDISTANCE, TradeObjectsYDistance TradeObjectsFontSize TradeObjectsYSpace TradeWingDingFontSize-TradeObjectsFontSize);
ObjectCreate (Pengurusan Perdagangan EA: Close, OBJ_LABEL, 0,0,0);
ObjectSetText (Pengurusan Perdagangan EA: Tutup, CharToStr (WingdingObjectOrders), TradeWingDingFontSize, WingDings, CloseColour);
ObjectSet (Pengurusan Perdagangan EA: Tutup, OBJPROP_CORNER, 1);
ObjectSet (Pengurusan Perdagangan EA: Tutup, OBJPROP_XDISTANCE, TradeObjectsXDistance);
ObjectSet (Pengurusan Perdagangan EA: Close, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 3) (TradeObjectsYSpace * 3));
ObjectCreate (Pengurusan Perdagangan EA: Close Label, OBJ_LABEL, 0,0,0);
ObjectSetText (Pengurusan Perdagangan EA: Close Label, CLOSE, TradeObjectsFontSize, Arial, CloseColour);
ObjectSet (Pengurusan Perdagangan EA: Close Label, OBJPROP_CORNER, 1);
ObjectSet (Pengurusan Perdagangan EA: Close Label, OBJPROP_XDISTANCE, TradeObjectsXDistance TradeObjectsXSpace);
ObjectSet (Pengurusan Perdagangan EA: Close Label, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 3) (TradeObjectsYSpace * 3) TradeWingDingFontSize-TradeObjectsFontSize);
ObjectCreate (Pengurusan Perdagangan EA: Set BE, OBJ_LABEL, 0,0,0);
ObjectSetText (Pengurusan Perdagangan EA: Set BE, CharToStr (WingdingObjectOrders), TradeWingDingFontSize, WingDings, CloseColour);
ObjectSet (Pengurusan Perdagangan EA: Tetapkan BE, OBJPROP_CORNER, 1);
ObjectSet (Pengurusan Perdagangan EA: Tetapkan BE, OBJPROP_XDISTANCE, TradeObjectsXDistance);
ObjectSet (Pengurusan Perdagangan EA: Tetapkan BE, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 4) (TradeObjectsYSpace * 4));
ObjectCreate (Pengurusan Perdagangan EA: Set BE Label, OBJ_LABEL, 0,0,0);
ObjectSetText (Pengurusan Perdagangan EA: Set BE Label, SET BE, TradeObjectsFontSize, Arial, CloseColour);
ObjectSet (Pengurusan Perdagangan EA: Set BE Label, OBJPROP_CORNER, 1);
ObjectSet (Pengurusan Perdagangan EA: Set BE Label, OBJPROP_XDISTANCE, TradeObjectsXDistance TradeObjectsXSpace);
ObjectSet (Pengurusan Perdagangan EA: Set BE Label, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 4) (TradeObjectsYSpace * 4) TradeWingDingFontSize-TradeObjectsFontSize);
jika (AutoBE == Benar)
int AutoBEWingDing = 252;
lain
AutoBEWingDing = WingdingObjectOrders;
ObjectCreate (Pengurusan Perdagangan EA: AutoBE, OBJ_LABEL, 0,0,0);
ObjectSetText (Pengurusan Perdagangan EA: AutoBE, CharToStr (AutoBEWingDing), TradeWingDingFontSize, WingDings, CloseColour);
ObjectSet (Pengurusan Perdagangan EA: AutoBE, OBJPROP_CORNER, 1);
ObjectSet (Pengurusan Perdagangan EA: AutoBE, OBJPROP_XDISTANCE, TradeObjectsXDistance);
ObjectSet (Pengurusan Perdagangan EA: AutoBE, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 5) (TradeObjectsYSpace * 5));
ObjectCreate (Pengurusan Perdagangan EA: Label Label Label, OBJ_LABEL, 0,0,0);
ObjectSetText (Pengurusan Perdagangan EA: Label AutoBE, AUTO BE, TradeObjectsFontSize, Arial, CloseColour);
ObjectSet (Pengurusan Perdagangan EA: Label Label, OBJPROP_CORNER, 1);
ObjectSet (Pengurusan Perdagangan EA: Label Label, OBJPROP_XDISTANCE, TradeObjectsXDistance TradeObjectsXSpace);
ObjectSet (Pengurusan Perdagangan EA: Label Label, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 5) (TradeObjectsYSpace * 5) TradeWingDingFontSize-TradeObjectsFontSize);
jika (TrailActive == Benar)
int TrailWingDing = 252;
lain
TrailWingDing = WingdingObjectOrders;
ObjectCreate (Pengurusan Perdagangan EA: Trail, OBJ_LABEL, 0,0,0);
ObjectSetText (Pengurusan Perdagangan EA: Trail, CharToStr (TrailWingDing), TradeWingDingFontSize, WingDings, CloseColour);
ObjectSet (Pengurusan Perdagangan EA: Trail, OBJPROP_CORNER, 1);
ObjectSet (Pengurusan Perdagangan EA: Trail, OBJPROP_XDISTANCE, TradeObjectsXDistance);
ObjectSet (Pengurusan Perdagangan EA: Trail, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 6) (TradeObjectsYSpace * 6));
ObjectCreate (Pengurusan Perdagangan EA: Label Trail, OBJ_LABEL, 0,0,0);
ObjectSetText (Pengurusan Perdagangan EA: Label Trail, TRAIL, TradeObjectsFontSize, Arial, CloseColour);
ObjectSet (Pengurusan Perdagangan EA: Label Trail, OBJPROP_CORNER, 1);
ObjectSet (Pengurusan Perdagangan EA: Label Trail, OBJPROP_XDISTANCE, TradeObjectsXDistance TradeObjectsXSpace);
ObjectSet (Pengurusan Perdagangan EA: Label Trail, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 6) (TradeObjectsYSpace * 6) TradeWingDingFontSize-TradeObjectsFontSize);
ObjectCreate (Pengurusan Perdagangan EA: Pasar Jual, OBJ_LABEL, 0,0,0);
ObjectSetText (Pengurusan Perdagangan EA: Jual Pasar, CharToStr (WingdingObjectOrders), TradeWingDingFontSize, WingDings, SellMarketColour);
ObjectSet (Pengurusan Perdagangan EA: Jual Pasar, OBJPROP_CORNER, 1);
ObjectSet (Pengurusan Perdagangan EA: Jual Pasar, OBJPROP_XDISTANCE, TradeObjectsXDistance);
ObjectSet (Pengurusan Perdagangan EA: Jual Pasar, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 8) (TradeObjectsYSpace * 8));
ObjectCreate (Pengurusan Perdagangan EA: Jual Label Pasaran, OBJ_LABEL, 0,0,0);
ObjectSetText (Pengurusan Perdagangan EA: Jual Label Pasaran, PASARAN, TradeObjectsFontSize, Arial, SellMarketColour);
ObjectSet (Pengurusan Perdagangan EA: Jual Label Pasaran, OBJPROP_CORNER, 1);
ObjectSet (Pengurusan Perdagangan EA: Jual Label Pasaran, OBJPROP_XDISTANCE, TradeObjectsXDistance TradeObjectsXSpace);
ObjectSet (Pengurusan Perdagangan EA: Jual Label Pasaran, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 8) (TradeObjectsYSpace * 8) TradeWingDingFontSize-TradeObjectsFontSize);
ObjectCreate (Pengurusan Perdagangan EA: Limit Beli, OBJ_LABEL, 0,0,0);
ObjectSetText (Pengurusan Perdagangan EA: Limit Beli, CharToStr (WingdingObjectOrders), TradeWingDingFontSize, WingDings, BuyLimitColour);
ObjectSet (Pengurusan Perdagangan EA: Limit Beli, OBJPROP_CORNER, 1);
ObjectSet (Pengurusan Perdagangan EA: Beli Had, OBJPROP_XDISTANCE, TradeObjectsXDistance);
ObjectSet (Pengurusan Perdagangan EA: Beli Had, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 2) (TradeObjectsYSpace * 2));
ObjectCreate (Pengurusan Perdagangan EA: Beli Label Had, OBJ_LABEL, 0,0,0);
ObjectSetText (Pengurusan Perdagangan EA: Beli Label Had, LIMIT, TradeObjectsFontSize, Arial, BuyLimitColour);
ObjectSet (Pengurusan Perdagangan EA: Beli Label Had, OBJPROP_CORNER, 1);
ObjectSet (Pengurusan Perdagangan EA: Beli Label Had, OBJPROP_XDISTANCE, TradeObjectsXDistance TradeObjectsXSpace);
ObjectSet (Pengurusan Perdagangan EA: Beli Label Had, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 2) (TradeObjectsYSpace * 2) TradeWingDingFontSize-TradeObjectsFontSize);
ObjectCreate (Pengurusan Perdagangan EA: Limit Jual, OBJ_LABEL, 0,0,0);
ObjectSetText (Pengurusan Perdagangan EA: Jual Limit, CharToStr (WingdingObjectOrders), TradeWingDingFontSize, WingDings, SellLimitColour);
ObjectSet (Pengurusan Perdagangan EA: Limit Jual, OBJPROP_CORNER, 1);
ObjectSet (Pengurusan Perdagangan EA: Jual Had, OBJPROP_XDISTANCE, TradeObjectsXDistance);
ObjectSet (Pengurusan Perdagangan EA: Limit Jual, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 7) (TradeObjectsYSpace * 7));
ObjectCreate (Pengurusan Perdagangan EA: Jual Label Batas, OBJ_LABEL, 0,0,0);
ObjectSetText (Pengurusan Perdagangan EA: Jual Label Batas, LIMIT, TradeObjectsFontSize, Arial, SellLimitColour);
ObjectSet (Pengurusan Perdagangan EA: Jual Label Batas, OBJPROP_CORNER, 1);
ObjectSet (Pengurusan Perdagangan EA: Jual Label Batas, OBJPROP_XDISTANCE, TradeObjectsXDistance TradeObjectsXSpace);
ObjectSet (Pengurusan Perdagangan EA: Jual Label Batas, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 7) (TradeObjectsYSpace * 7) TradeWingDingFontSize-TradeObjectsFontSize);
jika (ObjectStopOrders == Benar)
{
ObjectCreate (Pengurusan Perdagangan EA: Buy Stop, OBJ_LABEL, 0,0,0);
ObjectSetText (Pengurusan Perdagangan EA: Beli Berhenti, CharToStr (WingdingObjectOrders), TradeWingDingFontSize, WingDings, BuyStopColour);
ObjectSet (Pengurusan Perdagangan EA: Beli Berhenti, OBJPROP_CORNER, 1);
ObjectSet (Pengurusan Perdagangan EA: Beli Berhenti, OBJPROP_XDISTANCE, TradeObjectsXDistance);
ObjectSet (Pengurusan Perdagangan EA: Beli Berhenti, OBJPROP_YDISTANCE, TradeObjectsYDistance);
ObjectCreate (Pengurusan Perdagangan EA: Buy Stop Label, OBJ_LABEL, 0,0,0);
ObjectSetText (Pengurusan Perdagangan EA: Beli Stop Label, STOP, TradeObjectsFontSize, Arial, BuyStopColour);
ObjectSet (Pengurusan Perdagangan EA: Buy Stop Label, OBJPROP_CORNER, 1);
ObjectSet (Pengurusan Perdagangan EA: Beli Stop Label, OBJPROP_XDISTANCE, TradeObjectsXDistance TradeObjectsXSpace);
ObjectSet (Pengurusan Perdagangan EA: Buy Stop Label, OBJPROP_YDISTANCE, TradeObjectsYDistance TradeWingDingFontSize-TradeObjectsFontSize);
ObjectCreate (Pengurusan Perdagangan EA: Jual Berhenti, OBJ_LABEL, 0,0,0);
ObjectSetText (Pengurusan Perdagangan EA: Jual Berhenti, CharToStr (WingdingObjectOrders), TradeWingDingFontSize, WingDings, SellStopColour);
ObjectSet (Pengurusan Perdagangan EA: Jual Berhenti, OBJPROP_CORNER, 1);
ObjectSet (Pengurusan Perdagangan EA: Jual Berhenti, OBJPROP_XDISTANCE, TradeObjectsXDistance);
ObjectSet (Pengurusan Perdagangan EA: Jual Berhenti, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 9) (TradeObjectsYSpace * 9));
ObjectCreate (Pengurusan Perdagangan EA: Jual Label Berhenti, OBJ_LABEL, 0,0,0);
ObjectSetText (Pengurusan Perdagangan EA: Jual Stop Label, STOP, TradeObjectsFontSize, Arial, SellStopColour);
ObjectSet (Pengurusan Perdagangan EA: Jual Label Berhenti, OBJPROP_CORNER, 1);
ObjectSet (Pengurusan Perdagangan EA: Jual Label Berhenti, OBJPROP_XDISTANCE, TradeObjectsXDistance TradeObjectsXSpace);
ObjectSet (Pengurusan Perdagangan EA: Jual Label Berhenti, OBJPROP_YDISTANCE, TradeObjectsYDistance (TradeObjectsFontSize * 9) (TradeObjectsYSpace * 9) TradeWingDingFontSize-TradeObjectsFontSize);
}
lain
{
ObjectDelete (Pengurusan Perdagangan EA: Beli Berhenti);
ObjectDelete (Pengurusan Perdagangan EA: Beli Stop Label);
ObjectDelete (Pengurusan Perdagangan EA: Jual Berhenti);
ObjectDelete (Pengurusan Perdagangan EA: Sell Stop Label);
}
FirstRun = Palsu;
}
lain
{
ObjectDelete (Pengurusan Perdagangan EA: Beli Pasaran);
ObjectDelete (Pengurusan Perdagangan EA: Limit Beli);
ObjectDelete (Pengurusan Perdagangan EA: Beli Berhenti);
ObjectDelete (Pengurusan Perdagangan EA: Tutup);
ObjectDelete (Pengurusan Perdagangan EA: Set BE);
ObjectDelete (Pengurusan Perdagangan EA: AutoBE);
ObjectDelete (Pengurusan Perdagangan EA: Trail);
ObjectDelete (Pengurusan Perdagangan EA: Jual Pasar);
ObjectDelete (Pengurusan Perdagangan EA: Jual Had);
ObjectDelete (Pengurusan Perdagangan EA: Jual Berhenti);
ObjectDelete (Pengurusan Perdagangan EA: Beli Label Pasaran);
ObjectDelete (Pengurusan Perdagangan EA: Beli Label Had);
ObjectDelete (Pengurusan Perdagangan EA: Beli Stop Label);
ObjectDelete (Pengurusan Perdagangan EA: Close Label);
ObjectDelete (Pengurusan Perdagangan EA: Set BE Label);
ObjectDelete (Pengurusan Perdagangan EA: Label AutoBE);
ObjectDelete (Pengurusan Perdagangan EA: Label Trail);
ObjectDelete (Pengurusan Perdagangan EA: Jual Label Pasaran);
ObjectDelete (Pengurusan Perdagangan EA: Jual Label Batas);
ObjectDelete (Pengurusan Perdagangan EA: Sell Stop Label);
}
//--------- SESI MENINGKAT ------------------------------------- --------------------
int static NextModifyTime;
jika (MaintainSession == TrueTimeLocal () gt; NextModifyTime)
{
i = 0;
manakala (IsTradeContextBusy () == Benar)
{
Tidur (100);
i ;
jika (igt; 100)
kembali (0);
}
bool IsOrderPresent = FALSE;
untuk (i = 0; ilt; OrdersTotal (); i )
{
OrderSelect (i, SELECT_BY_POS);
jika (OrderMagicNumber () == MyMagicNumber)
IsOrderPresent = TRUE;
}
jika (IsOrderPresent == FALSE)
{
jika (OrderSend (Simbol (), OP_BUYLIMIT, MarketInfo (Simbol (), MODE_MINLOT), Titik, 0,0,0,0, MyMagicNumber, 0) lt; 0)
{
string ErrorString = ErrorDescription (GetLastError ());
Komen (PESAN PESAN SESI YANG PALING BUKA MENGENAI KESALAHAN:, ErrorString);
Cetak (ORDER SESI PEMENANG TERBUKA MUNGKIN KEPERLUAN:, ErrorString);
kembali (0);
}
}
untuk (i = 0; ilt; OrdersTotal (); i )
{
OrderSelect (i, SELECT_BY_POS);
jika (OrderMagicNumber () == MyMagicNumber)
{
jika (OrderTakeProfit ()! = 0)
double TPPrice = 0;
jika (OrderTakeProfit () == 0)
TPPrice = (Titik * 100000);
int ms1 = GetTickCount ();
jika (OrderModify (OrderTicket (), OrderOpenPrice (), 0, TPPrice, 0) == Palsu)
{
ErrorString = ErrorDescription (GetLastError ());
Komen (PESAN PESAN SESI PEMUDA MENGENAI KESALAHAN:, RalatString);
Cetak (ORDER SESSION ORDER MODIFY FAILED: REASON:, ErrorString);
}
lain
{
jika (RunInfiniteLoop == Benar)
int Tempoh = 28;
lain
Jangka masa = 25;
NextModifyTime = TimeLocal () Tempoh;
int ms2 = GetTickCount ();
int ExeTime = ms2-ms1;
Cetak (MASA PELAJARI SESI PELAJARI:, ExeTime);
}
}
}
}
WindowRedraw ();
jika (RunInfiniteLoop == Benar)
Tidur (RunIntervalMS);
lain
pecah;
}
kembali (0);
}
bool RunClose (Int TicketNumber, double ClickedPrice, double CloseLots, string MyComment)
{
manakala (IsTradeContextBusy () == Benar)
{
Komen (TUTUP TINGGAL: MENINGKATKAN CONTOH PERDAGANGAN UNTUK MENJADI KEBOLEHKAN);
Tidur (10);
int i; i ;
jika (500;
{
Komen (TUTUP TINGGAL: TIMBALAN KONDISI PERDAGANGAN);
PlaySound (timeout.wav);
kembali (Palsu);
}
}
RefreshRates ();
Komen (TUTUP TUTUP: POSISI TUTUP);
int ms1 = GetTickCount ();
string ClickedTime = TimeToStr (TimeCurrent (), TIME_SECONDS);
doubleClick Bid = Bid;
double ClickedAsk = Tanya;
OrderSelect (TicketNumber, SELECT_BY_TICKET);
jika (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);
rentetan CloseTimeHMS = TimeToStr (OrderCloseTime (), TIME_SECONDS);
double ExeTime = ms2-ms1;
suis (OrderType ())
{
kes 0: rentetan Arah = MENJUAL; double Slippage = (OrderClosePrice () - ClickedPrice)(Point * 10);
kes 1: Arah = BUY; Slippage = (ClickedPrice-OrderClosePrice ())(Point * 10);
}
Cetak (SLIPPAGE:, Slippage);
Cetak (PELAJARI MASA:, ExeTime);
int Handle = FileOpen (Pelaksanaan Loga.csv, FILE_READ | FILE_WRITE);
FileClose (Handle);
FileDelete (Pelaksanaan Loga.csv);
rentetan FileName = Pelaksanaan Log AccountNumber () PELAKSANAAN LOG.csv;
Handle = FileOpen (FileName, FILE_CSV | FILE_READ | FILE_WRITE, ',');
jika (Handlegt; 0)
{
FileSeek (Handle, 0, SEEK_END);
FileWrite (Handle, AccountNumber (), TicketNumber, CloseTimeDMY, CloseTimeHMS, OrderSymbol (), MyComment, Direction, OrderLots (), ClickedTime, ClickedBid, ClickedAsk, ClickedPrice, OrderClosePrice (), Slippage, ExeTime);
FileClose (Handle);
PlaySound (ok.wav);
Komen ();
}
lain
{
PlaySound (timeout.wav);
string ErrorString = ErrorDescription (GetLastError ());
Komen (RUN TUTUP: FILE DIBUKA MUNGKIN KEPERLUAN:, ErrorString);
Cetak (FILE OPEN FAILED REASON:, ErrorString);
}
}
lain
{
PlaySound (timeout.wav);
ErrorString = ErrorDescription (GetLastError ());
Komen (TUTUP TINGGI: ORDER TIDAK MENDAPATKAN REASON:, ErrorString);
Cetak (ORDER CLOSE FAILED. REASON:, ErrorString);
kembali (Palsu);
}
kembali (Benar);
}
int SendBuyMarketOrder (bool HiddenPending)
{
jika (SendMultipleOrders == 1)
{
statik int LastBuyMarketTime;
jika (TimeLocal () - LastBuyMarketTimelt; = 2)
kembali (0);
LastBuyMarketTime = TimeLocal ();
}
jika (SendMultipleOrdersgt; 1)
ShowConfirm = Benar;
Banyak = CalculateLots ();
jika (ShowConfirm == TrueHiddenPending == False)
{
int MessageBoxResult = MessageBox (Beli Simbol () DoubleToStr (Banyak, 2) banyak di pasaran? ,, 0x00000004 | 0x00000030);
jika (MessageBoxResult! = 6)
kembali (0);
}
RefreshRates ();
int TicketNumber = OrderSend (Symbol (), OP_BUY, Banyak, Ask, 0,0,0);
jika (TicketNumbergt; 0)
PlaySound (ok.wav);
lain
{
PlaySound (timeout.wav);
string ErrorString = ErrorDescription (GetLastError ());
Komen (BELI PEMASARAN PASARAN KEPERLUAN:, RalatString);
Cetak (ORDER PASARAN PEMBELIAN FAILS), Ralat:, ErrorString);
}
kembali (0);
}
int SendBuyLimitOrder ()
{
LastBuyLimitTime int;
jika (TimeLocal () - LastBuyLimitTimelt; = 2)
kembali (0);
LastBuyLimitTime = TimeLocal ();
untuk (int i = 0; il; 10; i )
{
jika (ObjectFind (Pengurusan Perdagangan EA: Batas Beli Baris i) == - 1)
{
int j = i;
pecah;
}
}
jika (UseWingDings == Palsu)
{
ObjectCreate (Pengurusan Perdagangan EA: Batas Beli Baris j, OBJ_HLINE, 0, TimeCurrent (), Ask- (DistancePendingOrder * Point));
ObjectSet (Pengurusan Perdagangan EA: Batas Beli Baris j, OBJPROP_COLOR, PendingColour);
ObjectSet (Pengurusan Perdagangan EA: Batas Beli Baris j, OBJPROP_STYLE, LineStyleEntry);
double LineBuyLimitPrice = NormalizeDouble (ObjectGet (Pengurusan Perdagangan EA: Had Beli Baris j, OBJPROP_PRICE1), Digit);
ObjectCreate (Pengurusan Perdagangan EA: Tiket Tiada Had Beli j, OBJ_TEXT, 0, Masa [80], LineBuyLimitPrice);
ObjectSetText (Pengurusan Perdagangan EA: Tiket Tiada Batas Beli j, Beli Batas, 10, Arial, PendingColour);
}
lain
{
ObjectCreate (Pengurusan Perdagangan EA: Batas Beli Baris j, OBJ_TREND, 0, TimeCurrent (), Ask- (DistancePendingOrder * Point), Masa [10], Ask- (DistancePendingOrder * Point));
ObjectSet (Pengurusan Perdagangan EA: Batas Beli Baris j, OBJPROP_WIDTH, OrderLineThickness);
ObjectSet (Pengurusan Perdagangan EA: Batas Beli Baris j, OBJPROP_COLOR, PendingColour);
ObjectSet (Pengurusan Perdagangan EA: Batas Beli Baris j, OBJPROP_RAY, Palsu);
LineBuyLimitPrice = NormalizeDouble (ObjectGet (Pengurusan Perdagangan EA: Had Beli Baris j, OBJPROP_PRICE1), Digit);
//ObjectCreate (Pengurusan Perdagangan EA: Had Pembelian Wingding j, OBJ_TEXT, 0, TimeCurrent (), LineBuyLimitPrice);
//ObjectSetText (Pengurusan Perdagangan EA: Had Pembelian Wingding j, CharToStr (Wingding), 10, WingDings, PendingColour);
}
double BuyLimitDistance = (Ask-LineBuyLimitPrice)(Point);
string BuyLimitDistanceStr = DoubleToStr (BuyLimitDistance, 0);
ObjectCreate (Pengurusan Perdagangan EA: Had Beli Jarak j, OBJ_TEXT, 0, Masa [10], LineBuyLimitPrice);
ObjectSetText (Pengurusan Perdagangan EA: Batas Beli Jarak j, BuyLimitDistanceStr, 13, Arial, PendingColour);
kembali (0);
}
int SendBuyStopOrder ()
{
LastBuyStopTime int statik;
jika (TimeLocal () - LastBuyStopTimelt; = 2)
kembali (0);
LastBuyStopTime = TimeLocal ();
untuk (int i = 0; il; 10; i )
{
jika (ObjectFind (Pengurusan Perdagangan EA: Talian Beli Berhenti i) == - 1)
{
int j = i;
pecah;
}
}
jika (UseWingDings == Palsu)
{
ObjectCreate (Pengurusan Perdagangan EA: Line Buy Stop j, OBJ_HLINE, 0, TimeCurrent (), Ask (DistancePendingOrder * Point));
ObjectSet (Pengurusan Perdagangan EA: Line Buy Stop j, OBJPROP_COLOR, PendingColour);
ObjectSet (Pengurusan Perdagangan EA: Line Buy Stop j, OBJPROP_STYLE, LineStyleEntry);
double LineBuyStopPrice = NormalizeDouble (ObjectGet (Pengurusan Perdagangan EA: Line Buy Stop j, OBJPROP_PRICE1), Digit);
ObjectCreate (Pengurusan Perdagangan EA: Tiket Tidak Berhenti Beli j, OBJ_TEXT, 0, Masa [80], LineBuyStopPrice);
ObjectSetText (Pengurusan Perdagangan EA: Tiket Tiada Stop Beli j, Beli Berhenti, 10, Arial, PendingColour);
}
lain
{
ObjectCreate (Pengurusan Perdagangan EA: Line Buy Stop j, OBJ_TREND, 0, TimeCurrent (), Ask (DistancePendingOrder * Point), Time [10], Ask (DistancePendingOrder * Point));
ObjectSet (Pengurusan Perdagangan EA: Line Buy Stop j, OBJPROP_WIDTH, OrderLineThickness);
ObjectSet (Pengurusan Perdagangan EA: Line Buy Stop j, OBJPROP_COLOR, PendingColour);
ObjectSet (Pengurusan Perdagangan EA: Line Buy Stop j, OBJPROp_RAY, False);
LineBuyStopPrice = NormalizeDouble (ObjectGet (Pengurusan Perdagangan EA: Line Buy Stop j, OBJPROP_PRICE1), Digit);
//ObjectCreate (Pengurusan Perdagangan EA: Wingding Buy Stop j, OBJ_TEXT, 0, TimeCurrent (), LineBuyStopPrice);
//ObjectSetText (Pengurusan Perdagangan EA: Wingding Buy Stop j, CharToStr (Wingding), 10, WingDings, PendingColour);
}
double BuyStopDistance = (LineBuyStopPrice-Ask)(Titik);
string BuyStopDistanceStr = DoubleToStr (BuyStopDistance, 0);
ObjectCreate (Pengurusan Perdagangan EA: Jarak Beli Berhenti j, OBJ_TEXT, 0, Masa [10], LineBuyStopPrice);
ObjectSetText (Pengurusan Perdagangan EA: Distance Buy Stop j, BuyStopDistanceStr, 13, Arial, PendingColour);
kembali (0);
}
int SendSellMarketOrder (bool HiddenPending)
{
jika (SendMultipleOrders == 1)
{
LastSellMarketTime int statik;
jika (TimeLocal () - LastSellMarketTimelt; = 2)
kembali (0);
LastSellMarketTime = TimeLocal ();
}
jika (SendMultipleOrdersgt; 1)
ShowConfirm = Benar;
Banyak = CalculateLots ();
jika (ShowConfirm == TrueHiddenPending == False)
{
int MessageBoxResult = MessageBox (Jual Simbol () DoubleToStr (Banyak, 2) banyak di pasaran? ,, 0x00000004 | 0x00000030);
jika (MessageBoxResult! = 6)
kembali (0);
}
RefreshRates ();
int TicketNumber = OrderSend (Simbol (), OP_SELL, Banyak, Tawaran, 0,0,0);
jika (TicketNumbergt; 0)
PlaySound (ok.wav);
lain
{
PlaySound (timeout.wav);
string ErrorString = ErrorDescription (GetLastError ());
Komen (ORDER PEMASARAN SELURUH DAPATKAN KEPUTUSAN:, ErrorString);
Cetak (ORDER PEMASARAN SELANJUTKAN KEPERLUAN:, ErrorString);
}
kembali (0);
}
int SendSellLimitOrder ()
{
LastSellLimitTime int;
jika (TimeLocal () - LastSellLimitTimelt; = 2)
kembali (0);
LastSellLimitTime = TimeLocal ();
untuk (int i = 0; il; 10; i )
{
jika (ObjectFind (Pengurusan Perdagangan EA: Line Jual Had i) == - 1)
{
int j = i;
pecah;
}
}
jika (UseWingDings == Palsu)
{
ObjectCreate (Pengurusan Perdagangan EA: Line Sell Limit j, OBJ_HLINE, 0, TimeCurrent (), Bid (PointPendingOrder * Point));
ObjectSet (Pengurusan Perdagangan EA: Line Sell Limit j, OBJPROP_COLOR, PendingColour);
ObjectSet (Pengurusan Perdagangan EA: Line Sell Limit j, OBJPROP_STYLE, LineStyleEntry);
double LineSellLimitPrice = NormalizeDouble (ObjectGet (Pengurusan Perdagangan EA: Line Jual Had j, OBJPROP_PRICE1), Digit);
ObjectCreate (Pengurusan Perdagangan EA: Tiket Tidak Menjual Had j, OBJ_TEXT, 0, Masa [80], LineSellLimitPrice);
ObjectSetText (Pengurusan Perdagangan EA: Tiket Tidak Menjual Had j, Jual Batas, 10, Arial, PendingColour);
}
lain
{
ObjectCreate (Pengurusan Perdagangan EA: Line Sell Limit j, OBJ_TREND, 0, TimeCurrent (), Bid (PointPendingOrder * Point), Time [10], Bid (PointPendingOrder Point *);
ObjectSet (Pengurusan Perdagangan EA: Line Jual Had j, OBJPROP_WIDTH, OrderLineThickness);
ObjectSet (Pengurusan Perdagangan EA: Line Sell Limit j, OBJPROP_COLOR, PendingColour);
ObjectSet (Pengurusan Perdagangan EA: Line Jual Batas j, OBJPROp_RAY, Palsu);
LineSellLimitPrice = NormalizeDouble (ObjectGet (Pengurusan Perdagangan EA: Line Jual Had j, OBJPROP_PRICE1), Digit);
//ObjectCreate (Pengurusan Perdagangan EA: Wingding Sell Limit j, OBJ_TEXT, 0, TimeCurrent (), LineSellLimitPrice);
//ObjectSetText (Pengurusan Perdagangan EA: Wingding Sell Limit j, CharToStr (Wingding), 10, WingDings, PendingColour);
}
double SellLimitDistance = (LineSellLimitPrice-Bid)(Point);
string SellLimitDistanceStr = DoubleToStr (SellLimitDistance, 0);
ObjectCreate (Pengurusan Perdagangan EA: Distance Sell Limit j, OBJ_TEXT, 0, Masa [10], LineSellLimitPrice);
ObjectSetText (Pengurusan Perdagangan EA: Distance Sell Limit j, SellLimitDistanceStr, 13, Arial, PendingColour);
kembali (0);
}
int SendSellStopOrder ()
{
LastSellStopTime int;
jika (TimeLocal () - LastSellStopTimelt; = 2)
kembali (0);
LastSellStopTime = TimeLocal ();
untuk (int i = 0; il; 10; i )
{
jika (ObjectFind (Pengurusan Perdagangan EA: Line Sell Stop i) == - 1)
{
int j = i;
pecah;
}
}
jika (UseWingDings == Palsu)
{
ObjectCreate (Pengurusan Perdagangan EA: Line Sell Stop j, OBJ_HLINE, 0, TimeCurrent (), Bid- (PointPendingOrder * Point));
ObjectSet (Pengurusan Perdagangan EA: Line Sell Stop j, OBJPROP_COLOR, PendingColour);
ObjectSet (Pengurusan Perdagangan EA: Line Sell Stop j, OBJPROP_STYLE, LineStyleEntry);
double LineSellStopPrice = NormalizeDouble (ObjectGet (Pengurusan Perdagangan EA: Line Sell Stop j, OBJPROP_PRICE1), Digit);
ObjectCreate (Perdagangan Pengurusan EA: Tiket Tidak Jual Berhenti j, OBJ_TEXT, 0, Masa [80], LineSellStopPrice);
ObjectSetText (Pengurusan Perdagangan EA: Tiket Tidak Jual Berhenti j, Jual Berhenti, 10, Arial, PendingColour);
}
lain
{
ObjectCreate (Pengurusan Perdagangan EA: Line Sell Stop j, OBJ_TREND, 0, TimeCurrent (), Bid- (DistancePendingOrder * Point), Time [10], Bid- (DistancePendingOrder * Point));
ObjectSet (Pengurusan Perdagangan EA: Line Sell Stop j, OBJPROP_WIDTH, OrderLineThickness);
ObjectSet (Pengurusan Perdagangan EA: Line Sell Stop j, OBJPROP_COLOR, PendingColour);
ObjectSet (Pengurusan Perdagangan EA: Line Sell Stop j, OBJPROp_RAY, False);
LineSellStopPrice = NormalizeDouble (ObjectGet (Pengurusan Perdagangan EA: Line Sell Stop j, OBJPROP_PRICE1), Digit);
//ObjectCreate (Pengurusan Perdagangan EA: Wingding Sell Stop j, OBJ_TEXT, 0, TimeCurrent (), LineSellStopPrice);
//ObjectSetText (Pengurusan Perdagangan EA: Wingding Sell Stop j, CharToStr (Wingding), 10, WingDings, PendingColour);
}
double SellStopDistance = (Bid-LineSellStopPrice)(Point);
string SellStopDistanceStr = DoubleToStr (SellStopDistance, 0);
ObjectCreate (Pengurusan Perdagangan EA: Jarak Jual Stop j, OBJ_TEXT, 0, Masa [10], LineSellStopPrice);
ObjectSetText (Pengurusan Perdagangan EA: Distance Sell Stop j, SellStopDistanceStr, 13, Arial, PendingColour);
kembali (0);
}
int SendCloseOrder ()
{
LastCloseMarketTime int statik;
jika (TimeLocal () - LastCloseMarketTimelt; = 2)
kembali (0);
LastCloseMarketTime = TimeLocal ();
jika (ShowConfirm == Benar)
{
int MessageBoxResult = MessageBox (Tutup semua Simbol () perdagangan di pasaran? ,, 0x00000004 | 0x00000030);
jika (MessageBoxResult! = 6)
kembali (0);
}
RefreshRates ();
untuk (int i = OrdersTotal () - 1; igt; = 0; i--)
{
OrderSelect (i, SELECT_BY_POS);
jika (OrderSymbol () == Simbol () OrderType () lt; = 1)
{
jika (OrderClose (OrderTicket (), OrderLots (), OrderClosePrice (), 100) == Benar)
PlaySound (ok.wav);
lain
{
PlaySound (timeout.wav);
string ErrorString = ErrorDescription (GetLastError ());
Komen (CLOSE ORDER FAILED REASON:, ErrorString);
Cetak (CLOSE ORDER FAILED REASON:, ErrorString);
}
}
}
kembali (0);
}
int SetBE ()
{
untuk (int i = OrdersTotal () - 1; igt; = 0; i--)
{
OrderSelect (i, SELECT_BY_POS);
jika (OrderSymbol () == Simbol () OrderType () lt; = 1)
{
int TicketNo = OrderTicket ();
jika (OrderProfit () gt; 0)
ObjectMove (Pengurusan Perdagangan EA: Line SL TicketNo, 0, OrderOpenTime (), OrderOpenPrice ());
}
}
}
double CalculateLots ()
{
RefreshRates ();
double LotPoint = MarketInfo (Symbol (), MODE_LOTSTEP);
jika (Banyak == 0)
Banyak = (MathFloor (((AccountEquity () * RiskPercent * 0.01)((DefaultSL * MarketInfo (Symbol (), MODE_TICKVALUE)) CommissionPerLot))LotPoint)
pulangan (banyak);
}
Berikut adalah ciri-ciri yang membuat masalah dan memerlukan beberapa perubahan:
1. EA tidak mengira Risiko dengan cara yang betul (Sila cuba sendiri). Oleh itu, saya perlu mengira Risiko setiap Perdagangan untuk diri sendiri yang membebankan saya cukup banyak masa (saya menguruskan 20 Carta pada masa yang sama) .
2. Apabila EA akan Auto-BE selepas sejumlah pip tertentu saya ingin mempunyai penggera apabila ini berlaku.
3. Apabila EA akan Auto-BE selepas sejumlah pip tertentu saya ingin mempunyai kemungkinan untuk kembali ke fungsi TRAIL dan Auto-BE tidak lagi sah untuk perdagangan ini. Dan STOP- KERUGIAN mestilah beralih ke Hentikan HINGGA asal sebelum AUTO-BE sedang berlaku.
4. Pada masa ini saya hanya boleh menetapkan 1 Line -Profit dalam Peratus (katakan 50% daripada Perdagangan) untuk 1 Posisi. Tetapi saya akan mempunyai kemungkinan untuk menetapkan lebih dari 1 Close-Profit-line.
5. EA harus berfungsi dalam masa lajur yang diingini di luar talian - Carta Harian = 8 H
Saya ingin berkongsi Kod ini dengan anda semua sekarang supaya sesetengah Coders saya berminat untuk membuat perubahan sebagaimana mestinya untuk berfungsi dengan baik
Saya menghargai sebarang bantuan di sini.
Lampiran ialah EA Perdagangan-Pengurus.
Terima kasih atas perhatian anda.
Greeds Zack
https://www.justgetforex.com/attachm...1161669919.mq4