| Мультивалютный сеть стопордеров |
extern string Symbol1 = "EURUSD";
extern string Symbol2 = "GBPUSD";
extern bool TimeClose = false //Закрытие всех позиций и удаление всех ордеров по времени
extern int StartHour = 0; // час начала торговли
extern int StartMin = 30; // минута начала торговли
extern int EndHour = 23; // час окончания торговли
extern int EndMin = 30; // минута окончания торговли
extern int Count = 6; // число стоп ордеров каждой пары
extern int Step1 = 100; //Расстояние от цены для установки ордера
extern int Orders = 3; //Количество устанавливаемых ордеров
extern int Step2 = 100; //Шаг между ордерами
extern double Lot = 0.01; //Лот
extern double PROFIT = 20; // Профит в валюте депозита
extern int Slip = 30; // реквот
extern int Magic = 0; // магик:
07 мая 2021
|
09 мая 2021
|
Комментарии (13)
Редактирован: 8 мая 2021, 21:43
16 ssg Автор Сообщений: 817
35 AM2 Сообщений: 16665 - Андрей
Выставлять на ведущей паре сразу всю сеть стоповых ордеров BuyStop и SellStop.
Трал ордеров у Вас есть в Grider7.mq4 zakaz.opentraders.ru/45525.html или Гридер20 zakaz.opentraders.ru/52563.html.
После открытия позиции или
Buy или Sell противоположенные ордера удаляются.
Функция удаления ордеров или Ваша:
<code>//+------------------------------------------------------------------+ //| Удаление отложенных ордеров | //+------------------------------------------------------------------+ void DelOrder(string symb,int type=-1) { bool del; for(int i=OrdersTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if(OrderSymbol()==symb && OrderMagicNumber()==Magic) { if(OrderType()==type || type==-1) del=OrderDelete(OrderTicket()); } } } } //+------------------------------------------------------------------+</code>или
<code> //+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 13.06.2007 | //| Описание : Удаление ордеров. Версия функции для тестов на истории. | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента ("" или NULL - текущий символ) | //| op - операция ( -1 - любая позиция) | //| mn - MagicNumber ( -1 - любой магик) | //+----------------------------------------------------------------------------+ void DeleteOrders(string sy="", int op=-1, int mn=-1) { int i, k=OrdersTotal(), ot; if (sy=="" || sy=="0") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { ot=OrderType(); if (ot==OP_BUYLIMIT || ot==OP_BUYSTOP || ot==OP_SELLLIMIT || ot==OP_SELLSTOP) { if (OrderSymbol()==sy && (op<0 || ot==op)) { if (mn<0 || OrderMagicNumber()==mn) { OrderDelete(OrderTicket(), clrRed); } } } } } } //+------------------------------------------------------------------+</code>Редактирован: 9 мая 2021, 07:3916 ssg Автор Сообщений: 817
Ну что, возьмётесь за мой заказ.
16 ssg Автор Сообщений: 817
35 AM2 Сообщений: 16665 - Андрей
16 ssg Автор Сообщений: 817
чуть позже можно заняться и мультом
35 AM2 Сообщений: 16665 - Андрей
Посмотрел код советника и заметил отклонения от ТЗ.
1.Ордера должны удалятся не при образовании нового бара, а при открытии позиции на покупку или на продажу.
1.1.Желательно при образовании нового бара и при отсутствии любой из позиции
тралить стоповые ордера в сторону цены.
2.При открытии позиции на покупку — удаляются только селлстоп ордера.
3.При открытии позиции на продажу — удаляются только байстоп ордера.
4.Закрытие всех позиций и удаление всех ордеров происходит при достижении
профита по советнику в валюте депозита.
16 ssg Автор Сообщений: 817
я не взялся, просто набросал то что можно было быстро сделать.
таким образом я упростил трал всех ордеров
советник сложный, если мне интересно могу что то закодить.
35 AM2 Сообщений: 16665 - Андрей
10 Skyrider60 Сообщений: 93
Желательно с аргументами, по взрослому.
16 ssg Автор Сообщений: 817
10 Skyrider60 Сообщений: 93
И это лишь один из вариантов.
16 ssg Автор Сообщений: 817
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий