А что происходит ? Стоплосс идёт за ценой и вверх и вниз?
У вас нет сравнения старого уровня стоплосс, с новым, который вы модифицируете всегда.
Нужна проверка . Например для BUY Bid-atrXmul_curr- OrderStopLoss()>=Step ,где Step - шаг трейлинга.
//-------- Если двигаемся в ту сторону куда и открылись тралим по Step ---------------------------------- if (OrderSelect(Tic_B,SELECT_BY_TICKET,MODE_TRADES)==true && B>0 ) { //--------- Самый первый раз ---------------------------------- if (OrderStopLoss()==0 && OrderTakeProfit()==0) { ret=OrderModify(Tic_B,OrderOpenPrice(),OrderOpenPrice()-SL*Point,OrderOpenPrice()+TP*Point,0,CLR_NONE); PlaySound("tick.wav"); return(0); } //----------- Трейлинг -------------------------- if (Bid-OrderStopLoss()>(SL+Step)*Point && OrderStopLoss()!=0) { ret=OrderModify(Tic_B,OrderOpenPrice(),OrderStopLoss()+Step*Point,OrderTakeProfit(),0,CLR_NONE); PlaySound("tick.wav"); return(0); } } if (OrderSelect(Tic_S,SELECT_BY_TICKET,MODE_TRADES==true) && S>0) { //--------- Самый первый раз ---------------------------------- if (OrderStopLoss()==0 && OrderTakeProfit()==0) { ret=OrderModify(Tic_S,OrderOpenPrice(),OrderOpenPrice()+SL*Point,OrderOpenPrice()-TP*Point,0,CLR_NONE); PlaySound("tick.wav"); return(0); } //----------- Трейлинг -------------------------- if (OrderStopLoss()-Ask>(SL+Step)*Point && OrderStopLoss()!=0) { ret=OrderModify(Tic_S,OrderOpenPrice(),OrderStopLoss()-Step*Point,OrderTakeProfit(),0,CLR_NONE); PlaySound("tick.wav"); return(0); } }Это Вам для изучения.
от души Вас благодарю! Буду заниматься.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте! Код по 2-м ATR-ам переделал из стандартного кода трейлинг-стопа учебника (трейлинг на строго определенное количество пунктов).
В итоге получилось, что при возвращении курса против ордера SL модифицируется. Допустим, при бай цена вверх трейлинг - стоп
за ценой на расстоянии АТР*множитель также вверх, цена вниз и трейлинг - стоп за ценой на расстоянии АТР*множитель также вниз, что противоречит
понятию трейлинг-стопа (строго по тренду и стоп-лосс не более установленного при открытии ордера при сопровождении позиции). Вроде все правильно делаю... Подскажите. От души благодарю...
Вместо 0-го и 1-го бара использовал 1-ый и 2-ой, хотя все равно. Возможна ошибся где-то в 4-ом 5-ом блоке...