Помогите решить простую задачу. Есть код от MQL4 . Хочу его адаптировать под 5-рку. То есть чтобы аналогично работал на MQL5.
//Введем внешнюю переменную, чтобы иметь возможность изменить количество сканируемых свечей.externint Window=30;
voidOnStart()
{
//Вводим переменные.double Highest=High[0];
double Lowest=Low[0];
//Сканируем 30 свечей и обновляем значения самых высоких и самых низких цен.for(int i=0; i<=Window; i++) {
if(Low[i]<Lowest) Lowest=Low[i];
if(High[i]>Highest) Highest=High[i];
}
//Выводим результат.Alert("Самая высокая цена ",Highest," - Самая низкая цена ",Lowest);
}
Мой вариант явно не проходит, почему-то много ошибок):
//Введем внешнюю переменную, чтобы иметь возможность изменить количество сканируемых свечей.externint Window=30;
voidOnStart()
{
double o = iOpen(NULL, PERIOD_CURRENT, 0);
double h = iHigh(NULL, PERIOD_CURRENT, 0);
double l = iLow(NULL, PERIOD_CURRENT, 0);
double c = iClose(NULL, PERIOD_CURRENT, 0);
double Highest=h;
double Lowest=l;
//Сканируем 30 свечей и обновляем значения самых высоких и самых низких цен.for(int i=0; i<=Window; i++)
{
if ( l[i] < Lowest )
Lowest=[i];
if ( h[i] > Highest )
Highest=[i];
}
//Выводим результат.Print("Самая высокая цена ",Highest,
" - Самая низкая цена ",Lowest);
}
Помогите решить простую задачу. Есть код от MQL4 . Хочу его адаптировать под 5-рку. То есть чтобы аналогично работал на MQL5.
Мой вариант явно не проходит, почему-то много ошибок):
CopyRates() вместо пачки индикаторов и правки кода станут минимальными, код останется компактным и читаемым.
//Введем внешнюю переменную, чтобы иметь возможность изменить количество сканируемых свечей.externint Window=30;
voidOnStart()
{
//Вводим переменные.double Highest=DBL_MIN;// double Lowest=DBL_MAX; // MqlRates rates[];
//Сканируем 30 свечей и обновляем значения самых высоких и самых низких цен.if (CopyRates(_Symbol,_Period,30,rates)!=30) {
Alert("copyRates failed");
return;
}
for(int i=0; i<=Window; i++) {
if(rates[i].low<Lowest) Lowest=rates[i].low;
if(rates[i].high>Highest) Highest=rates[i].high;
}
//Выводим результат.Alert("Самая высокая цена ",Highest," - Самая низкая цена ",Lowest);
}
в реальности надо ещё добавлять проверку на кривые котировки
т.е. в OnDeinit проверять историю и записывать в глобальную Терминала?
в идеале, то в текстовой виде там инфы на пару байтов, разве она не содержится в доступности как обычные переменные, т.е. в RAM?
в OnInit считали, запись в RAM, и дальше при обновлении переменной перезапись
реально кто-нибудь проводил замеры? или может разработчики помогут разобраться
Кто говорил о ковырянии истории в OnDeinit()?
Я говорил о необходимости переменную продублировать в переменную терминала при очередном открытии позиции…
Кто говорил о ковырянии истории в OnDeinit()?
Я говорил о необходимости переменную продублировать в переменную терминала при очередном открытии позиции…
это все можно сделать, вопрос был к тем кто замерил реально работу, и лучше к разработчикам, кто знает что у них там в планах
экспериментировать не хочется, есть много других задач.
Всем добрый вечер уважаемые программисты!
Помогите решить простую задачу. Есть код от MQL4 . Хочу его адаптировать под 5-рку. То есть чтобы аналогично работал на MQL5.
Мой вариант явно не проходит, почему-то много ошибок):
Всем добрый вечер уважаемые программисты!
Помогите решить простую задачу. Есть код от MQL4 . Хочу его адаптировать под 5-рку. То есть чтобы аналогично работал на MQL5.
посмотрите в справке
iHighи подобные функции
если не работает, в цикле ошибка
да и не видно в какую переменную добавляете данные
посмотрите в справке
и подобные функции
если не работает, в цикле ошибка
да и не видно в какую переменную добавляете данные
Higest / Lowest по идее должен показывать.
Посмотрел вот это :
int val_index=iLowest(NULL,0,MODE_CLOSE,10,1);
Очень близко но пока не то.
Ну показывает из 10 последних (начиная с первой "1" НОМЕР свечи с самым лоем. Но нужно значение цены, а не номер свечи.
Да нужно вообще чтобы не назад "смотрел", а вперёд.
Допустим: поиск "минимума" от начала предыдыущей свечи (которая под номером "1") на протяжении последующих 100 свечей.
это все можно сделать, вопрос был к тем кто замерил реально работу, и лучше к разработчикам, кто знает что у них там в планах
экспериментировать не хочется, есть много других задач.
Правильно. Не царское дело в ………
Правильно. Не царское дело в ………
может тогда закрывать ветку Вопросы от начинающих? Алексей вы если не хотите помогать, не лезьте пожалуйста, слишком много от вас претензий.
интересовал профессиональный ответ, что-бы иметь представление как работает платформа.
Всем добрый вечер уважаемые программисты!
Помогите решить простую задачу. Есть код от MQL4 . Хочу его адаптировать под 5-рку. То есть чтобы аналогично работал на MQL5.
Мой вариант явно не проходит, почему-то много ошибок):
Видимо вы с программированием абсолютно незнакомы. Потому какие-бы советы вам не давали, пока у вас ничего не получится.
Но тем не менее… попробуйте разобраться с функцией
и функцией работы с массивами
Есть и другие варианты решения этой задачи.
Всем добрый вечер уважаемые программисты!
Помогите решить простую задачу. Есть код от MQL4 . Хочу его адаптировать под 5-рку. То есть чтобы аналогично работал на MQL5.
Мой вариант явно не проходит, почему-то много ошибок):
CopyRates() вместо пачки индикаторов и правки кода станут минимальными, код останется компактным и читаемым.
в реальности надо ещё добавлять проверку на кривые котировки