Спасибо Roger
Ошибка то явная, хотя ошибка ли? Может так и задумано было? В функции OrderModify вместо OrderStopLoss() поставить l_price_0, а на ее место вернуть OrderTakeProfit().
Интересная картина наблюдается, тырить уже научился, а под себя подстраивать - никак.
Да по коду видно, что он взломаный. Это считается плохим тоном выкладывать на форуме программистов взломанные коды.
Ohr писал(а) >>
Вместо профита тралит лосс! Помогите исправить!
Точнее
Он вместо того что-бы передвигать линию стоп лосса в безубыток он передвигает линию тэйк профит в убыток! То есть он когда попадает в убыток то подтягивает к се линию которую привересечении закрывает ордер!
Зачем исправлять... Возьмите готовый тралл Кима....
Один умник поместил декомпилированный советник в Кодбазу, а другие быстренько его скачали и начинают, не разбираясь в принципе работы советника, его править....
Этот кусок
if (ND(Bid - OrderOpenPrice()) <= ND((-Point) * TrailingProfStart)) { l_price_0 = ND(Bid + Point * TrailingProf); if (ND(OrderTakeProfit()) > l_price_0 || ND(OrderTakeProfit()) == 0.0) { if (!IsTradeContextBusy()) { if (!OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), l_price_0, 0, CLR_NONE)) {замени на этот
if (ND(Bid - OrderOpenPrice()) > ND((Point) * TrailingProfStart)) { l_price_0 = ND(Bid - Point * TrailingProf); if (ND(OrderStopLoss()) < l_price_0 ) { if (!IsTradeContextBusy()) { if (!OrderModify(OrderTicket(), OrderOpenPrice(), l_price_0,OrderTakeProfit(), 0, CLR_NONE)) {а этот
if (ND(OrderOpenPrice() - Ask) <= ND((-Point) * TrailingProfStart)) { l_price_0 = ND(Ask - Point * TrailingProf); if (!IsTradeContextBusy()) { if (ND(OrderTakeProfit()) < l_price_0) { if (!OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), l_price_0, 0, CLR_NONE)) {на этот
if (ND(OrderOpenPrice() - Ask) > ND((Point) * TrailingProfStart)) { l_price_0 = ND(Ask + Point * TrailingProf); if (!IsTradeContextBusy()) { if (ND(OrderStopLoss()) > l_price_0|| ND(OrderStopLoss()) == 0.0) { if (!OrderModify(OrderTicket(), OrderOpenPrice(), l_price_0,OrderTakeProfit(), 0, CLR_NONE)) {и конечно считай, что TrailingProfStart и TrailingProf это у тебя данные для стоплосса.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь