Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1362

 
MakarFX:
не получится, при новых хай /лоу не будет их учитывать
Вроде так и надо было.
 
Aleksei Stepanenko:
Вроде так и надо было.
да, так и надо было. Всем спасибо за советы! 
 
Aleksei Stepanenko:
Вроде так и надо было.
хаи могут расти до появления лоу и надо от максимального хая к лоу , т.е. как зиг-заг, но определение экстремумов по условию индикатора
 
azolotta:

MakarFX:
хаи могут расти до появления лоу и надо от максимального хая к лоу , т.е. как зиг-заг, но определение экстремумов по условию индикатора

да, это обычный зиг-заг с условиями,

но возможно azolotta не хочет перерисовки, а что-то вроде реальной торговли: раз купила, так купила,

я так понял 

 
DanilaMactep:

Всем добрый день.

Пробуй

//+-------------------------------------------------------------------------------- Разделитель ---+
double stoplevel=MarketInfo(Symbol(),MODE_STOPLEVEL)*Point; 
if(tip_sl==en_po_atr)                                                      //ЕСЛИ ТИП СТОП ЛОССА СТОИТ ПО АТР ТО ВЫСЧИТЫВАЕМ ЕГО ИЗ АТР
  {
   sl=NormalizeDouble(iATR(NULL,PeriodForWork_sl,atr_sl_period,1),Digits); // ПОЛУЧЕНИЕ ЗНАЧЕНИЙ АТР ДЛЯ ВЫСТАВЛЕНИЯ СТОПЛОССА
   if(sl<stoplevel)                                                        // ЕСЛИ СТОПОЛС МЕНЬШЕ ЧЕМ МИНИМАЛЬНО ДОПУСТИМЫЙ УРОВЕНЬ ЕГО УСТАНОВКИ ТО
     {
      sl=NormalizeDouble(stoplevel*1.5,Digits);                            //СТОП ЛОССУ ПРИСВАЕВАЕМ МИНИМАЛЬНО ДОПУСТИМУЮ ВЕЛИЧИНУ ЕГО УСТАНОВКИ
     }
  }
else                                                                       //ИНАЧЕ- ТО ЕСТЬ ЕСЛИ СТОП ЛОСС ФИКСИРОВАННЫЙ В ПУНКТАХ
  {
   sl=NormalizeDouble(razmer_fikc_sl*Point,Digits);                        // ПЕЕРМЕННОЙ СТОП ЛОССА ПРИСВАЕВАЕМ ФИКСИРОВАНОНЕ ЗНАЧЕНИЕ ПУНКТОВ И ДОМНОЖАЕМ НА ПОИНТ
   if(sl<stoplevel)                                                        // ЕСЛИ СТОПОЛС МЕНЬШЕ ЧЕМ МИНИМАЛЬНО ДОПУСТИМЫЙ УРОВЕНЬ ЕГО УСТАНОВКИ ТО
     {
      sl=NormalizeDouble(stoplevel*1.5,Digits);                            //СТОП ЛОССУ ПРИСВАЕВАЕМ МИНИМАЛЬНО ДОПУСТИМУЮ ВЕЛИЧИНУ ЕГО УСТАНОВКИ
     }
  }
//+-------------------------------------------------------------------------------- Разделитель ---+
tp=NormalizeDouble(sl*tp_v_R,Digits);                                      // ВЫЧИСЛЯЕМ ПРОФИТ УМНОЖАЯ СТОП ЛОС НА КОЛИЧЕСТВО РИСКА
if(tp<stoplevel)                                                           // ЕСЛИ ПРОФИТ МЕНЬШЕ ЧЕМ МИНИМАЛЬНО ДОПУСТИМЫЙ УРОВЕНЬ ЕГО УСТАНОВКИ ТО
  {
   tp=NormalizeDouble(stoplevel*1.5,Digits);                               // ПРОФИТУ ПРИСВАЕВАЕМ МИНИМАЛЬНО ДОПУСТИМУЮ ВЕЛИЧИНУ ЕГО УСТАНОВКИ
  }
//+-------------------------------------------------------------------------------- Разделитель ---+
 
MakarFX:

Пробуй

Большое спасибо за код- пошёл пытаться его прикруитть в Грааль ничего попутно не сломав)))))))))) но если что то я вернусь

 
MakarFX:
Это нарушение прав записи, системный запрет записи.
   Добрый день. Спасибо за ответ. А в чем причина возникновения такой проблемы? Дело в том, что у меня в терминале этот советник вызывает индикаторы без ошибок и работает нормально. У товарища этот же советник с этими же индикаторами вызывает эту ошибку. Где копать?
 
DanilaMactep:

Большое спасибо за код- пошёл пытаться его прикруитть в Грааль ничего попутно не сломав)))))))))) но если что то я вернусь

эту строку удали

double sl,tp,tp_v_R;
 
Sergey Fionin:
   Добрый день. Спасибо за ответ. А в чем причина возникновения такой проблемы? Дело в том, что у меня в терминале этот советник вызывает индикаторы без ошибок и работает нормально. У товарища этот же советник с этими же индикаторами вызывает эту ошибку. Где копать?

Это системные настройки Windows  вариантов много.

Я советую товарищу запустить " /portable" и тогда проблем не будет

 
MakarFX:

Пробуй

Всё завелось  и понеслась моча по трубам)))))))))))))))))))))) Большое при большое спасибо за помощь!!!
Причина обращения: