Mihail Marchukajtes: Принт показывает то что рисует буфер. Информации ноль. Может кто ни будь дать толковый ответ???? А не непонятные предположения....
Так и вы даёте информации ноль. Где ваш код? Или тут все экстрасенсы что-ли? Тогда вам на форум магов в десятом колене...
Но проблема в том, что он перезаписывает значение переменной.
А моя цель, на заданном периоде найти, например, две или более свечей с одинаковым значением цены High. Т.е. по идее после каждой итерации должна создаваться переменная, которая будет хранить значение, потом другая и т.д. пока весь интервал не будет проверен. И их можно будет сравнить уже дальше.
Коллеги, подскажите, как в заданном диапазоне сравнить параметры свечей??
Как вычислить Максимальную или минимальную величину, я понял.
Вот код:
...............
Но проблема в том, что он перезаписывает значение переменной.
А моя цель, на заданном периоде найти, например, две или более свечей с одинаковым значением цены High. Т.е. по идее после каждой итерации должна создаваться переменная, которая будет хранить значение, потом другая и т.д. пока весь интервал не будет проверен. И их можно будет сравнить уже дальше.
Но как это сделать не представляю ((
Примерно так:
//+------------------------------------------------------------------+//| TestCopy.mq4 |//| Copyright 2016, Artem A. Trishkin, Skype artmedia70 |//| https://login.mql5.com/ru/users/artmedia70 |//+------------------------------------------------------------------+#property copyright"Copyright 2016, Artem A. Trishkin, Skype artmedia70"#property link"https://login.mql5.com/ru/users/artmedia70"#property version"1.00"#property strict#property script_show_inputs//--- input parametersinputint Search_Period=100; // Количество копируемых Highint searchPeriod=(Search_Period<1)?1:Search_Period;
double mass_high[][2]; // массив значений High и их времениMqlRates array[]; // Массив для копирования Open, High, Low, Close, Time//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
//---int copy_bars=(int)fmin(Search_Period,Bars(Symbol(),Period()));
if(CopyRates(Symbol(),PERIOD_CURRENT,1,copy_bars,array)>0) {
double H=0;
int size_h=0;
for(int i=0; i<copy_bars; i++) {
if(array[i].high>H) {
H=array[i].high;
size_h++;
ArrayResize(mass_high,size_h);
mass_high[size_h-1][0]=H;
mass_high[size_h-1][1]=(int)array[i].time;
}
}
}
for(int i=0; i<ArrayRange(mass_high,0); i++) {
printf("Время: %s, High: %.5f",TimeToString((int)mass_high[i][1],TIME_DATE|TIME_MINUTES),mass_high[i][0]);
}
}
//+------------------------------------------------------------------+
Сергей Зырянов: как записать два разных советника в один?
с какой целью интересуетесь? А так копируете код из одного советника в другой, только нужно правильно скопировать, если не понимаете как это сделать, закажите во фрилансе.
Не за что. Просто сохраняются в массив все high, а потом в цикле распечатываются в журнале все сохранённые в массиве данные.
Вовсе не обязательно, что этот скрипт делает именно то, что вам нужно. Просто показан принцип сохранения данных в массиве.
я именно это и искал. Мне нужно, было чтобы как-то сохранить данные в массив за тот период, который я выбираю. Эту часть я у вас понял.
Теперь у меня стоит вопрос, КАК обратиться к записанным данным в массиве и сравнить их между собой?
Тут получается, что поехали итерации, записали пошагово массив. Это хорошо. Но теперь нужно сравнить элементы между собой.
Нужно объявить новый счет итераций? и уже как-то извлекать данные и сравнивать их? Но это опять куда-то записывать результаты и ... все в итоге повторяется.
Грубо, если период сравнения 5-7 свечей, то у нас 1я должна быть сравнена с другими 6ю, потом 2я и т.д.... И если из них две или более имеют равную величину High, то нужно во-первых, вычислить этот High, во вторых, их этих свечек найти ту, у которой минимальный Low. Т.е. нужно обращение к конкретным свечам в итоге, чтобы все их параметры извлечь.
тут я так понимаю тоже профессионалы отсутствуют. жаль......
Так распринтуйте значения моментума с чужого графика в тестере
Принт показывает то что рисует буфер. Информации ноль. Может кто ни будь дать толковый ответ???? А не непонятные предположения....
Коллеги, подскажите, как в заданном диапазоне сравнить параметры свечей??
Как вычислить Максимальную или минимальную величину, я понял.
Вот код:
void OnTick()
{
double H = 0;
for ( shift = Search_Period; shift >0; shift--)
{
if (High[shift] > H)
{ H = High[shift]; }
Alert (H);
}
}
Но проблема в том, что он перезаписывает значение переменной.
А моя цель, на заданном периоде найти, например, две или более свечей с одинаковым значением цены High. Т.е. по идее после каждой итерации должна создаваться переменная, которая будет хранить значение, потом другая и т.д. пока весь интервал не будет проверен. И их можно будет сравнить уже дальше.
Но как это сделать не представляю ((
Коллеги, подскажите, как в заданном диапазоне сравнить параметры свечей??
Как вычислить Максимальную или минимальную величину, я понял.
Вот код:
...............Но проблема в том, что он перезаписывает значение переменной.
А моя цель, на заданном периоде найти, например, две или более свечей с одинаковым значением цены High. Т.е. по идее после каждой итерации должна создаваться переменная, которая будет хранить значение, потом другая и т.д. пока весь интервал не будет проверен. И их можно будет сравнить уже дальше.
Но как это сделать не представляю ((
Примерно так:
как записать два разных советника в один?
Примерно так:
Попробую разобраться. Спасибо.
Попробую разобраться. Спасибо.
Не за что. Просто сохраняются в массив все high, а потом в цикле распечатываются в журнале все сохранённые в массиве данные.
Вовсе не обязательно, что этот скрипт делает именно то, что вам нужно. Просто показан принцип сохранения данных в массиве.
Не за что. Просто сохраняются в массив все high, а потом в цикле распечатываются в журнале все сохранённые в массиве данные.
Вовсе не обязательно, что этот скрипт делает именно то, что вам нужно. Просто показан принцип сохранения данных в массиве.
я именно это и искал. Мне нужно, было чтобы как-то сохранить данные в массив за тот период, который я выбираю. Эту часть я у вас понял.
Теперь у меня стоит вопрос, КАК обратиться к записанным данным в массиве и сравнить их между собой?
Тут получается, что поехали итерации, записали пошагово массив. Это хорошо. Но теперь нужно сравнить элементы между собой.
Нужно объявить новый счет итераций? и уже как-то извлекать данные и сравнивать их? Но это опять куда-то записывать результаты и ... все в итоге повторяется.
Грубо, если период сравнения 5-7 свечей, то у нас 1я должна быть сравнена с другими 6ю, потом 2я и т.д.... И если из них две или более имеют равную величину High, то нужно во-первых, вычислить этот High, во вторых, их этих свечек найти ту, у которой минимальный Low. Т.е. нужно обращение к конкретным свечам в итоге, чтобы все их параметры извлечь.
Можно ли вообще такое сделать.