Обсуждение статьи "Разработка торгового советника с нуля (Часть 19): Новая система ордеров (II)"

 

Опубликована статья Разработка торгового советника с нуля (Часть 19): Новая система ордеров (II):

В данной статье мы будем разрабатывать графическую систему ордеров вида «посмотрите, что происходит». Следует сказать, что мы не начнем с нуля, а модифицируем существующую систему, добавив еще больше объектов и событий на график торгуемого нами актива.

Если вы считаете, что добиться этого непросто, посмотрите на следующий фрагмент кода класса C_HLineTrade:

inline void SetLineOrder(ulong ticket, double price, eHLineTrade hl, bool select)
{
        string sz0 = def_NameHLineTrade + (string)hl + (string)ticket, sz1;
                                
        ObjectCreate(Terminal.Get_ID(), sz0, OBJ_HLINE, 0, 0, 0);

//... Restante do código da classe .... 

Этот выделенный фрагмент показывает именно то, что мы можем создать столько горизонтальных линий, сколько захотим, и они будут получать события совершенно независимым образом. Всё, что нам нужно сделать для этого - это реализовать события на основе названия, которое будет иметь каждая из линий, поскольку названия будут уникальными. Обо всем остальном позаботится платформа MetaTrader 5, поэтому результат будет выглядеть примерно так:


Но хотя это кажется чем-то идеальным, такого моделирования окажется недостаточно для достижения того, что нам действительно нужно. Идея такова и ее можно реализовать, но моделирование, которое есть у советника на данный момент, не является идеальным, ведь мы не сможем иметь неограниченное количество объектов на основе одного имени. Мы должны внести некоторые изменения, которые предполагают довольно глубокую модификацию кода.

Автор: Daniel Jose

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