Czasy muszą być złe, jeśli nie widzę drewna dla drzew!
Poniższy kod powinien dać mi dane o pozycji otwartej dla pary wykresów, ALE otrzymuję dane dla innej pary wykresów ... dlaczego?
Na wykresie GBP komentarz podaje poprawnie parę wykresów, ale symbol zamówienia i dane dotyczą AUD ... jak to możliwe, gdy nie należy wprowadzać sekcji if (OrderSymbol () == Symbol ())?
NAGRODĘ dla każdego, kto pierwszy odpowie poprawnie .... Wolny dzień wolny od handlu w Boże Narodzenie :-)
Wszystkiego najlepszego z okazji Bożego Narodzenia.
Wstawiony kod void UpdateOpenTrades () {int c, mOrdTotal; bool mOp; mOrdTotal = OrdersTotal (); dla (c = mOrdTotal - 1; c gt; = 0; c--) {mOp = OrderEelect (c, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol () == Symbol ()) OrderMagicNumber () == mMagicN) {if (OrderType () == OP_BUY || OrderType () == OP_SELL) {DelPending (); Komentarz (Symbol (),, OrderSymbol (), OrderType (), DoubleToStr (OrderLots (), 2)); if (OrderType () == OP_BUY) mTradeData # 91; 0 # 93; = 1; w przeciwnym razie mTradeData # 91; 0 # 93; = 2; mTradeData # 91; 1 # 93; = OrderOpenTime (); mTradeData # 91; 2 # 93; = OrderTicket (); mTradeData # 91; 5 # 93; = NormalizeDouble (OrderLots (), mLotSizeDigits); if (iTime (NULL, 1440, 0) gt; OrderOpenTime ()) {if (TimeDayOfWeek (iTime (NULL, 1440, 0))! = 1) {mTradeData # 91; 3 # 93; = iHigh (NULL, 1440, 1); mTradeData # 91; 4 # 93; = iLow (NULL, 1440, 1); } else {mTradeData # 91; 3 # 93; = iHigh (NULL, 1440, 2); mTradeData # 91; 4 # 93; = iLow (NULL, 1440, 2); }} if (mTradeData # 91; 0 # 93; == 1) {mTradeData # 91; 6 # 93; = NormalizeDouble (OrderOpenPrice () - OrderStopLoss (), mLotSizeDigits); } else {mTradeData # 91; 6 # 93; = NormalizeDouble (OrderStopLoss () - OrderOpenPrice (), mLotSizeDigits); } mOpenUpdated = true; }/jeśli KUPUJSPRZEDAJ}/jeśli Symb jeśli (mOp! = true) {int mError = GetLastError (); Alert (Symbol (), Error UpdateOpen =, ErrorDescription (mError)); }}/dla powrotu c; }
TIA.
M.