Доработка ботов (советников, индикаторов)

Статус
Закрыто для дальнейших ответов.

Dendjo

Местный житель
Я тока учусь)))

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

Вложения

Vyacheslav88

Элитный участник
Здравствуйте. Нужно прикрутить МартинГейл и ТроолингСтоп к этим советникам.
 

Вложения

vlad_123

Местный знаток
с моей раней просьбой черт с ним, тогда попрошу не будите вы так любезны сделать в сове реверс, или с такой просьбой тоже в платную .....?
ОК, я взялся за переработку, но это займет какое-то время.
А под реверсом вы понимаете выставление Buy вместо Sell и наоборот?
 

ТрейБЛ

Прохожий
МТС по Осциллятору, поможит Кто ?

День Добрый Надеюсь На Данном Ресурсе Есть Профессионалы которые не откажут в помощи Юзеру, Необходим Советник, Условия : Вход В Позу При Условии 2х окрашенных баров Осциллятора выход При Противоположном Сигнале с переворотом . Можно Добавить Настраиваемые TP, и StopLoss + TrailingStop. Открыт к расмотрению Ваших Условий
 

Вложения

  • AVG.png
    AVG.png
    47,7 КБ · Просмотры: 154
  • AVG.mq4
    AVG.mq4
    3,8 КБ · Просмотры: 52

sergey1989

Интересующийся
Добрый день, у меня вопрос, возможно ли в сове прописать Машку, чтобы она находилась еще выше цены PRICE_HIGH? Заранее спасибо
 

zhserg

Местный знаток
Каков вопрос - таков и ответ. Прежде чем его задать нужно самому подумать...

p.s. А вообще то стоило прочитать первое сообщение темы.
 

sergey1989

Интересующийся
Каков вопрос - таков и ответ. Прежде чем его задать нужно самому подумать...

p.s. А вообще то стоило прочитать первое сообщение темы.

Возможно ли в сове прописать индикатор Moving Average, чтобы он находился еще выше цены PRICE_HIGH? Заранее спасибо..

p.s. Так это и есть доработка, просто хочу сам все сделать и не напрягать программистов своими просьбами, проще же ответить на вопрос, чем переделывать самому)
 

zhserg

Местный знаток
проще же ответить на вопрос, чем переделывать самому)
Не факт...

Теперь разберем что же Вы хотите. Если PRICE_HIGH применяется как предопределенный идентификатор перечисления ENUM_APPLIED_PRICE применительно к вычисляемому значению индикатора скользящей средней iMA(), то это значение может быть выше только на нисходящем движении цены и то при определенных значениях задаваемого периода и метода усреднения самого индикатора...

Так что в итоге прописать то нужно? На бред похоже, не правда ли?

Включите в пост конкретный код и по нему задавайте вопросы - так будет гораздо понятнее.
 
Последнее редактирование:

vlad_123

Местный знаток
Так точно уважаемый, спасибо.
Ну, проверяй, уважаемый.

Советник был полностью переписан, а именно:
  1. параметры, переменные, функции теперь имеют понятные имена, в отличие от первоначально декомпилированных непоняток
  2. удалены неиспользуемые переменные и функции
  3. код слегка оптимизирован по производительности (исключены повторяющиеся вызовы)
  4. исправлена ошибка при выставлении Sell ордеров
  5. исправлены все замечания (Warning) нового компилятора, который ругался на непроверенные OrderSelect/OrderModify/и т.д. - соответственно, добавлен вывод доп.информации в лог при возникновении ошибок
Ну, и дополнительно - параметр Param_ReverseSignals, который переворачивает сигналы от обоих Envelopes.

Логика работы советника (за исключением переворачивания сигналов) осталось нетронутой.

В общем - постарался привести в максимально красивое/удобоваримое/читабельное состояние.
 

Вложения

gek

Элитный участник
vlad_123,сделай пожалуйста тоже самое.
 

Вложения

  • Hedje.mq4
    Hedje.mq4
    2,9 КБ · Просмотры: 30

sergey1989

Интересующийся
Не факт...

Теперь разберем что же Вы хотите. Если PRICE_HIGH применяется как предопределенный идентификатор перечисления ENUM_APPLIED_PRICE применительно к вычисляемому значению индикатора скользящей средней iMA(), то это значение может быть выше только на нисходящем движении цены и то при определенных значениях задаваемого периода и метода усреднения самого индикатора...

