Strategia MACD Sample.mq4 w MT4 otwiera zlecenie standardowo z 0 stoploss:
Kod: Zaznacz cały
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,[b][color=#FF0000]0[/color][/b],Ask+TakeProfit*Point,"macd sample",16384,0,Green);
Prawdopodobnie autorom chodziło o to, że stop loss jest nieistotny w sytuacji, gdy zdefiniowany został kroczący stop (trailing stop). Wraz z rozwojem sytuacji, kod ma modyfikować zlecenie - zamysł jest super.
Niestety, u mnie
Kod: Zaznacz cały
(!OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green)
wywołuje błąd (nr 1 lub 130-różnie).
Chciałam zmodyfikować OrderSend w taki sposób, by już "na dzień dobry" zlecenie było otwierane ze stoplossem, zdefiniowanym przez użytkownika w opcjach. W tym celu zdefiniowałam zmienną:
i zmodyfikowałam funkcję:
Kod: Zaznacz cały
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,"macd sample",16384,0,Green);
i analogicznie
Kod: Zaznacz cały
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,"macd sample",16384,0,Red);
Niestety - generuje to błąd (130); także wówczas, gdy w miejsce "Bid+StopLoss*Point" wpisuję liczbę (stałą), np. 50.
Znacie powód - czemu się tak dzieje? Mam MT4 build 646.