Aleksey Mavrin: Если вы говорите что практически ноль в программировании, то зачем вы берётесь за такие задачи нестандартные, может с простых начать? Ну или подтянуть знания базовые? Проще чтоб сделали тут за вас, да.
Я же не писал: "Сделайте мне индикатор". Просил помочь. Не стоит цели полностью освоить mql4. Просто проверяю идеи. С excel уже намучался)
Теперь рисует тиковый график, но есть какие-то разрывы линии.
Я в 4-ке делаю.
разрывы линий это значит, что в Label1Buffer[ХХХ] нет значений
и второе, я писал выше, еще раз - индикаторный буфер ( Label1Buffer) управляется терминалом, если появится новый бар то значения все сдвинутся автоматически - на М1 код запустите и понаблюдайте
ЗЫ: не кохозник, а тот кто пытается самостоятельно научиться! ))))
разрывы линий это значит, что в Label1Buffer[ХХХ] нет значений
и второе, я писал выше, еще раз - индикаторный буфер ( Label1Buffer) управляется терминалом, если появится новый бар то значения все сдвинутся автоматически - на М1 код запустите и понаблюдайте
ЗЫ: не кохозник, а тот кто пытается самостоятельно научиться! ))))
Label1Buffer[ХХХ] - это значит 3-х составное число?
Label1Buffer[ХХХ] - это значит 3-х составное число?
нет, это я написал первые буквы что вспомнил
это цифра, которая номер элемента
посмотрите свой код, Вы по аналогии с моим циклом написали свой, где смещаете на один элемент индикаторный буфер Label1Buffer - заметьте каждый вызов индикатора (каждый тик)
и после того как сместили содержимое Label1Buffer присваиваете Label1Buffer[0] новое значение
а какие значения будут в остальных элементах? при первом запуске в них будет "пустое значение" (EMPTY_VALUE) , потом один раз сдвинете и присвоите новое значение.... а потом еще и сам терминал сдвинет ВСЕ значения Label1Buffer когда появится новый бар
в целом есть небольшой сдвиг в Ваших познаниях, но попробуйте просто цену закрытия бара нарисовать индикатором, вот код
#property indicator_separate_window#property indicator_buffers1#property indicator_plots1//--- plot line1#property indicator_label1"line1"#property indicator_type1DRAW_LINE#property indicator_color1clrRed#property indicator_style1STYLE_SOLID#property indicator_width11//--- input parametersinputint Input1=10;
//--- indicator buffersdouble line1Buffer[];
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit()
{
//--- indicator buffers mappingSetIndexBuffer(0,line1Buffer);
IndicatorDigits(Digits);
//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
//---int i,limit;
//--- Первый вызов индикатора или смена таймфрейма или подгрузка данных из историиif(prev_calculated==0){
limit=rates_total-1;
}else
limit=rates_total-prev_calculated+1; // или limit=rates_total-prev_calculated ; чтобы не перерисовывать бар №1
//--- Основной цикл расчета//Print("limit = ",limit);for(i=limit; i>=0; i--){
line1Buffer[i]=close[i];
}
//---return(rates_total);
}
//+------------------------------------------------------------------+
Формат файла Excel - xlsx , а функция FileOpen создаёт и работает с файлами типа txt и csv
Мне нужно после тестирования в OnTester выгрузить данные из буферов, в которых содержатся история разных данных в момент когда была открыта позиция на каждом тике, и потом вывести данные всех сделок на один график Как вы понимаете данных будет много даже для одной сделки, не говоря уже обо всех сделках - поэтому вариант "вручную переносить" не подходит
Формат файла Excel - xlsx , а функция FileOpen создаёт и работает с файлами типа txt и csv
Мне нужно после тестирования в OnTester выгрузить данные из буферов, в которых содержатся история разных данных в момент когда была открыта позиция на каждом тике, и потом вывести данные всех сделок на один график Как вы понимаете данных будет много даже для одной сделки, не говоря уже обо всех сделках - поэтому вариант "вручную переносить" не подходит
Что порекомендуете?
Вообщем суть оказалась простой - с помощью MQL5 записать программно напрямую что либо в файл Excel не получится, но зато в самом Excel можно импортировать данные из текстового файла во вкладке "данные" >>> "из текста"
Здравствуйте, после окончания теста експерта я получаю ошибку об неудаленных обьектах, при этом абсолютно все обьекты я создаю, насколько я понимаю, в стеке, тоесть без new. Обьясните пожалуйста данный вопрос.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Если вы говорите что практически ноль в программировании, то зачем вы берётесь за такие задачи нестандартные, может с простых начать? Ну или подтянуть знания базовые? Проще чтоб сделали тут за вас, да.
Я же не писал: "Сделайте мне индикатор". Просил помочь. Не стоит цели полностью освоить mql4. Просто проверяю идеи. С excel уже намучался)
Я предупредил что "колхозник")
Вот так сделал.
Теперь рисует тиковый график, но есть какие-то разрывы линии.
Я в 4-ке делаю.
разрывы линий это значит, что в Label1Buffer[ХХХ] нет значений
и второе, я писал выше, еще раз - индикаторный буфер ( Label1Buffer ) управляется терминалом, если появится новый бар то значения все сдвинутся автоматически - на М1 код запустите и понаблюдайте
ЗЫ: не кохозник, а тот кто пытается самостоятельно научиться! ))))
разрывы линий это значит, что в Label1Buffer[ХХХ] нет значений
и второе, я писал выше, еще раз - индикаторный буфер ( Label1Buffer ) управляется терминалом, если появится новый бар то значения все сдвинутся автоматически - на М1 код запустите и понаблюдайте
ЗЫ: не кохозник, а тот кто пытается самостоятельно научиться! ))))
Label1Buffer[ХХХ] - это значит 3-х составное число?
Label1Buffer[ХХХ] - это значит 3-х составное число?
нет, это я написал первые буквы что вспомнил
это цифра, которая номер элемента
посмотрите свой код, Вы по аналогии с моим циклом написали свой, где смещаете на один элемент индикаторный буфер Label1Buffer - заметьте каждый вызов индикатора (каждый тик)
и после того как сместили содержимое Label1Buffer присваиваете Label1Buffer[0] новое значение
а какие значения будут в остальных элементах? при первом запуске в них будет "пустое значение" (EMPTY_VALUE) , потом один раз сдвинете и присвоите новое значение.... а потом еще и сам терминал сдвинет ВСЕ значения Label1Buffer когда появится новый бар
в целом есть небольшой сдвиг в Ваших познаниях, но попробуйте просто цену закрытия бара нарисовать индикатором, вот код
Как записывать данные в Excel? - MQL5

Формат файла Excel - xlsx , а функция FileOpen создаёт и работает с файлами типа txt и csv
Мне нужно после тестирования в OnTester выгрузить данные из буферов, в которых содержатся история разных данных в момент когда была открыта позиция на каждом тике, и потом вывести данные всех сделок на один график
Как вы понимаете данных будет много даже для одной сделки, не говоря уже обо всех сделках - поэтому вариант "вручную переносить" не подходит
Что порекомендуете?
Как записывать данные в Excel? - MQL5
Формат файла Excel - xlsx , а функция FileOpen создаёт и работает с файлами типа txt и csv
Мне нужно после тестирования в OnTester выгрузить данные из буферов, в которых содержатся история разных данных в момент когда была открыта позиция на каждом тике, и потом вывести данные всех сделок на один график
Как вы понимаете данных будет много даже для одной сделки, не говоря уже обо всех сделках - поэтому вариант "вручную переносить" не подходит
Что порекомендуете?
Вообщем суть оказалась простой - с помощью MQL5 записать программно напрямую что либо в файл Excel не получится, но зато в самом Excel можно импортировать данные из текстового файла во вкладке "данные" >>> "из текста"
Что порекомендуете?
пишите в .csv и открывайте в Excel