Так что в итоге прописать то нужно? На бред похоже, не правда ли?

Включите в пост конкретный код и по нему задавайте вопросы - так будет гораздо понятнее.

согласен с вами, похоже на бред, у меня линия индикатора проходит по цене PRICE_HIGH, я хочу пустить еще одну, параллельную ей но выше, например на 2 пункта, дело в том что у меня сова работает на пересечении двух Мовингов, и сигнал частенько не срабатывает, для этого и хочу пустить параллельную, для удаления ордеров, вот часть кода:
PHP:
   int Shift2=Shift+1;
   double MA = iMA(NULL,0,Periods,0,Sred,Price,Shift);
   double MAA = iMA(NULL,0,Periods,0,Sred,Price,Shift2);
   double MA1 = iMA(NULL,0,OnePeriod,1,OneSred,OnePrice,Shift);
   double MA11 = iMA(NULL,0,OnePeriod,1,OneSred,OnePrice,Shift2);
   if(MA>MA1 && MAA<=MA11){Signal=1;}
   if(MA1>MA && MAA>=MA11){Signal=-1;}
//---------Если цена пошла в обратном направлении и достигла линии, ордера удаляются:-------
    if(Signal==1){
     CloseOrderSell();}
    if(Signal==-1){
     CloseOrderBuy();}


   
//------------------------------------Открытие ордеров-------------------------------------------------------
    
    if(OneBuy() == 0 && Signal == 1)
    {
       if (TakeProfit!=0) TP  = NormalizeDouble(Ask + TakeProfit*Point,Digits); else TP = 0;
       if (StopLoss!=0)   SL  = NormalizeDouble(Bid - StopLoss*Point,Digits); else SL = 0;
        OrderSend(Symbol(), OP_BUY, Lots, NormalizeDouble(Ask,Digits), Slippage, SL, TP, "Покупка", Magic, 0, Red);  
    }
  
    
    if(OneSell() == 0 && Signal == -1)
    {
       if (TakeProfit!=0) TP = NormalizeDouble(Bid - TakeProfit*Point,Digits); else TP = 0;
       if (StopLoss!=0)   SL = NormalizeDouble(Ask + StopLoss*Point,Digits); else SL = 0;
        OrderSend(Symbol(), OP_SELL, Lots, NormalizeDouble(Bid,Digits), Slippage, SL, TP, "Продажа", Magic, 0, Blue); 
    }
 

Dendjo

Местный житель
Ну, проверяй, уважаемый.

Советник был полностью переписан, а именно:
  1. параметры, переменные, функции теперь имеют понятные имена, в отличие от первоначально декомпилированных непоняток
  2. удалены неиспользуемые переменные и функции
  3. код слегка оптимизирован по производительности (исключены повторяющиеся вызовы)
  4. исправлена ошибка при выставлении Sell ордеров
  5. исправлены все замечания (Warning) нового компилятора, который ругался на непроверенные OrderSelect/OrderModify/и т.д. - соответственно, добавлен вывод доп.информации в лог при возникновении ошибок
Ну, и дополнительно - параметр Param_ReverseSignals, который переворачивает сигналы от обоих Envelopes.

Логика работы советника (за исключением переворачивания сигналов) осталось нетронутой.

В общем - постарался привести в максимально красивое/удобоваримое/читабельное состояние.
Спасибо дружище за помощь и аперативность, с меня куча спасибок каждый раз как увижу твой ник))) ша потестим)))
 

volodymyr67

Гуру форума
Всем приет !

Уважаемые порогамисты !
Сделайте пожалоста два в одном под 509 бил
 

Вложения

Последнее редактирование:

zhserg

Местный знаток
для этого и хочу пустить параллельную, для удаления ордеров[/PHP]

Что-бы задать параллельную скользящую можно сделать например так
PHP:
    double MAh=MA+Delta*Point; // ма выше на Delta пунктов
    double MAl=MA-Delta*Point; // ма ниже на Delta пунктов
А по ним уже добавить необходимые условия. Или сразу внести в условия по сигналу без объявления переменной.
 
Статус
Закрыто для дальнейших ответов.

Отслеживают (859) Посмотреть

Верх