Обсуждение статьи "Торговый эксперт с графическим интерфейсом: Наполнение функционалом (Часть II)"

 

Опубликована статья Торговый эксперт с графическим интерфейсом: Наполнение функционалом (Часть II):

Перед вами вторая часть статьи о создании мультисимвольного сигнального эксперта для ручной торговли. Мы уже создали графический интерфейс. В этой статье речь пойдет о том, как связать его с функционалом программы.

На гифке ниже мы видим следующее. В таблице сформирован список с форекс-символами, содержащими USD. Затем мы быстро формируем список символов, содержащих EUR. Для этого просто в поле ввода Symbols filter вносим текст «EUR» и нажимаем на кнопку Request. Если же мы хотим увидеть все имеющиеся на сервере символы с валютами USD и EUR, то нужно ввести эти валюты через запятую: «USD,EUR».

 Рис. 5 – Формирование списка форекс-символов.

Рис. 3. Формирование списка форекс-символов.

Формирование списка форекс-символов и получение хэндлов индикаторов осуществляется по периоду, указанному в комбо-боксе Timeframes. Если же выбрать в выпадающем списке другой таймфрейм, то нужно получить новые хэндлы и обновить значения в таблице. Для этого нужен метод CProgram::ChangePeriod(). Если пришёл идентификатор комбо-бокса, то далее сначала обновляем таймфрейм в объекте-графике. Затем получаем хэндлы и данные индикаторов для всех символов в таблице, после чего она обновляется для отображения внесённых изменений.

Автор: Anatoli Kazharski

 
Anatoli Kazharski | 12 окт 2016 в 14:54 RU
Pavel Kolchin:

Будет ли мини мануал как пользоваться текущей версией библиотеки без изучения всех предыдущих статей?

Да, но только после того, как будет сформирована основная часть библиотеки и весь необходимый функционал. 


Спасибо,но хотелось бы повторить вопрос

Будет ли мини мануал как пользоваться текущей версией библиотеки без изучения всех предыдущих статей?

 
IuriiPrugov:

Спасибо,но хотелось бы повторить вопрос

Будет ли мини мануал как пользоваться текущей версией библиотеки без изучения всех предыдущих статей?

Когда-нибудь может быть будет.

Все статьи изучать необязательно, чтобы научиться пользоваться библиотекой. 

Начните с примеров, которые представлены в этих статьях:

Если хотите подробную справку, то начать процесс её создания можно попробовать через сервис Фриланс. Возможно, что кто-то возьмётся за такую работу. 

 
Работает ли это в тестере стратегий?
 
  Пример выложенный в статье не компилируется. При компиляции выдает ошибку: "'ON_END_CREATE_GUI' - undeclared identifier Program.mqh 307 29" !

 
Alexander:
Пример выложенный в статье не компилируется. При компиляции выдает ошибку: "'ON_END_CREATE_GUI' - undeclared identifier Program.mqh 307 29" !

Последняя версия всегда здесь: EasyAndFast

И обновите классы, которые приложены к статье. 

 
. ... Rick D. ... .:
Работает ли это в тестере стратегий?

 Частично.

 

Анатолий, в очередной раз спасибо за работу. 

У меня такой вопрос. По средней цене совокупной позиции.

Вот у меня висит на графике советник TradePanel.


Open price of the hedged position


Есть 6 разнонаправленных позиций. Панель, как видно показывает, что цена открытия совокупной позиции равна 1,16272. Разве правильно так считать среднюю цену для разнонаправленных позиций? 

 
Dennis Kirichenko:

...

Есть 6 разнонаправленных позиций. Панель, как видно показывает, что цена открытия совокупной позиции равна 1,16272.

Разве правильно так считать среднюю цену для разнонаправленных позиций? 

Не знаю. Как Вы считаете?

Возможно, что с точки зрения "разрулить ситуацию по разнонаправленным позициям", то лучше вообще считать отдельно для buy и для sell.

 
Anatoli Kazharski:

Не знаю. Как Вы считаете?

Возможно, что с точки зрения "разрулить ситуацию по разнонаправленным позициям", то лучше вообще считать отдельно для buy и для sell.

Правильно - считать среднюю цену для каждого направления отдельно. Потом вычесть из большей позиции меньшую -  это будет объем и напраление общей позиции. А также средняя цена позиции, которая равна средней цене бОльшей позиции.

 
Rashid Umarov:

Правильно - считать среднюю цену для каждого направления отдельно. Потом вычесть из большей позиции меньшую -  это будет объем и напраление общей позиции. А также средняя цена позиции, которая равна средней цене бОльшей позиции.

Рашид, спасибо за комментарий. Тогда в моём случае расчёт по большей стороне (Buy):

Open  price Base Volume Quote Volume
1,16255 10 000,00 11 625,50
1,16252 10 000,00 11 625,20
1,16937 16 000,00 18 709,92
  36 000,00 41 960,62
Average: 1,16557


Ещё есть стоимостной подход, когда всё объединяется в одну кучу. 

Open  price Base Volume Quote Volume
1,1625510 000,0011 625,50
1,1625210 000,0011 625,20
1,15376  -10 000,00 -11 537,60
1,15413-10 000,00  -11 541,30
1,1693716 000,0018 709,92
1,16933 -11 000,00 -12 862,63
  5 000,00   6 019,09

               Average:         1,20382


Во втором случае учитывается тот момент, что продавали дёшево, поэтому цена оставшихся покупок стала выше.

Причина обращения: