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

 
@Vitaly Muzichenko  @Iurii Tokman  Ребята спасибо огромное все заработало! Не знаю чтобы я без вас делал. Удачи в наступившем году
Vitaly Muzichenko
Vitaly Muzichenko
  • www.mql5.com
Профиль трейдера
 

Всем доброго времени суток. Есть советник - сигналит по пересечению трендовой и горизонтальной линий определенного цвета. Я Решил переделать его чтоб он сигналил при пересечении трендовой и горизонтальной линий определенного стиля. Получилось. Но мне нужно чтоб он сигналил при пересечении трендовой которая только с лучом вправо. Я понимаю что нужно прикрутить 

OBJPROP_RAY_RIGHT

но куда и как пока не догоняю. Спасибо заранее.
Файлы:
 

Всем привет J. Я продолжаю пилить Грааль машину. И столкнулся с таким не приятным делом как ошибка 130 при установлении отложенных ордеров. Но что интересно при открытии рыночными ордерами всё нормально. И не правильные стопы не появляются.

Упомяну тот факт, что в советнике есть два варианта расчёта стопа. Либо фиксированный в пунктах либо по атр…

И фиксированный стоп и по атр выдаёт ошибку 130 приоткрытии отложенного сел стоп ордера, но отложенный бай стоп вроде нормально открывается, хотя не уверен на все 100%. Хотя пеерпроверив вижу, что и отложенные бай стоп ордера тоже открываются  сошибкой 130. Получаю значение стоп лосса во таким макаром


extern double atr_sl_period= 14; // ПЕРИОД АТR СТОП ЛОССА

extern   ENUM_TIMEFRAMES   PeriodForWork_sl        =  PERIOD_H4;           // ТФ SL  ПО АТР

void OnTick()
  {
double sl; // стоп лосс ордеров
if(tip_sl==en_po_atr)
     { //ЕСЛИ ТИП СТОП ЛОССА СТОИТ ПО АТР ТО ВЫСЧИТЫВАЕМ ЕГО ИЗ АТР
     //Print("СТОП ПО АТР, ЕГО РАЗМЕР ");
     sl= iATR( NULL,PeriodForWork_sl,atr_sl_period,1);// ПОЛУЧЕНИЕ ЗНАЧЕНИЙ АТР ДЛЯ ВЫСТАВЛЕНИЯ СТОПЛОССА
      //Print("СТОП ПО АТР, ЕГО РАЗМЕР "+sl);
     }
     else //ИНАЧЕ- ТО ЕСТЬ ЕСЛИ СТОП ЛОСС ФИКСИРОВАННЫЙ В ПУНКТАХ
     {
     //Print("СТОП ЛОС ФИКСИРОВАННЫЙ В ПУНКТАХ");
     sl= razmer_fikc_sl*Point; // ПЕЕРМЕННОЙ СТОП ЛОССА ПРИСВАЕВАЕМ ФИКСИРОВАНОНЕ ЗНАЧЕНИЕ ПУНКТОВ И ДОМНОЖАЕМ НА ПОИНТ
     }


   
  }

При открытии рыночными ордерами всё нормально. Отложенные ордера открываю вот так

OrderSend(Symbol(),OP_SELLSTOP,lot,min_Price,slippages,min_Price+sl , min_Price-tp ,comment_ao_otloj_sell); // ОТКРКЫВВАЕМ ОТЛОЖЕННЫЙ СЕЛ ОРДЕР

OrderSend(Symbol(),OP_BUYSTOP,lot,max_Price,slippages,max_Price-sl,max_Price+tp ,comment_ao_otloj_buy,magik_number,TimeCurrent()+order_life_time); // ОТКРЫВАЕМ ОТЛОЖЕННЫЙ БАЙ ОРДЕР

Подскажите пожалуйста, что делаю не правильно и как это дело исправить?

Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
DanilaMactep:

Всем привет J. Я продолжаю пилить Грааль машину. И столкнулся с таким не приятным делом как ошибка 130 при установлении отложенных ордеров. Но что интересно при открытии рыночными ордерами всё нормально. И не правильные стопы не появляются.

Упомяну тот факт, что в советнике есть два варианта расчёта стопа. Либо фиксированный в пунктах либо по атр…

