Импорт данных и виртуальный тестер (разработка) - страница 3

 
Ubzen:
FileRead из .csv достаточно прост. Однако нам понадобится рыночная информация. Пример вычисления Tick-Value для USDJPY.
Мне кажется, что наличие данных marketinfo не является большой проблемой. Но как использовать эти данные для тестирования советника?
 
angevoyageur: Мне кажется, что наличие данных marketinfo не является большой проблемой. Но как использовать эти данные для тестирования советника?

На секунду отвлекитесь от визуализатора. (Я знаю, это затрудняет визуализацию). Теперь перемещайте цены aka - [Bid Prices] внутри массива ++ слева направо. В каждом новом массиве, в данном случае m1, вы спрашиваете, какова цена предложения? За ним следует Ask, так как мы не сохранили Ask, это будет представлено в Market_Info(Spreads). Если Spread==1(Points) <Это может быть частью данных или пользовательской подсказкой. В данном примере это пользовательское воздействие.

В продолжение первого примера, кто-то решает разместить ордер, так как массив движется и цены движутся. Необходимо рассчитать, сколько прибыли принесет ордер. OrderProfit == OrderOpenPrice-OrderClosePrice*Market_Info(Tick_Value)*OrderLots*Direction. Что-то вроде этого :)

 
Мы должны изучить это, кажется очень интересным.
 
angevoyageur: Мы должны изучить это, кажется очень интересным.
Да... Индикаторы mt5 имеют много полезных функций рисования. Например, рисовать Бары и Свечи или что-то в этом роде. Кроме того, поскольку нет никаких ограничений на них. Я намерен злоупотреблять ими по полной :))). Я не уверен, где я читал о тестировании индикаторов. Но это тоже может быть полезно.
 
Ubzen:
Да. Индикаторы mt5 имеют множество полезных функций рисования. Например, рисовать Бары и Свечи или что-то в этом роде. Кроме того, поскольку нет никаких ограничений на них. Я намерен злоупотреблять ими по полной :))). Я не уверен, где я читал о тестировании индикаторов. Но это тоже может быть полезно.
С iCustomChart мы можем создавать советников, так что мы также можем представить себе создание тестера стратегий. Но тогда тестировать можно будет только те советники, которые собраны с использованием соответствующих библиотек. Это не моя первая идея, я думал о VTS, который может тестировать любой советник.
 

Пара структур дизайна, которые я сейчас держу в голове. Теперь я не знаю, будут ли они возможны, однако это создает направление.

- Тип импорта графиков=.CSV [потому что пользователи могут легко просматривать и изменять].

- Наименьший таймфрейм=1_минута (все еще рассматриваю 1_секунду)

- Market-Info Spread= Both. [Внутри данных] && [Пользовательский ввод] Toggle.

- Market-Info Others = Все пользовательские данные.

- Visual Mode= Графики, построенные индикатором. На шаблоне Black_Out.

- vOrder_Syntax= Mql-4 (все еще рассматриваю Mql-5).

- Я хочу использовать массивы для хранения всех вычислений. Ранее выбирал бинарные файлы.

 
Ubzen:

Пара структур дизайна, которые я сейчас держу в голове. Теперь я не знаю, будут ли они возможны, однако это создает направление.

- Тип импорта графиков=.CSV [потому что пользователи могут легко просматривать и изменять].

- Наименьший таймфрейм=1_минута (все еще рассматриваю 1_секунду)

- Market-Info Spread= Both. [Внутри данных] && [Пользовательский ввод] Toggle.

- Market-Info Others = Все пользовательские данные.

- Visual Mode= Графики, построенные индикатором. На шаблоне Black_Out.

- vOrder_Syntax= Mql-4 (все еще рассматриваю Mql-5).

- Я хочу использовать массивы для хранения всех вычислений. Ранее выбирал бинарные файлы.

Итак, ваша идея заключалась в использовании библиотек для создания советника, который затем может быть протестирован на собственных данных. Возможно, это единственная возможность.
 
angevoyageur:
С iCustomChart, мы можем построить советника, так что мы можем также представить, чтобы построить тестер стратегии. Но тогда тестировать можно будет только те советники, которые собраны с использованием соответствующих библиотек. Это не моя первая идея, я думал о VTS, который может тестировать любой советник.

Придумали ли вы, как это будет тестировать советника?

Если это то, что вы предлагаете, то у вас будет несколько препятствий.

1> Самое простое - расшифровать текущий файл данных. Три проблемы с этим, а) мета-котировки вам не понравятся. б) ошибки и в) изменение mq в будущем, вам придется постоянно обновлять.

2> Я не могу придумать способ поддержки всех команд и объектов, того, что работает, того, что не работает. И если эти вещи изменятся в будущем, вам придется постоянно обновляться.

3> больше файлов для расшифровки, и это при условии, что вы хотите изменить предоставляемую рыночную среду.

Как я уже говорил, не думаю, что мы можем сделать это так просто. Кодируйте советника с помощью mql5, а VST все сделает за вас. Но хотелось бы услышать, как вы можете преодолеть эти проблемы.

 
Ubzen:

Придумали ли вы, как это будет тестировать советника?

Если это то, что вы предлагаете, то у вас будет несколько препятствий.

1> Самое простое - расшифровка текущего дата-файла. Три проблемы с этим, а) мета-котировки вам не понравятся. б) ошибки и в) изменение mq в будущем, вам придется постоянно обновлять.

2> Я не могу придумать способ поддержки всех команд и объектов, того, что работает, того, что не работает. И если эти вещи изменятся в будущем, вам придется постоянно обновляться.

3> больше файлов для расшифровки, и это при условии, что вы хотите изменить предоставляемую рыночную среду.

Как я уже говорил, не думаю, что мы можем сделать это так просто. Кодируйте советника с помощью mql5, а VST все сделает за вас. Но хотелось бы услышать, как вы можете преодолеть эти проблемы.

Я только сейчас осознал последствия этих двух возможностей. Мы должны думать.
 
angevoyageur:
Я только сейчас осознал последствия этих двух возможностей. Мы должны думать.
Я думаю, что компромисс в моем решении может быть достигнут в том, чтобы сделать синтаксис библиотеки настолько простым для кодера, насколько это возможно. Пример OrderSend() == vOrderSend(). И перечисление того, что поддерживает VST.