STOPLOSS does not set
Created at 11 Sep 2018, 10:38
STOPLOSS does not set
11 Sep 2018, 10:38
Hi, this is on golden dragon 2. backtesting runs smooth, but when going to demo , the stop loss does not fill. ... please help
// Golden Dragon v2.0 // Released 20th May 2015 // Created by Craig Stone (except for trailing stops code which is drawn from Spotware's sample code) using System; using System.Linq; using cAlgo.API; using cAlgo.API.Indicators; using cAlgo.API.Internals; using cAlgo.API.Requests; using cAlgo.Indicators; namespace cAlgo.Robots { [Robot(TimeZone = TimeZones.UTC)] public class GoldenDragon : Robot { // Dragon instance number [Parameter("Dragon Number", DefaultValue = 1, MinValue = 1)] public int DragonNumber { get; set; } // Polynomial regression degree [Parameter("COG Polynomial Degree", DefaultValue = 3, MinValue = 1, MaxValue = 5)] public int cogDegree { get; set; } // Number of history bars to use for calculation of primary regression calculation [Parameter("1st COG Period", DefaultValue = 110, MinValue = 1)] public int cog1Periods { get; set; } [Parameter("2nd COG Period", DefaultValue = 250, MinValue = 0)] public int cog2Periods { get; set; } [Parameter("3rd COG Period", DefaultValue = 465, MinValue = 0)] public int cog3Periods { get; set; } // Inner polynomial envelope offset, optionally used to set TP level [Parameter("1st Channel Deviation", DefaultValue = 1.4, MinValue = 0.1)] public double Inner { get; set; } // Middle polynomial envelope offset, used to open a position [Parameter("2nd Channel Deviation", DefaultValue = 1.8, MinValue = 0.1)] public double Middle { get; set; } // Outer polynomial envelope offset, optionally used to set SL [Parameter("3rd Channel Deviation", DefaultValue = 2.2, MinValue = 0.1)] public double Outer { get; set; } // Centre of gravity trade filtering [Parameter("COG Trade Biasing", DefaultValue = 3, MinValue = 0, MaxValue = 3)] public int cogBias { get; set; } // Default trade volume [Parameter("Trade Volume", DefaultValue = 10, MinValue = 1)] public int TradeVolume { get; set; } // Maximum slippage [Parameter("Slippage (pips)", DefaultValue = 10, MinValue = 0)] public int Slippage { get; set; } // Catastrophic Stop Loss [Parameter("Stop Loss (pips)", DefaultValue = 20, MinValue = 0)] public int StopLoss { get; set; } // Minimum Profit [Parameter("Minimum Profit (pips)", DefaultValue = 50, MinValue = 0)] public int MinimumPips { get; set; } [Parameter("Trailing Stops", DefaultValue = false)] public bool TrailingStops { get; set; } [Parameter("Trailing Stop Trigger (pips)", DefaultValue = 500)] public int TrailingStopTrigger { get; set; } [Parameter("Trailing Stop Distance (pips)", DefaultValue = 500)] public int TrailingStopDistance { get; set; } // Equity Protection [Parameter("Equity Stop Loss (ratio)", DefaultValue = 0.2, MinValue = 0, MaxValue = 1)] public double EquityStop { get; set; } // Balance Protection [Parameter("Balance Stop Loss (ratio)", DefaultValue = 0.2, MinValue = 0, MaxValue = 1)] public double BalanceStop { get; set; } // Maximum simultaneous long positions [Parameter("Long Trades", DefaultValue = 2, MinValue = 0)] public int MaxLongTrades { get; set; } // Maximum simultaneous short positions [Parameter("Short Trades", DefaultValue = 2, MinValue = 0)] public int MaxShortTrades { get; set; } // Minimum time delay between trades [Parameter("Trade Delay (bars)", DefaultValue = 1, MinValue = 1)] public int TradeDelay { get; set; } // Trade suspension period on loss [Parameter("Wait on Loss (bars)", DefaultValue = 0, MinValue = 0)] public int WaitOnLoss { get; set; } // Enables trade volume doubling when a stop loss is hit [Parameter("Martingale Enabled", DefaultValue = false)] public bool Martingale { get; set; } // Enables Belkhayate entry filtering [Parameter("Belkhayate Timing", DefaultValue = false)] public bool BelkhayateTimingFilter { get; set; } // Enables Hull MA filtering [Parameter("Hull Trade Filter", DefaultValue = true)] public bool HullFilter { get; set; } // Hull MA Indicator Period [Parameter("Hull Period", DefaultValue = 3, MinValue = 1)] public int HullPeriod { get; set; } private int LongPositions = 0, ShortPositions = 0, MaxLong = 0, MaxShort = 0; private int BuyVolume = 0, TakeProfit = 0, Count = 0; private double bid = 0, ask = 0, spread = 0, pipsize = 0, OpeningBalance = 0; private int t1ix, t2ix, t3ix; private double t1h3, t1h2, t1h1, t1c0, t1l1, t1l2, t1l3; private double t2h3, t2h2, t2h1, t2c0, t2l1, t2l2, t2l3; private double t3h3, t3h2, t3h1, t3c0, t3l1, t3l2, t3l3; private int MartingaleActive = 0; private bool TradeSafe = true, BuySafe = true, SellSafe = true, isTrigerred = false; private BelkhayatePRC cog1, cog2, cog3; private BelkhayateTiming timing; private HMA hull; private string DragonID; protected override void OnStart() { DragonID = "Golden Dragon " + DragonNumber + " - " + Symbol.Code; Positions.Closed += PositionsOnClosed; BuyVolume = TradeVolume; OpeningBalance = Account.Balance; MaxLong = MaxLongTrades; MaxShort = MaxShortTrades; cog1 = Indicators.GetIndicator<BelkhayatePRC>(cogDegree, cog1Periods, Inner, Middle, Outer); if (cog2Periods > 0) cog2 = Indicators.GetIndicator<BelkhayatePRC>(cogDegree, cog2Periods, Inner, Middle, Outer); if (cog3Periods > 0) cog3 = Indicators.GetIndicator<BelkhayatePRC>(cogDegree, cog3Periods, Inner, Middle, Outer); if (BelkhayateTimingFilter) timing = Indicators.GetIndicator<BelkhayateTiming>(); if (HullFilter) hull = Indicators.GetIndicator<HMA>(HullPeriod); // Identify existing trades from this instance foreach (var position in Positions) { if (position.Label == DragonID) switch (position.TradeType) { case TradeType.Buy: LongPositions++; break; case TradeType.Sell: ShortPositions++; break; } } } protected override void OnBar() { Count++; // COGx1 t1ix = (int)cog1.ix; t1h3 = (double)cog1.sqh3.LastValue; t1h2 = (double)cog1.sqh2.LastValue; t1h1 = (double)cog1.sqh.LastValue; t1c0 = (double)cog1.prc.LastValue; t1l1 = (double)cog1.sql.LastValue; t1l2 = (double)cog1.sql2.LastValue; t1l3 = (double)cog1.sql3.LastValue; // COGx2 if (cog2Periods > 0) { t2ix = (int)cog2.ix; t2h3 = (double)cog2.sqh3.LastValue; t2h2 = (double)cog2.sqh2.LastValue; t2h1 = (double)cog2.sqh.LastValue; t2c0 = (double)cog2.prc.LastValue; t2l1 = (double)cog2.sql.LastValue; t2l2 = (double)cog2.sql2.LastValue; t2l3 = (double)cog2.sql3.LastValue; } // COGx4 if (cog3Periods > 0) { t3ix = (int)cog3.ix; t3h3 = (double)cog3.sqh3.LastValue; t3h2 = (double)cog3.sqh2.LastValue; t3h1 = (double)cog3.sqh.LastValue; t3c0 = (double)cog3.prc.LastValue; t3l1 = (double)cog3.sql.LastValue; t3l2 = (double)cog3.sql2.LastValue; t3l3 = (double)cog3.sql3.LastValue; } } protected override void OnTick() { bid = Symbol.Bid; ask = Symbol.Ask; spread = Symbol.Spread; pipsize = Symbol.PipSize; TradeSafe = true; BuySafe = true; SellSafe = true; if (Account.Equity / Account.Balance < EquityStop) { Print("Equity protection stop triggered. All positions closed."); ClosePositions(); Stop(); } if (Account.Equity < Account.Balance * BalanceStop) { Print("Account balance protection triggered. All positions closed."); ClosePositions(); Stop(); } if (BelkhayateTimingFilter) { if (timing.Close.LastValue > timing.BuyLine1.LastValue) BuySafe = false; if (timing.Close.LastValue < timing.SellLine1.LastValue) SellSafe = false; } if (HullFilter) { if (hull.hma.IsFalling()) BuySafe = false; if (hull.hma.IsRising()) SellSafe = false; } if (cogBias > 0) { switch (cogBias) { case 1: if (cog1.prc.IsRising()) SellSafe = false; if (cog1.prc.IsFalling()) BuySafe = false; break; case 2: if (cog2.prc.IsRising()) SellSafe = false; if (cog2.prc.IsFalling()) BuySafe = false; break; case 3: if (cog3.prc.IsRising()) SellSafe = false; if (cog3.prc.IsFalling()) BuySafe = false; break; } } if (TrailingStops) AdjustTrailingStops(); if (Count > TradeDelay && LongPositions < MaxLong && BuySafe == true && TradeSafe == true) { if ((cog2Periods == 0 && cog3Periods == 0 && ask < t1l3) || (cog2Periods > 0 && cog3Periods == 0 && ask < t1l3 && ask < t2l3) || (cog2Periods > 0 && cog3Periods > 0 && ask < t1l3 && ask < t2l3 && ask < t3l3)) { OpenPosition(TradeType.Buy, BuyVolume * 3); } else if ((cog2Periods == 0 && cog3Periods == 0 && ask < t1l2) || (cog2Periods > 0 && cog3Periods == 0 && ask < t1l2 && ask < t2l2) || (cog2Periods > 0 && cog3Periods > 0 && ask < t1l2 && ask < t2l2 && ask < t3l2)) { OpenPosition(TradeType.Buy, BuyVolume * 2); } else if ((cog2Periods == 0 && cog3Periods == 0 && ask < t1l1) || (cog2Periods > 0 && cog3Periods == 0 && ask < t1l1 && ask < t2l1) || (cog2Periods > 0 && cog3Periods > 0 && ask < t1l1 && ask < t2l1 && ask < t3l1)) { OpenPosition(TradeType.Buy, BuyVolume * 1); } } if (Count > TradeDelay && ShortPositions < MaxShort && SellSafe == true && TradeSafe == true) { if ((cog2Periods == 0 && cog3Periods == 0 && bid > t1h3) || (cog2Periods > 0 && cog3Periods == 0 && bid > t1h3 && bid > t2h3) || (cog2Periods > 0 && cog3Periods > 0 && bid > t1h3 && bid > t2h3 && bid > t3h3)) { OpenPosition(TradeType.Sell, BuyVolume * 3); } if ((cog2Periods == 0 && cog3Periods == 0 && bid > t1h2) || (cog2Periods > 0 && cog3Periods == 0 && bid > t1h2 && bid > t2h2) || (cog2Periods > 0 && cog3Periods > 0 && bid > t1h2 && bid > t2h2 && bid > t3h2)) { OpenPosition(TradeType.Sell, BuyVolume * 2); } if ((cog2Periods == 0 && cog3Periods == 0 && bid > t1h1) || (cog2Periods > 0 && cog3Periods == 0 && bid > t1h1 && bid > t2h1) || (cog2Periods > 0 && cog3Periods > 0 && bid > t1h1 && bid > t2h1 && bid > t3h1)) { OpenPosition(TradeType.Sell, BuyVolume * 1); } } } private void OpenPosition(TradeType tradetype, int quantity) { // check that the tube is ready if (t1ix > cog1Periods) { switch (tradetype) { case TradeType.Buy: if (cog3Periods > 0) TakeProfit = (int)((t3c0 - ask) / pipsize); else if (cog2Periods > 0) TakeProfit = (int)((t2c0 - ask) / pipsize); else TakeProfit = (int)((t1c0 - ask) / pipsize); LongPositions++; Print("Opened LONG position {0} of {1}", LongPositions, MaxLong); break; case TradeType.Sell: if (cog3Periods > 0) TakeProfit = (int)((bid - t3c0) / pipsize); else if (cog2Periods > 0) TakeProfit = (int)((bid - t2c0) / pipsize); else TakeProfit = (int)((bid - t1c0) / pipsize); ShortPositions++; Print("Opened SHORT position {0} of {1}", ShortPositions, MaxShort); break; } if (MartingaleActive > 0) TakeProfit = (int)(StopLoss / 2); ExecuteMarketOrder(tradetype, Symbol, quantity, DragonID, StopLoss, TakeProfit, Slippage, DragonID); Count = 0; } Print("Period {0}, Long {1} of {2}, Short {3} of {4}", t1ix, LongPositions, MaxLong, ShortPositions, MaxShort); } protected override void OnPositionOpened(Position openedPosition) { switch (openedPosition.TradeType) { case TradeType.Buy: LongPositions++; break; case TradeType.Sell: ShortPositions++; break; } } private void ClosePositions() { foreach (var position in Positions) { if (position.Label == DragonID && position.GrossProfit < -10) ClosePosition(position); } } private void PositionsOnClosed(PositionClosedEventArgs args) { var position = args.Position; switch (position.TradeType) { case TradeType.Buy: LongPositions--; Print("Closed LONG position. {0} of {1} remain open.", LongPositions, MaxLong); break; case TradeType.Sell: ShortPositions--; Print("Closed SHORT position. {0} of {1} remain open.", ShortPositions, MaxShort); break; } if (position.GrossProfit < 0) { if (WaitOnLoss > 0) Count = -WaitOnLoss; if (Martingale) { MartingaleActive++; BuyVolume = BuyVolume * 2; } } else if (MartingaleActive > 0) { MartingaleActive--; BuyVolume = (int)(BuyVolume / 2); } Print("Period {0}, Long {1} of {2}, Short {3} of {4}", t1ix, LongPositions, MaxLong, ShortPositions, MaxShort); } private void AdjustTrailingStops() { foreach (var position in Positions) { if (position.Label == DragonID) { if (position.TradeType == TradeType.Buy) { double distance = Symbol.Bid - position.EntryPrice; if (distance >= TrailingStopTrigger * Symbol.PipSize) { if (!isTrigerred) { isTrigerred = true; Print("Trailing stop loss triggered on position {0}", position.Id); } double newStopLossPrice = Math.Round(Symbol.Bid - TrailingStopDistance * Symbol.PipSize, Symbol.Digits); if (position.StopLoss == null || newStopLossPrice > position.StopLoss) { ModifyPosition(position, newStopLossPrice, position.TakeProfit); } } } else { double distance = position.EntryPrice - Symbol.Ask; if (distance >= TrailingStopTrigger * Symbol.PipSize) { if (!isTrigerred) { isTrigerred = true; Print("Trailing stop loss triggered on position {0}", position.Id); } double newStopLossPrice = Math.Round(Symbol.Ask + TrailingStopDistance * Symbol.PipSize, Symbol.Digits); if (position.StopLoss == null || newStopLossPrice < position.StopLoss) { ModifyPosition(position, newStopLossPrice, position.TakeProfit); } } } } } } protected void Message(int level, string message) { Print("[{0}] {1}", level, message); } protected override void OnStop() { Print("Dragon Sleeping"); } } }
yenni22w
11 Sep 2018, 10:45
journal
2018.09.07 13:11:54.546 | cTrader started
2018.09.07 16:47:51.413 | cTrader started
2018.09.10 06:20:00.444 | Request to Sell 0.20 Lot(s) XAUUSD (Price: 1193.35, SL: 50, TP: 132, MR: 10) is sent to server
2018.09.10 06:20:00.803 | → Request to Sell 0.20 Lot(s) XAUUSD (Price: 1193.35, SL: 50, TP: 132, MR: 10) is ACCEPTED, order OID18310904 created (10/09/2018 06:20:00.587 UTC+0)
2018.09.10 06:20:01.178 | → Order OID18310904 is FILLED at 1193.43, position PID10771986 (10/09/2018 06:20:00.826 UTC+0)
2018.09.10 06:20:01.413 | Request to Sell 0.10 Lot(s) XAUUSD (Price: 1193.43, SL: 50, TP: 132, MR: 10) is sent to server
2018.09.10 06:20:01.632 | → Request to Sell 0.10 Lot(s) XAUUSD (Price: 1193.43, SL: 50, TP: 132, MR: 10) is ACCEPTED, order OID18310906 created (10/09/2018 06:20:01.523 UTC+0)
2018.09.10 06:20:01.897 | → Order OID18310906 is FILLED at 1193.43, position PID10771987 (10/09/2018 06:20:01.782 UTC+0)
2018.09.10 06:20:05.335 | → Order OID18310907 is FILLED at 1194, position PID10771987 closed (10/09/2018 06:20:05.153 UTC+0)
2018.09.10 06:20:05.413 | → Order OID18310905 is FILLED at 1194.02, position PID10771986 closed (10/09/2018 06:20:05.189 UTC+0)
2018.09.10 12:24:00.478 | Request to Sell 0.10 Lot(s) XAUUSD (Price: 1192.86, SL: 50, TP: 91, MR: 10) is sent to server
2018.09.10 12:24:00.681 | → Request to Sell 0.10 Lot(s) XAUUSD (Price: 1192.86, SL: 50, TP: 91, MR: 10) is ACCEPTED, order OID18313538 created (10/09/2018 12:24:00.579 UTC+0)
2018.09.10 12:24:00.947 | → Order OID18313538 is FILLED at 1192.86, position PID10772702 (10/09/2018 12:24:00.846 UTC+0)
2018.09.10 12:24:11.619 | → Order OID18313541 is FILLED at 1193.36, position PID10772702 closed (10/09/2018 12:24:11.495 UTC+0)
2018.09.10 12:36:00.260 | Request to Sell 0.60 Lot(s) XAUUSD (Price: 1193.73, SL: 50, TP: 25, MR: 10) is sent to server
2018.09.10 12:36:00.463 | → Request to Sell 0.60 Lot(s) XAUUSD (Price: 1193.73, SL: 50, TP: 25, MR: 10) is ACCEPTED, order OID18313592 created (10/09/2018 12:36:00.365 UTC+0)
2018.09.10 12:36:00.682 | → Order OID18313592 is FILLED at 1193.75, position PID10772733 (10/09/2018 12:36:00.586 UTC+0)
2018.09.10 12:36:00.729 | Request to Sell 0.40 Lot(s) XAUUSD (Price: 1193.75, SL: 50, TP: 25, MR: 10) is sent to server
2018.09.10 12:36:00.932 | → Request to Sell 0.40 Lot(s) XAUUSD (Price: 1193.75, SL: 50, TP: 25, MR: 10) is ACCEPTED, order OID18313594 created (10/09/2018 12:36:00.833 UTC+0)
2018.09.10 12:36:01.182 | → Order OID18313594 is FILLED at 1193.76, position PID10772734 (10/09/2018 12:36:01.061 UTC+0)
2018.09.10 12:36:01.229 | Request to Sell 0.20 Lot(s) XAUUSD (Price: 1193.76, SL: 50, TP: 25, MR: 10) is sent to server
2018.09.10 12:36:01.432 | → Request to Sell 0.20 Lot(s) XAUUSD (Price: 1193.76, SL: 50, TP: 25, MR: 10) is ACCEPTED, order OID18313596 created (10/09/2018 12:36:01.323 UTC+0)
2018.09.10 12:36:01.667 | → Order OID18313596 is FILLED at 1193.74, position PID10772735 (10/09/2018 12:36:01.560 UTC+0)
2018.09.10 12:36:54.012 | Request to amend position PID10772733 (SL: 1193.74) is sent to server
2018.09.10 12:36:54.231 | → Order OID18313595 is FILLED at 1193.49, position PID10772734 closed (10/09/2018 12:36:54.110 UTC+0)
2018.09.10 12:36:54.262 | → Order OID18313593 is FILLED at 1193.49, position PID10772733 closed (10/09/2018 12:36:54.116 UTC+0)
2018.09.10 12:36:54.309 | → Order OID18313597 is FILLED at 1193.49, position PID10772735 closed (10/09/2018 12:36:54.151 UTC+0)
2018.09.10 12:36:54.450 | → Request to amend position PID10772733 (SL: 1193.74) is REJECTED with error "POSITION_NOT_FOUND"
2018.09.10 12:54:00.348 | Request to Sell 0.30 Lot(s) XAUUSD (Price: 1195.11, SL: 50, TP: 301, MR: 10) is sent to server
2018.09.10 12:54:00.536 | → Request to Sell 0.30 Lot(s) XAUUSD (Price: 1195.11, SL: 50, TP: 301, MR: 10) is ACCEPTED, order OID18313721 created (10/09/2018 12:54:00.449 UTC+0)
2018.09.10 12:54:00.801 | → Order OID18313721 is FILLED at 1195.10, position PID10772782 (10/09/2018 12:54:00.713 UTC+0)
2018.09.10 12:54:00.864 | Request to Sell 0.20 Lot(s) XAUUSD (Price: 1195.10, SL: 50, TP: 301, MR: 10) is sent to server
2018.09.10 12:54:01.082 | → Request to Sell 0.20 Lot(s) XAUUSD (Price: 1195.10, SL: 50, TP: 301, MR: 10) is ACCEPTED, order OID18313723 created (10/09/2018 12:54:00.993 UTC+0)
2018.09.10 12:54:01.317 | → Order OID18313723 is FILLED at 1195.18, position PID10772783 (10/09/2018 12:54:01.214 UTC+0)
2018.09.10 12:54:01.379 | Request to Sell 0.10 Lot(s) XAUUSD (Price: 1195.18, SL: 50, TP: 301, MR: 10) is sent to server
2018.09.10 12:54:01.629 | → Request to Sell 0.10 Lot(s) XAUUSD (Price: 1195.18, SL: 50, TP: 301, MR: 10) is ACCEPTED, order OID18313725 created (10/09/2018 12:54:01.541 UTC+0)
2018.09.10 12:54:01.848 | → Order OID18313725 is FILLED at 1195.10, position PID10772784 (10/09/2018 12:54:01.752 UTC+0)
2018.09.10 12:54:04.879 | → Order OID18313722 is FILLED at 1195.75, position PID10772782 closed (10/09/2018 12:54:04.693 UTC+0)
2018.09.10 12:54:04.926 | → Order OID18313726 is FILLED at 1195.75, position PID10772784 closed (10/09/2018 12:54:04.719 UTC+0)
2018.09.10 12:54:05.067 | → Order OID18313724 is FILLED at 1195.77, position PID10772783 closed (10/09/2018 12:54:04.956 UTC+0)
2018.09.10 13:02:00.863 | Request to Sell 2.40 Lot(s) XAUUSD (Price: 1197.04, SL: 50, TP: 25, MR: 10) is sent to server
2018.09.10 13:02:01.066 | → Request to Sell 2.40 Lot(s) XAUUSD (Price: 1197.04, SL: 50, TP: 25, MR: 10) is ACCEPTED, order OID18314431 created (10/09/2018 13:02:00.963 UTC+0)
2018.09.10 13:02:01.081 | → Order OID18314431 is REJECTED with error "NOT_ENOUGH_MONEY"
2018.09.10 13:02:01.081 | Request to Sell 1.60 Lot(s) XAUUSD (Price: 1197.04, SL: 50, TP: 25, MR: 10) is sent to server
2018.09.10 13:02:01.316 | → Request to Sell 1.60 Lot(s) XAUUSD (Price: 1197.04, SL: 50, TP: 25, MR: 10) is ACCEPTED, order OID18314432 created (10/09/2018 13:02:01.218 UTC+0)
2018.09.10 13:02:01.581 | → Order OID18314432 is FILLED at 1197.04, position PID10772883 (10/09/2018 13:02:01.478 UTC+0)
2018.09.10 13:02:01.628 | Request to Sell 0.80 Lot(s) XAUUSD (Price: 1197.04, SL: 50, TP: 25, MR: 10) is sent to server
2018.09.10 13:02:01.878 | → Request to Sell 0.80 Lot(s) XAUUSD (Price: 1197.04, SL: 50, TP: 25, MR: 10) is ACCEPTED, order OID18314434 created (10/09/2018 13:02:01.793 UTC+0)
2018.09.10 13:02:01.878 | → Order OID18314434 is REJECTED with error "NOT_ENOUGH_MONEY"
2018.09.10 13:03:53.738 | Request to amend position PID10772883 (SL: 1197.03) is sent to server
2018.09.10 13:03:53.941 | → Request to amend position PID10772883 (SL: 1197.03) is REJECTED with error "TRADING_BAD_STOPS"
2018.09.10 13:03:54.019 | → Order OID18314433 is FILLED at 1196.78, position PID10772883 closed (10/09/2018 13:03:53.911 UTC+0)
2018.09.11 05:42:00.706 | Request to Sell 0.40 Lot(s) XAUUSD (Price: 1194.78, SL: 20, TP: 119, MR: 5) is sent to server
2018.09.11 05:42:00.893 | → Request to Sell 0.40 Lot(s) XAUUSD (Price: 1194.78, SL: 20, TP: 119, MR: 5) is ACCEPTED, order OID18321928 created (11/09/2018 05:42:00.800 UTC+0)
2018.09.11 05:42:01.143 | → Order OID18321928 is FILLED at 1194.77, position PID10775801 (11/09/2018 05:42:01.019 UTC+0)
2018.09.11 05:42:02.159 | Request to Sell 0.20 Lot(s) XAUUSD (Price: 1194.77, SL: 20, TP: 119, MR: 5) is sent to server
2018.09.11 05:42:02.378 | → Request to Sell 0.20 Lot(s) XAUUSD (Price: 1194.77, SL: 20, TP: 119, MR: 5) is ACCEPTED, order OID18321937 created (11/09/2018 05:42:02.276 UTC+0)
2018.09.11 05:42:02.596 | → Order OID18321937 is FILLED at 1194.78, position PID10775807 (11/09/2018 05:42:02.483 UTC+0)
2018.09.11 07:11:16.591 | Request to close position PID10775801 is sent to server
2018.09.11 07:11:16.857 | → Request to close position PID10775801 is ACCEPTED, order OID18324231 created (11/09/2018 07:11:16.749 UTC+0)
2018.09.11 07:11:17.482 | → Order OID18324231 is FILLED at 1196.33, position PID10775801 closed (11/09/2018 07:11:17.044 UTC+0)
2018.09.11 07:11:22.826 | Request to close position PID10775807 is sent to server
2018.09.11 07:11:23.044 | → Request to close position PID10775807 is ACCEPTED, order OID18324232 created (11/09/2018 07:11:22.934 UTC+0)
2018.09.11 07:11:23.607 | → Order OID18324232 is FILLED at 1196.29, position PID10775807 closed (11/09/2018 07:11:23.194 UTC+0)
@yenni22w