gisip: На MQL4 все работает нормально без таймера.
Ваше утверждение не совсем приемлемо, речь идет о мультивалютном тестировании. В MT4 нет таймера, но и нет мультивалютного тестера. При своей работе на MT4, эксперт в любом случае зависит от интенсивности потока котировок того инструмента на котором работает. Представьте себе такую ситуацию: допустим у Вас мультивалютный эксперт стоит на паре EURUSD, и если в какой-то квант времени нет тиков на этой паре, каким способом Вы собираетесь отслеживать приход новых тиков по остальным инструментам?
Ну на MQL4 его и нет, также там нет и структур и классов, предлагаете от них и тут отказаться?
ИМХО
Использовать или нет стандартную библиотеку дело вкуса каждого (на худой конец можно использовать только свой код), но отказываться от всех преимуществ только по тому, что их нет в MT4 не очень разумно....
Я вообще не о том писал.
Я писал, что MQL5 глючит и при определенных сочетаниях инструментов выдает ошибочные данные.
Например: Если на график EURUSD наложить EURJPY или EURGBP то все нормально.
Но если наложить EURCAD то данные на графике с ошибкой,а в MQL4 такого не было, там без ошибки.
Я писал, что MQL5 глючит и при определенных сочетаниях инструментов выдает ошибочные данные.
Например: Если на график EURUSD наложить EURJPY или EURGBP то все нормально.
Но если наложить EURCAD то данные на графике с ошибкой,а в MQL4 такого не было, там без ошибки.
Я это понял, но и Kosправ (особенно приятен пост от 2010.07.02 14:57). Что все уцепились за этот OnTick(), пол года уже понять не могу, почему все разработчики (включая MQ) упорно игнорируют таймер. Если учесть что официальных примеров мультивалютных торговцев нет, то с MQ в этом вопросе все понятно, но почему остальные упорно игнорируют OnTimer() для меня лично остается БОЛЬШОЙ ЗАГАДКОЙ...
Ну я тут все писать не буду вроде и так ясно. //--------- Вариант с MQL4 --------- #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 Aqua
extern string InstrumentName = "EURCAD"; double Buffer[]; SetIndexBuffer(0,Buffer); // Назначение массива буферу SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линии
while(i >= 0){//-- Движимся справа налево (тоесть от старшего к 0 бару который еще только формируется) -- Buffer[i] = (iHigh(InstrumentName,0,i) + iClose(InstrumentName,0,i) + iLow(InstrumentName,0,i)) / 3; i--;//-- next Bar }//next (while)
//----------- Теперь почти тот же вариант на MQL5 -------- #property indicator_separate_window // Индик. рисуется в отдельном окне #property indicator_buffers 1
#property indicator_plots 1 #property indicator_type1 DRAW_LINE #property indicator_color1 Aqua
input string InstrumentName = "EURCAD"; double Buffer[]; int handle1;
Вы недавно зарегистрировались и у вас возникли вопросы: Как вставить картинку в сообщение на форуме, как красиво оформить исходный код MQL5, где находятся ваши Личные сообщения? В этой статье мы подготовили для вас несколько практических советов, которые помогут быстрее освоиться на сайте MQL5.community и позволят в полной мере воспользоваться доступными функциональными возможностями.
Rosh: Пожалуйста, правильно вставляйте код, это облегчает понимание.
//--------- Вариант с MQL4 --------- #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 Aqua
extern string InstrumentName = "EURCAD"; double Buffer[]; int init() { SetIndexBuffer(0,Buffer); // Назначение массива буферу SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линии } int start() { while(i >= 0){ Buffer[i] = (iHigh(InstrumentName,0,i) + iClose(InstrumentName,0,i) + iLow(InstrumentName,0,i)) / 3; i--;//-- next Bar }//next (while) }
//----------- Теперь почти тот же вариант на MQL5 -------- #property indicator_separate_window // Индик. рисуется в отдельном окне #property indicator_buffers 1
#property indicator_plots 1 #property indicator_type1 DRAW_LINE #property indicator_color1 Aqua
На MQL4 все работает нормально без таймера.
Ну на MQL4 его и нет, также там нет и структур и классов, предлагаете от них и тут отказаться?
ИМХО
Использовать или нет стандартную библиотеку дело вкуса каждого (на худой конец можно использовать только свой код), но отказываться от всех преимуществ только по тому, что их нет в MT4 не очень разумно....
Я вообще не о том писал.
Я писал, что MQL5 глючит и при определенных сочетаниях инструментов выдает ошибочные данные.
Например: Если на график EURUSD наложить EURJPY или EURGBP то все нормально.
Но если наложить EURCAD то данные на графике с ошибкой,а в MQL4 такого не было, там без ошибки.
Я вообще не о том писал.
Я писал, что MQL5 глючит и при определенных сочетаниях инструментов выдает ошибочные данные.
Например: Если на график EURUSD наложить EURJPY или EURGBP то все нормально.
Но если наложить EURCAD то данные на графике с ошибкой,а в MQL4 такого не было, там без ошибки.
Я вообще не о том писал.
Я писал, что MQL5 глючит и при определенных сочетаниях инструментов выдает ошибочные данные.
Например: Если на график EURUSD наложить EURJPY или EURGBP то все нормально.
Но если наложить EURCAD то данные на графике с ошибкой,а в MQL4 такого не было, там без ошибки.
Приведите, пожалуйста, пример с ошибкой.
//--------- Вариант с MQL4 ---------
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Aqua
extern string InstrumentName = "EURCAD";
double Buffer[];
SetIndexBuffer(0,Buffer); // Назначение массива буферу
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линии
while(i >= 0){//-- Движимся справа налево (тоесть от старшего к 0 бару который еще только формируется) --
Buffer[i] = (iHigh(InstrumentName,0,i) + iClose(InstrumentName,0,i) + iLow(InstrumentName,0,i)) / 3;
i--;//-- next Bar
}//next (while)
//----------- Теперь почти тот же вариант на MQL5 --------
#property indicator_separate_window // Индик. рисуется в отдельном окне
#property indicator_buffers 1
#property indicator_plots 1
#property indicator_type1 DRAW_LINE
#property indicator_color1 Aqua
input string InstrumentName = "EURCAD";
double Buffer[];
int handle1;
copied=CopyClose(InstrumentName,0,0,CountBars,Buffer);
//--Теперь кидаем на EURUSD.
//--По идее не важно на каком инструменте размещаем индикатор, график меняться не должен.
Пожалуйста, правильно вставляйте код, это облегчает понимание.
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Aqua
extern string InstrumentName = "EURCAD";
double Buffer[];
int init()
{
SetIndexBuffer(0,Buffer); // Назначение массива буферу
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линии
}
int start()
{
while(i >= 0){
Buffer[i] = (iHigh(InstrumentName,0,i) + iClose(InstrumentName,0,i) + iLow(InstrumentName,0,i)) / 3;
i--;//-- next Bar
}//next (while)
}
//----------- Теперь почти тот же вариант на MQL5 --------
#property indicator_separate_window // Индик. рисуется в отдельном окне
#property indicator_buffers 1
#property indicator_plots 1
#property indicator_type1 DRAW_LINE
#property indicator_color1 Aqua
input string InstrumentName = "EURCAD";
double Buffer[];
int OnInit()
{
IndicatorSetString(INDICATOR_SHORTNAME,InstrumentName);
SetIndexBuffer(0,Buffer,INDICATOR_DATA);
}
int OnCalculate(...)
{
copied=CopyClose(InstrumentName,0,0,CountBars,Buffer);
}
//--Теперь кидаем на EURUSD.
//--По идее не важно на каком инструменте размещаем индикатор, график меняться не должен.
Сделайте, пожалуйста, воспроизводимый пример. То есть, нужен готовых код, который можно скомпилять, бросить на чарт и получить результаты.
Без этого мало кто поймет о чем речь.так уж и быть помогу обделённым сознанием
по идеето не должен но у меня чото он скрипя алгоритмами появился тлько на 1 тф на других категорически показал пустоту .....
даже после часа тестирований.....
и попытки закачать историю