Смотрите какие в журнале ошибки. С первого взгляда напрашивается, что неправильно определяется размер ордера в установочном файле.
с открытием разобрался. Ордера открывает. Но он не закрывает их на текущей же свече, как при достижении скользящей средней, так и по трейлингстопу. На текущей закрывает только по стоп лоссу. Что не так в моем коде в закрытии.
При перечечении, когда текущая цена равна скольз. средней и еще трейлинг стоп. специально сделал трал маленьким все равно не срабатывает.
if(OrderType()==OP_BUY) // длинная позиция открыта { if(NormalizeDouble (MathAbs(MA_0-Bid),Digits)<Point) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); return(0); } // трейлинг-стоп для длинной позиции if(TrailingStop>0) { if(Bid-OrderOpenPrice()>Point*TrailingStop) { if(OrderStopLoss()<Bid-Point*TrailingStop) { OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green); return(0); } } } } else { if(NormalizeDouble (MathAbs(MA_0-Ask),Digits)<Point) { OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); return(0); } // трейлинг-стоп для короткой позиции if(TrailingStop>0) { if((OrderOpenPrice()-Ask)>(Point*TrailingStop)) { if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0)) { OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red); return(0); } } } } } } return(0); }
При перечечении, когда текущая цена равна скольз. средней и еще трейлинг стоп. специально сделал трал маленьким все равно не срабатывает.
if(NormalizeDouble (MathAbs(MA_0-Bid),Digits)<Point)
Ни кто не может мне помочь?!
Есть вероятность, что
Надо включить трассировку типа :
И также для
PS
Может MathAbs здесь лишнее ?
if(NormalizeDouble (MathAbs(MA_0-Bid),Digits)<Point)не бывает равно нулю на выбрааном вами отрезке.
Надо включить трассировку типа :
Print("NormalizeDouble (MathAbs(MA_0-Bid),Digits) = ",NormalizeDouble (MathAbs(MA_0-Bid),Digits)," Point = ",Point); if(NormalizeDouble (MathAbs(MA_0-Bid),Digits)<Point)и посмотреть исполняется ли данное условие.
И также для
OP_SELL
PS
Может MathAbs здесь лишнее ?
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
в приведенном ниже коде не сработывает открытия. Если открытие нового бара выше скользящей средней, то открывается Шелл, если открывается ниже, то Бай. Закрытие при достижении скользящей средней, + стоплосс + трейлинг стоп. Помогите кодом и объяснением, что я сделал не так.
Большое спасибо!!