И фиксированный стоп и по атр выдаёт ошибку 130 приоткрытии отложенного сел стоп ордера, но отложенный бай стоп вроде нормально открывается, хотя не уверен на все 100%. Хотя пеерпроверив вижу, что и отложенные бай стоп ордера тоже открываются  сошибкой 130. Получаю значение стоп лосса во таким макаром


При открытии рыночными ордерами всё нормально. Отложенные ордера открываю вот так

Подскажите пожалуйста, что делаю не правильно и как это дело исправить?

нормализации цены нет
учет стоплевела нет

 

DanilaMactep: Получаю значение стоп лосса во таким макаром

Макара попрошу не трогать)

DanilaMactep:

Подскажите пожалуйста, что делаю не правильно и как это дело исправить?

Попробуй увеличить фиксированный стоп и если ошибка для фиксированного стопа исчезнет, то проблема в  MODE_STOPLEVEL

TakeProfit тоже надо проверить

 
DanilaMactep:

Всем привет J. Я продолжаю пилить Грааль машину. И столкнулся с таким не приятным делом как ошибка 130 при установлении отложенных ордеров. Но что интересно при открытии рыночными ордерами всё нормально. И не правильные стопы не появляются.

Упомяну тот факт, что в советнике есть два варианта расчёта стопа. Либо фиксированный в пунктах либо по атр…

И фиксированный стоп и по атр выдаёт ошибку 130 приоткрытии отложенного сел стоп ордера, но отложенный бай стоп вроде нормально открывается, хотя не уверен на все 100%. Хотя пеерпроверив вижу, что и отложенные бай стоп ордера тоже открываются  сошибкой 130. Получаю значение стоп лосса во таким макаром


При открытии рыночными ордерами всё нормально. Отложенные ордера открываю вот так

Подскажите пожалуйста, что делаю не правильно и как это дело исправить?

Ошибка 130 возникает не только когда устанавливается стоп или тейк, но и тогда когда отложенный ордер устанавливается слишком близко к текущей цене. Не стоп или тейк этого ордера, а цена открытия\установки ордера.

 
        if(CopyTicks(Symbol(),ticks,COPY_TICKS_TRADE,0,1)==1)
            start_time=ulong(ticks[0].time_msc);
  

Что означает точка?

 
ascerdfg:

Что означает точка?

Вам сюда
 
ascerdfg:

Что означает точка?

Структуры и, классы и интерфейсы
 
Alexey Viktorov:

Ошибка 130 возникает не только когда устанавливается стоп или тейк, но и тогда когда отложенный ордер устанавливается слишком близко к текущей цене. Не стоп или тейк этого ордера, а цена открытия\установки ордера.

ЦЕНУ ДЛЯ УСТАНОВКИ ОТОЛЖКИ РАСЧИТЫВАЮ ВОТ ТАКИМ МАКАРОМ(МАКАР, Я ТЕБЯ НЕ ТРОГАЮ, ТЫ КА КМИНИМУМ НЕ В МОЁМ ВКУСЕ, ЧТОБЫ ТЕБЯ ТРОГАТЬ;-))

                    int min_bars= iLowest(NULL, // ТЕКУЩИЙ СИМВОЛ
          double min_Price=iHigh(Symbol(),// СИМВОЛ ТЕКУЩЕГО ИНСТРУМЕНТА(НА КОТОРОМ РАБОТАЕТ ГРААЛЬ;-)
          PeriodForWork_pending_orders, // ТФ НА КОТОРОМ АСЧИТЫВАЕМ ЦЕНУ МИНИМУМА
          min_bars//  НА КАКОМ БАРЕ БЫЛ МАКС ТОТ И ПОДСТАВИМ;)
        
          
          ); 

КАКИМ ОБРАЗОМ НАПИСАТЬ ПРОВЕРКУ ЧТО ПОЛУЧЕННОЕ ЗНАЧЕНИЕ ПОПАДАЕТ В ДОПУСТИМЫЕ ДИАПОЗОНЫ ВОТ ЧЕГО Я ПОАК НЕ ПОНИМАЮ, И КАКИМ БОРАЗОМ СДЕЛАТЬ ТАК ЧТОБЫ, ЕСЛИ РАСЧИТАЛОСЬ МЕНЬШЕ ДОПУСТИМОГО ТО ЧТОБЫ ВСЁ РАВНО ОРДЕР ОТКРЫЛСЯ НА МИНИМАЛЬНО ВОЗМОЖНОМ РАССТОЯНИИ?

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