друзья, в MQL5 я новичок, поэтому, если проблемы, о которых я здесь пишу, являются моими косяками, прошу сильно не пинать.
Хотел сделать мультивалютный сов., но столкнулся с некоторыми странностями работы тестера стратегий, проявляющимися исключительно при тестировании мультивалютников. Происходит непонятный сдвиг таймсерий символов, отличных от символа основного графика. Сделал простейший сов., который в начале каждого бара получает время открытия нулевого и первого бара по двум символам. Почему-то через 1 бар начинается сдвиг таймсерии второго символа. Проявляется на любом символе и любом таймфрейме. Я тестировал на EURUSD, вторым символом был GBPUSD. Пробовал также наоборот, пробовал на других парах-ошибка проявляется всегда. Картинка из журнала после тестирования на М15:
Картинка из журнала после тестирования на Н1:
Настройки тестера стратегий:
Собственно, код для проверки:
#property copyright"Copyright 2018, MetaQuotes Software Corp."#property link"https://www.mql5.com"#property version"1.00"inputstring SecondSymbol="GBPUSD";
intOnInit()
{
SymbolSelect(SecondSymbol,true);//выбираем второй символ в MarketWatch(для тестера)//---return(INIT_SUCCEEDED);
}
voidOnDeinit(constint reason)
{
//---
}
voidOnTick()
{
staticdatetime BarTime;//время начала бараint per=PeriodSeconds(PERIOD_CURRENT);
datetime time_curr=TimeCurrent()/per*per;
if(time_curr!=BarTime)
{
BarTime=time_curr;
datetime Time_One[],Time_Two[];
bool yes=ArraySetAsSeries(Time_One,true);
yes=ArraySetAsSeries(Time_Two,true);
int i=CopyTime(NULL,PERIOD_CURRENT,0,2,Time_One); //текущий символ
i=CopyTime(SecondSymbol,PERIOD_CURRENT,0,2,Time_Two);//второй символPrint("ВремяНачалаБара по ",Symbol(),":",Time_One[0]," ВремяНачалаБара по ",SecondSymbol,":",Time_Two[0]);
}
}
друзья, в MQL5 я новичок, поэтому, если проблемы, о которых я здесь пишу, являются моими косяками, прошу сильно не пинать.
Хотел сделать мультивалютный сов., но столкнулся с некоторыми странностями работы тестера стратегий, проявляющимися исключительно при тестировании мультивалютников. Происходит непонятный сдвиг таймсерий символов, отличных от символа основного графика. Сделал простейший сов., который в начале каждого бара получает время открытия нулевого и первого бара по двум символам. Почему-то через 1 бар начинается сдвиг таймсерии второго символа. Проявляется на любом символе и любом таймфрейме. Я тестировал на EURUSD, вторым символом был GBPUSD. Пробовал также наоборот, пробовал на других парах-ошибка проявляется всегда. Картинка из журнала после тестирования на М15:
Картинка из журнала после тестирования на Н1:
Настройки тестера стратегий:
Собственно, код для проверки:
Буду признателен за любую помощь.
Тестер работает правильно. Ошибка в логике работы программы: два символа - это как две жизни разных людей (здесь "человек" - это аналог "символ"). А второй человек не обязан просыпаться в тоже время, что и первый ("просыпаться" - это аналог "появление нового бара").
То есть нужно ждать появления нового бара И на первом символе И на втором.
Подскажите, вот рисунок бычьего пин-бара, как должен выглядеть принципиальный код условия его распознавания?
Это медвежий пин-бар. Направление свечи не принципиально. ВажнО расположение длинной тени: вверх - медвежий, вниз - бычий. И требуется подтверждение от уровневых индикаторов.
Artyom Trishkin: Это медвежий пин-бар. Направление свечи не принципиально. ВажнО расположение длинной тени: вверх - медвежий, вниз - бычий. И требуется подтверждение от уровневых индикаторов.
А можно это показать кодовой конструкцией? Просто не совсем понятно, как код правильно должен выглядеть
clickaider: А можно это показать кодовой конструкцией? Просто не совсем понятно, как код правильно должен выглядеть
С мобильного не смогу вам код написать. Навскидку:
Вам нужен размер свечи от Хай ло Лоу, размер тела свечи, процентное отношение тела к размеру всей свечи, размер короткой тени должен не превышать некий порог (чтобы она отсутствовала, либо была относительно маленькой к телу), ну и расположение верха/низа тела относительно полного размера свечи.
Artyom Trishkin: С мобильного не смогу вам код написать. Навскидку:
Вам нужен размер свечи от Хай ло Лоу, размер тела свечи, процентное отношение тела к размеру всей свечи, размер короткой тени должен не превышать некий порог (чтобы она отсутствовала, либо была относительно маленькой к телу), ну и расположение верха/низа тела относительно полного размера свечи.
друзья, в MQL5 я новичок, поэтому, если проблемы, о которых я здесь пишу, являются моими косяками, прошу сильно не пинать.
Хотел сделать мультивалютный сов., но столкнулся с некоторыми странностями работы тестера стратегий, проявляющимися исключительно при тестировании мультивалютников. Происходит непонятный сдвиг таймсерий символов, отличных от символа основного графика. Сделал простейший сов., который в начале каждого бара получает время открытия нулевого и первого бара по двум символам. Почему-то через 1 бар начинается сдвиг таймсерии второго символа. Проявляется на любом символе и любом таймфрейме. Я тестировал на EURUSD, вторым символом был GBPUSD. Пробовал также наоборот, пробовал на других парах-ошибка проявляется всегда. Картинка из журнала после тестирования на М15:
Картинка из журнала после тестирования на Н1:
Настройки тестера стратегий:
Собственно, код для проверки:
Буду признателен за любую помощь.
друзья, в MQL5 я новичок, поэтому, если проблемы, о которых я здесь пишу, являются моими косяками, прошу сильно не пинать.
Хотел сделать мультивалютный сов., но столкнулся с некоторыми странностями работы тестера стратегий, проявляющимися исключительно при тестировании мультивалютников. Происходит непонятный сдвиг таймсерий символов, отличных от символа основного графика. Сделал простейший сов., который в начале каждого бара получает время открытия нулевого и первого бара по двум символам. Почему-то через 1 бар начинается сдвиг таймсерии второго символа. Проявляется на любом символе и любом таймфрейме. Я тестировал на EURUSD, вторым символом был GBPUSD. Пробовал также наоборот, пробовал на других парах-ошибка проявляется всегда. Картинка из журнала после тестирования на М15:
Картинка из журнала после тестирования на Н1:
Настройки тестера стратегий:
Собственно, код для проверки:
Буду признателен за любую помощь.
Тестер работает правильно. Ошибка в логике работы программы: два символа - это как две жизни разных людей (здесь "человек" - это аналог "символ"). А второй человек не обязан просыпаться в тоже время, что и первый ("просыпаться" - это аналог "появление нового бара").
То есть нужно ждать появления нового бара И на первом символе И на втором.
Добавлено: статья Обработчик события "новый бар"
Подскажите, вот рисунок бычьего пин-бара, как должен выглядеть принципиальный код условия его распознавания?
if(low[i] <= open[i] && high[i] > close[i] && open[i] >= close[i] && close[i] <= Base[i]) // верно ли это утверждение?Подскажите, вот рисунок бычьего пин-бара, как должен выглядеть принципиальный код условия его распознавания?
Это медвежий пин-бар. Направление свечи не принципиально. ВажнО расположение длинной тени: вверх - медвежий, вниз - бычий. И требуется подтверждение от уровневых индикаторов.
А можно это показать кодовой конструкцией? Просто не совсем понятно, как код правильно должен выглядеть
С мобильного не смогу вам код написать. Навскидку:
Графически это выглядит вот так:
Графически это выглядит вот так:
А теперь опишите словами то, что описали графически. Используйте high, low, open, close.
Размер свечи = high[i] - low[i]
Верхняя тень = high[i] - open[i]
Тело свечи = open[i] - close[i]
Нижняя тень = close[i] - low[i]
Соотношение тела свечи к ее размеру - (high[i] - low[i]) / (open[i] - close[i])
Размер короткой тени должен не превышать некий порог - (close[i] - low[i]) <= close[i]
Ориентация свечи - high[i] > open[i] > close[i] > low[i]