Обсуждение статьи "Разработка торгового советника с нуля"

 

Опубликована статья Разработка торгового советника с нуля:

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

Этот советник можно улучшить во многих аспектах, чтобы он мог заставить работать набор параметров, правда, потребуется добавить больше кода, чтобы сделать его более независимым от MT5, но это зависит от творчества и потребностей каждого отдельного пользователя.

Большим успехом этого советника является тот факт, что он использует сам МТ5 для выполнения действий, которых нет в его коде, и поэтому он чрезвычайно стабилен и надежен.



Автор: Daniel Jose

 

Доброе утро,

Очень хорошо, только я не понимаю одну вещь. Когда я выставляю ордер в WIN и WDO, советник открывает 6 ордеров с тем количеством контрактов, которое я ввел в "плечо". То есть даже если я хочу торговать с 1 контрактом, я не могу, он открывает 6.

Это концепция, которую я упустил из виду? Я новичок, так что я начинаю с этой предпосылки.

Большое спасибо за то, что поделились.

 
Как я понимаю, для работы с ним необходимы знания о торговле альго...
[Удален]  
Очень хорошо!
 
joecafrois #:
Как я понимаю, для работы с ним необходимо знание AlgoTrading...

Вам не нужно знать AlgoTrading ... но он должен быть включен каждый раз, когда вы используете советник (эксперт), иначе советник будет ограничен в своей работе.

 
Feresther количеством контрактов, которое я ввел в "плечо". То есть даже если я хочу торговать с 1 контрактом, я не могу, он открывает 6.

Это концепция, которую я упустил из виду? Я новичок, поэтому исхожу из этой предпосылки.

Большое спасибо за то, что поделились.

Возможно, система отправляет более одного заказа, когда вы нажимаете на мышь, причины могут быть разные, но спасибо, что сообщили об этом 😁👍, чтобы решить эту проблему, вам придется добавить дополнительный тест, когда вы нажимаете на мышь, пункты, которые нужно изменить или добавить, отмечены ЗЕЛЕНЫМ ... убедитесь, что вы вводите их правильно, иначе заказ может быть не отправлен, или не принят сервером ... но добавление этого дополнительного теста должно решить вашу проблему. Логика следующая: когда мышь нажимается, устанавливается переменная STATIC, которая сбрасывается, чтобы позволить отправить новый заказ, только когда мышь больше не нажимается.

inline void MoveTo(int X, int Y, uint Key)
{
        static double d_block = 0; 
        int w = 0;
        datetime dt;
        bool bEClick, bKeyBuy, bKeySell;
        double take = 0, stop = 0, price;
        bEClick  = (Key & 0x01) == 0x01;                //Левый клик
        bKeyBuy  = (Key & 0x04) == 0x04;                //SHIFT Pressed
        bKeySell = (Key & 0x08) == 0x08;                //CTRL Pressed
        ChartXYToTimePrice(Infos.Id, X, Y, w, dt, price);
        ObjectMove(Infos.Id, Infos.szHLinePrice, 0, 0, price = (bKeyBuy != bKeySell ? AdjustPrice(price) : 0));
        ObjectMove(Infos.Id, Infos.szHLineTake, 0, 0, take = price + (Infos.TakeProfit * (bKeyBuy ? 1 : -1)));
        ObjectMove(Infos.Id, Infos.szHLineStop, 0, 0, stop = price + (Infos.StopLoss * (bKeyBuy ? -1 : 1)));
        if ((bEClick) && (bKeyBuy != bKeySell) && (d_block == 0)) CreateOrderPendent(bKeyBuy, Infos.Volume, (d_block = price), take, stop, Infos.IsDayTrade); else d_block = 0;
        ObjectSetInteger(Infos.Id, Infos.szHLinePrice, OBJPROP_COLOR, (bKeyBuy != bKeySell ? Infos.cPrice : clrNONE));
        ObjectSetInteger(Infos.Id, Infos.szHLineTake, OBJPROP_COLOR, (take > 0 ? Infos.cTake : clrNONE));
        ObjectSetInteger(Infos.Id, Infos.szHLineStop, OBJPROP_COLOR, (stop > 0 ? Infos.cStop : clrNONE));
};
 
есть ли версия mq4
 
Хорошая статья, спасибо.
 
Добрый день, где задать количество пунктов и количество лотов для мини-индекса?
 
C4rl1n #:
Добрый день, где задать количество пунктов и количество лотов для мини-индекса?

На самом деле, в этом коде настройка происходит автоматически. Вы указываете ему финансиста и количество контрактов для торговли, а код производит настройку в пунктах... Эта информация выдается при размещении советника на графике. 😁👍

 
Понятно, это потому, что я хочу развивать своего советника, но количество лотов и пунктов не совпадают