Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 994

 
Kolya32:
И Вам спасибо. Так тоже работает)

Я тоже хочу спасибо:)))

Вот это

double Candle = (iClose(_Symbol,PERIOD_H1,1) - iOpen(_Symbol,PERIOD_H1,1)) / _Point;
if(Candle < 0){Candle = Candle * -1;}
string Candle2 =  DoubleToString(Candle, 0);
int Candle3 = StringToInteger(Candle2);

 можно заменить на это и будет работать так-же

int Candle = (int)fabs((iClose(_Symbol,PERIOD_H1,1) - iOpen(_Symbol,PERIOD_H1,1)) / _Point);
Документация по MQL5: Математические функции / MathAbs
Документация по MQL5: Математические функции / MathAbs
  • www.mql5.com
Математические функции / MathAbs - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 


Доброго дня. Возник вопрос. Как увязать тиковые данные с барами таймфрема.  Ниже часть кода. Идет переключение цвета буфера. Разобрался 

с цветами, но не ясно как увязать тут...? Подскажите и намекните пожста У меня есть мысли по поводу структуры  MqlRates, но не понятно какое значение взять...? Смотрел как работает (пример в документации), но там значение прыгает и не понятно почему

//--- Подготовка данных
   int count=(limit>1 ? rates_total : 2),copied=0;
   copied=CopyBuffer(handle_ma,0,0,count,BufferPrice);
   if(copied!=count) return 0;
//----   
   for(int i=limit; i>=0 && !IsStopped(); i--)
     {
      bp=NormalizeDouble(BufferPrice[i],_Digits);
//--- High signal
   if(bp>iOpen(NULL,PERIOD_CURRENT,i) && bp<iClose(NULL,PERIOD_CURRENT,i))
     {
      ExtOpenBuffer[i]=open[i];
      ExtHighBuffer[i]=high[i];
      ExtLowBuffer[i]=low[i];
      ExtCloseBuffer[i]=close[i];
      ExtColorsBuffer[i]=1;   /уфер изменения цвета
     }
//--- Low signal
   if(bp<iOpen(NULL,PERIOD_CURRENT,i) && bp>iClose(NULL,PERIOD_CURRENT,i))
     {
      ExtOpenBuffer[i]=open[i];
      ExtHighBuffer[i]=high[i];
      ExtLowBuffer[i]=low[i];
      ExtCloseBuffer[i]=close[i];
      ExtColorsBuffer[i]=2;
     }
     }
 
Alexey Viktorov:

Я тоже хочу спасибо:)))

int Candle = (int)fabs((iClose(_Symbol,PERIOD_H1,1) - iOpen(_Symbol,PERIOD_H1,1)) / _Point);
И Вам пасибо. Не пробовал эту конструкцию, но верю на слово, что работает)
 
Kolya32:
И Вам пасибо. Не пробовал эту конструкцию, но верю на слово, что работает)

А зря не пробовал. Про спасибо была шутка, а код всерьёз. Зачем перековыривать double в int через string если есть функция абсолютной величины...

 
kopeyka2:


Доброго дня. Возник вопрос. Как увязать тиковые данные с барами таймфрема.  Ниже часть кода. Идет переключение цвета буфера. Разобрался 

с цветами, но не ясно как увязать тут...? Подскажите и намекните пожста У меня есть мысли по поводу структуры  MqlRates, но не понятно какое значение взять...? Смотрел как работает (пример в документации), но там значение прыгает и не понятно почему

Вы не проверяете что получено в

if(bp>iOpen(NULL,PERIOD_CURRENT,i) && bp<iClose(NULL,PERIOD_CURRENT,i))
if(bp<iOpen(NULL,PERIOD_CURRENT,i) && bp>iClose(NULL,PERIOD_CURRENT,i))

Функции возвращают 0 в случае ошибки. Ваша логика будет работать и в случае ошибочных данных от iOpen() в первом случае и iClose() во втором.

Для получения тиковых данных в mql5 существует структура MqlTick и функция CopyTicks(), в которой можно получать данные о нужном количестве последних тиков в структуру. Затем, чтобы увязать с баром таймфрейма, нужно получить номер бара по времени тика. iBarShift() и поле структуры tick.time

 
Artyom Trishkin:

Вы не проверяете что получено в

Функции возвращают 0 в случае ошибки. Ваша логика будет работать и в случае ошибочных данных от iOpen() в первом случае и iClose() во втором.

Для получения тиковых данных в mql5 существует структура MqlTick и функция CopyTicks(), в которой можно получать данные о нужном количестве последних тиков в структуру. Затем, чтобы увязать с баром таймфрейма, нужно получить номер бара по времени тика. iBarShift() и поле структуры tick.time

Спасибо. Тут (в моем вопросе) вся сложность, что свечки закрашиваются тиками. Более проще по бару таймфрейма. Но.. И поэтому я опять тут))))
 
kopeyka2:
Спасибо. Тут (в моем вопросе) вся сложность, что свечки закрашиваются тиками. Более проще по бару таймфрейма. Но.. И поэтому я опять тут))))

Пожалуйста. Тут (в вашем вопросе) ничего не понял...

 
Artyom Trishkin:

Пожалуйста. Тут (в вашем вопросе) ничего не понял...

кажется нашел похожее  3LineBreak https://www.mql5.com/ru/code/485&nbsp;
 
Господа, не могу въехать где параметр непрерывное количество убыточных сделок в тестере mt5 или его надо прописывать в робота? в mt4 он есть. не могу найти как это реализовать.
Файлы:
l9rnznuztu.jpg  73 kb
 
freelancerAntonyan:
Господа, не могу въехать где параметр непрерывное количество убыточных сделок в тестере mt5 или его надо прописывать в робота? в mt4 он есть. не могу найти как это реализовать.

Считайте сами, выбирайте в пользовательском критерии.

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