Создание универсального советника по пробитию Hi - Lo

 
Привет Всем Форумчанам!
Т.к. самостоятельно мне советник создать не дано, прошу помощи у програмеров и всех кому интересна будет эта тема !
Понимаю что где-то она уже обсуждалась и не раз, того что нужно именно мне я найти не смог..буду очень рад Всем кто сможет мне помочь новыми идеями и опытом.. возможно и себе самим тоже.

Суть в следующем....

1/Советник выставляет по одному отложенному ордеру на ближайших 2-х фракталах в противоположные стороны (один-на пробитие ценой уровень HI вверх - второй Lo вниз)
2/ Возможность регулирования установки ордера (в ппс) выше-ниже от MAX-MIN, уровень которого долен быть пробит ценой какую либо сторону .. Если цена отойдет более 100пп от MAX-MIN (функция изменяемая -по условиям размещения ордеров уброкера) то устанавливается автоматически ордер на пробой уровня последнего существующего уровня определяемого последним фракталом) При появлении нового фрактала старый отложенный ордер удаляется и при возможности ставится на новый уровень последнего появившегося фрактала
3/ТФ 5-15-30-60М(регулируемый)
4/Выход по тралу (пусть в 1 пипс зато надежнее)..
5/ Выход по TP ..В советнике ТP и SL отключаемый и настраиваемый
6/ функция - если цена упала ниже N -кол ппс(настраиваемая и отключаемая) от сработавшего ордера, то ордер принудительно закрывается .. тоже самое при TP
7/ Настраиваемое Время работы советника
Надеюсь на любую помощ!!
В прицепе скрин
 

Этот советник ставит отложенные ордера по одному в каждую сторону на уровне последних появляющихся противоположных фракталах..кому будет не трудно, прикрутите к нему стоп лосс!

Файлы:
 

Т.к. самостоятельно мне советник создать не дано

xD
 
привет друзья. кто-нибудь подскажит все таки как удалить стоп лосс. в этом советники
 
olegduas:
привет друзья. кто-нибудь подскажит все таки как удалить стоп лосс. в этом советники

Конечно! В Документации в разделе Торговые операции кликнете Функция ModifyOrder(), разберитесь и на месте StopLoss() поставьте 0(нуль)!

Не мешало бы за Учебник взяться, тогда незачем будет беспокоить по пустякам, и сами с усами будете!

Ведь любой советник требует повышенного внимания, как дитя! В любой момент так напроказит, что потом на него не напасёшься!

Сольёт, не успеешь моргнуть глазом, в общем, замочит молча, прощения не попросит!

 

ProBoy:

Т.к. самостоятельно мне советник создать не дано,...
А никому не дано! Всё берём, берём, и так всю жизнь учимся, чтобы потом не говорить, что "не дано"!
 
borilunad:
А никому не дано! Всё берём, берём, и так всю жизнь учимся, чтобы потом не говорить, что "не дано"!

приветствую. не понял где поставить ноль, можно чуть чуть подробней. попробовал менять на 0 вообще отказывается работать. и как поставить: ноль, null, zero.
 
olegduas:

приветствую. не понял где поставить ноль, можно чуть чуть подробней. попробовал менять на 0 вообще отказывается работать. и как поставить: ноль, null, zero.

Вам же уже написали в функции ModifyOrder() на месте стоплосса. Но прежде нужно ордер отселектировать. Читайте учебник.
 
olegduas:

приветствую. не понял где поставить ноль, можно чуть чуть подробней. попробовал менять на 0 вообще отказывается работать. и как поставить: ноль, null, zero.

В Доке смотрит OrderModify()! Вместо StopLoss() поставь цифру 0!

Если вообще не хочешь ставить StopLoss(), тогда в ордере открытия OrderSend() вместо StopLoss() поставь цифру 0!

Если в OrderSend() сразу нет StopLoss(), тогда ордер модификации(OrderModify()), в котором выставляется StopLoss(), просто закомментируй(// или /* ... */) с соответствующими условиями и скобками!

Только без Стоплосса сольёшь всё! Более тщательно расжевать невозможно!

Поэтому повторяю:

Не мешало бы за Учебник взяться, тогда незачем будет беспокоить по пустякам, и сами с усами будете!

Ведь любой советник требует повышенного внимания, как дитя! В любой момент так напроказит, что потом на него не напасёшься!

Сольёт, не успеешь моргнуть глазом, в общем, замочит молча, прощения не попросит!

 
borilunad:

В Доке смотрит OrderModify()! Вместо StopLoss() поставь цифру 0!

Если вообще не хочешь ставить StopLoss(), тогда в ордере открытия OrderSend() вместо StopLoss() поставь цифру 0!

Если в OrderSend() сразу нет StopLoss(), тогда ордер модификации(OrderModify()), в котором выставляется StopLoss(), просто закомментируй(// или /* ... */) с соответствующими условиями и скобками!

Только без Стоплосса сольёшь всё! Более тщательно расжевать невозможно!

Поэтому повторяю:

Не мешало бы за Учебник взяться, тогда незачем будет беспокоить по пустякам, и сами с усами будете!

Ведь любой советник требует повышенного внимания, как дитя! В любой момент так напроказит, что потом на него не напасёшься!

Сольёт, не успеешь моргнуть глазом, в общем, замочит молча, прощения не попросит!


благодарствую бояри, буду пробовать.
 
olegduas:

благодарствую бояри, буду пробовать.


этот советник выставляет стоп лосс после того как возьмет стоп ордер. и по противоположному стоп ордеру ставит стоп лосс. вот часть скрипта по модификации ордера

// Найден Buy

if(DownFractal != 0)

if((OrderStopLoss() >= DownFractal || OrderStopLoss() <= DownFractal-2*Point) && Bid-DownFractal-Point > StopLevel)

if(!OrderModify(OrderTicket(), 0, DownFractal-Point, OrderTakeProfit(), 0))

Print("Не удалось изменить стоп у позиции Buy. Ошибка №", GetLastError());

}

где что здесь переписать надо. заблаговременно извиняюсь, за мою особую одаренность. не пинайте меня бояри.

Причина обращения: