Форум трейдеров » Торговые роботы, советники, индикаторы » Бесплатное программирование MQL4
+ Подписаться
Страница 15 из 30 ПерваяПервая ... 5131415161725 ... ПоследняяПоследняя
  1. 3,114
    Комментарии
    24
    Темы
    2375
    Репутация Pro
     
    Мастер форумных наук

    6 Медалей
    Цитата Сообщение от PAZITIV Посмотреть сообщение
    нет, в том то и дело, что дата, время и цены нужно записывать или в разные "столбцы" массива или в разные массивы. если записать все в одну ячейку, то как потом считывать.
    А разве нельзя для каждого столбца массива соответствующий формат задать?
  2. 3,114
    Комментарии
    24
    Темы
    2375
    Репутация Pro
     
    Мастер форумных наук

    6 Медалей
    Интересно, если какой-нибудь профи-программист нас сейчас читает, он наверное хихикает. :sick:
  3. 1,009
    Комментарии
    8
    Темы
    769
    Репутация Pro
    Аватар для PAZITIV  
    В начале пути

    4 Медалей
    Цитата Сообщение от FANAT Посмотреть сообщение
    А разве нельзя для каждого столбца массива соответствующий формат задать?
    Насколько я знаю нет. Может в МКЛ 5 и есть такое, но в 4 вроде нет. Вообще нет такого понятия как раные типы данных в одном массиве. Вель тогда программа не будет понимать какие типы данных в какие ячейки вносить. Обьявляется тип массива и всё, а не каждого отдельного элемента массива.
    http://book.mql4.com/ru/variables/arrays
  4. 3,114
    Комментарии
    24
    Темы
    2375
    Репутация Pro
     
    Мастер форумных наук

    6 Медалей
    Похоже, что Вы правы. Сейчас заглянул в код PeriodConverter, то там действительно данные по ценам и времени, прочитанные с файла истории, записываются в одномерные массивы. Значит, придется с одномерными массивами работать.
  5. 1,009
    Комментарии
    8
    Темы
    769
    Репутация Pro
    Аватар для PAZITIV  
    В начале пути

    4 Медалей
    Цитата Сообщение от FANAT Посмотреть сообщение
    Похоже, что Вы правы. Сейчас заглянул в код PeriodConverter, то там действительно данные по ценам и времени, прочитанные с файла истории, записываются в одномерные массивы. Значит, придется с одномерными массивами работать.
    ну значит должно быть типа так: если даты (значения столбиков и массива дат) совпадаю и время открытия свечей совпадает, то вычисляются значения ОХЛК. Главное, что бы это всё вменяемо описать. Нужно ведь, что бы систвема могла проработать неделю без сбоев и постояннных перезагрузок и чисток папок терминала.
  6. 40
    Комментарии
    1
    Темы
    40
    Репутация Pro
     
    Новичок

    2 Медалей
    Цитата Сообщение от FANAT Посмотреть сообщение
    С этим то как раз нет проблем. Единственная проблема - расчеты массивов для значений OHLC искомых баров.
    Упрощенный алгоритм:
    1) Прочитать 2 файла с котировками (файлы истории hst); не проблема
    2) записать их в 2 массива; тоже не проблема
    3) сложить соответствующие значения баров из 1-го и 2-го массивов и записатьт в 3-й массив; для меня проблема
    4) 3-й массив скинуть в новый файл hst; не проблема
    5) открываем полученный файл в автономном режиме и получаем искомый график, точно такой же, как и любой другой стандартный. это может любой юзер

    Как видишь, все очень просто. Проблемка только с 3-м пунктом.
    А вот мы и получили нормальное ТЗ, которое и искалось!)
    Смотри, читаем котировки: Цена открытия бара, цена закрытия бара, цена MAX бара, цена MIN бара, время открытия бара.
    Все это можно раскинуть по массивам. Какие значения баров из полученных массивов(т.к. читаем 2 файла котировок, то массивов будет в два раза больше) нужно сложить и записать в третий массив?
  7. 1,048
    Комментарии
    2
    Темы
    1975
    Репутация Pro
     
    Мастер форумных наук

    4 Медалей
    Цитата Сообщение от FANAT Посмотреть сообщение
    Интересно, если какой-нибудь профи-программист нас сейчас читает, он наверное хихикает. :sick:
    Нет.
    Это - не смешно.
  8. 3,114
    Комментарии
    24
    Темы
    2375
    Репутация Pro
     
    Мастер форумных наук

    6 Медалей
    Цитата Сообщение от alexandermc Посмотреть сообщение
    А вот мы и получили нормальное ТЗ, которое и искалось!)
    Смотри, читаем котировки: Цена открытия бара, цена закрытия бара, цена MAX бара, цена MIN бара, время открытия бара.
    Все это можно раскинуть по массивам. Какие значения баров из полученных массивов(т.к. читаем 2 файла котировок, то массивов будет в два раза больше) нужно сложить и записать в третий массив?
    Добрый день всем!

    Надо поделить например: Open1/Open2, Close1/Close2, High1/High2, Low1/Low2.
    где: Open1 - цена открытия 1-го инструмента
    Open2 - цена открытия 2-го инструмента
    и т.д.
    При этом надо делить цены синхронизированных баров, т.е. вчерашний бар 1-го инструмента на вчерашний бар 2-го инструмента и т.д. Простым циклом тут не обойдешься. В истории могут быть пробелы, особенно на часовках и минутках. Поэтому в цикле еще будут проверки всяких условий. В результате получаем цены баров товарной пары, которые записываем в 3-й массив, а потом в файл истории. Лучше было бы не деление находить, а разницу. Но как я понял, первичное окно Метатрейдера не воспринимает отрицательные значения, которые неизбежно получаются при вычитании. В общем, тут нет разницы между делением и вычитанием, бары все равно получаться такими же, а изменится только вертикальная шкала - на ней уже не будет отрицательных значений. Тут еще понадобяться коэффициенты, что бы уравнять цены 2-х инструментов, т.е. уравнять веса каждого инструмента. Если этого не сделать, то бары получаться искаженными. В том и смысл торговли спредом, что надо покупать один актив и продавать другой актив на равные суммы. Т.е. ноги спреда должны быть одинаковой длины. А если еще и размер тика разный, то желательно и равноценные объемы лотов посчитать и вывести на график для визуализации. Можно конечно вручную посчитать объемы, но это уже как говориться, примочка к скрипту, т.е. для удобства.
  9. 1
    Комментарии
    0
    Темы
    1
    Репутация Pro
     
    Новичок

    2 Медалей
    Привет всем. Вот когда-то я занимался похожей системой и мне сделали примитивный индикатор для определения разницы между свечами двух инструментов. Выкладываю. Может, понадобится.
    Идиотизм, но на форекс форуме невозможно прикрепить файл в mql. Прикрепляю в архиве
    Вложения Вложения
  10. 40
    Комментарии
    1
    Темы
    40
    Репутация Pro
     
    Новичок

    2 Медалей
    Цитата Сообщение от FANAT Посмотреть сообщение
    Добрый день всем!

    Надо поделить например: Open1/Open2, Close1/Close2, High1/High2, Low1/Low2.
    где: Open1 - цена открытия 1-го инструмента
    Open2 - цена открытия 2-го инструмента
    и т.д.
    При этом надо делить цены синхронизированных баров, т.е. вчерашний бар 1-го инструмента на вчерашний бар 2-го инструмента и т.д. Простым циклом тут не обойдешься. В истории могут быть пробелы, особенно на часовках и минутках. Поэтому в цикле еще будут проверки всяких условий. В результате получаем цены баров товарной пары, которые записываем в 3-й массив, а потом в файл истории. Лучше было бы не деление находить, а разницу. Но как я понял, первичное окно Метатрейдера не воспринимает отрицательные значения, которые неизбежно получаются при вычитании. В общем, тут нет разницы между делением и вычитанием, бары все равно получаться такими же, а изменится только вертикальная шкала - на ней уже не будет отрицательных значений. Тут еще понадобяться коэффициенты, что бы уравнять цены 2-х инструментов, т.е. уравнять веса каждого инструмента. Если этого не сделать, то бары получаться искаженными. В том и смысл торговли спредом, что надо покупать один актив и продавать другой актив на равные суммы. Т.е. ноги спреда должны быть одинаковой длины. А если еще и размер тика разный, то желательно и равноценные объемы лотов посчитать и вывести на график для визуализации. Можно конечно вручную посчитать объемы, но это уже как говориться, примочка к скрипту, т.е. для удобства.
    Привет! Думал над весовыми коэфициентами! В общем пришел к к тому, что проще наверное будет встроить доп. проверку и получать значения новой свечи из расчета среднего, а именно (HIGH1 + HIGH2)/2 = HIGH3 и так по всем параметрам!

Вверх
РегистрацияX

чтобы писать, читать, комментировать