- ошибка 4107
- [АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3.
- Трейлинг-стоп и выставление ордеров
Как сделать проверку на наличия ордеров по парам EURUSD, GBPUSD, затем если ордеров нету, то выставить ордера по рынку, по двум валютам EURUSD GBPUSD. С учетом объема ордера, SL и TP?
Привожу модифицированный пример из учебника, Вы можете исключить работу через массивы - просто бьете через переменные и все...(подробнее - здесь) - для себя подредактируете - укажете явно работу с Вашими двумя инструментами, что касается "С учетом объема ордера, SL и TP" - также посмотрите соответствующие торговые модули примера в учебнике - здесь (третья ф-ия) и здесь - объем сделки.
int Qnt=0; // Счётчик количества ордеров //--------------------------------------------------------------- 3 -- ArrayCopy(Mas_Ord_Old, Mas_Ord_New);// Сохраняем предыдущую историю Qnt=0; // Обнуление счётчика ордеров ArrayInitialize(Mas_Ord_New,0); // Обнуление массива ArrayInitialize(Mas_Tip, 0); // Обнуление массива //--------------------------------------------------------------- 4 -- for(int i=0; i<OrdersTotal(); i++) // По рыночн. и отлож. ордерам { if((OrderSelect(i,SELECT_BY_POS)==true) //Если есть следующ. && (OrderSymbol()==Symbol())&& (OrderMagicNumber()==Magic)) //.. и наша вал.пара с магиком { //------------------------------------------------------ 5 -- Qnt++; // Колич. ордеров Mas_Ord_New[Qnt][1]=OrderOpenPrice(); // Курс открытия орд Mas_Ord_New[Qnt][2]=OrderStopLoss(); // Курс SL Mas_Ord_New[Qnt][3]=OrderTakeProfit(); // Курс ТР Mas_Ord_New[Qnt][4]=OrderTicket(); // Номер ордера Mas_Ord_New[Qnt][5]=OrderLots(); // Количество лотов Mas_Tip[OrderType()]++; // Кол. ордеров типа Mas_Ord_New[Qnt][6]=OrderType(); // Тип ордера Mas_Ord_New[Qnt][7]=OrderMagicNumber(); // Магическое число if (OrderComment()=="") Mas_Ord_New[Qnt][8]=0; // Если нет коммент else Mas_Ord_New[Qnt][8]=1; // Если есть коммент //------------------------------------------------------ 6 -- } } Mas_Ord_New[0][0]=Qnt; // Колич. ордеров
Если Qnt=0, то открываете ордера по данным валютным парам-причем названия пар явно указываете в ф-ии OrderSend() - открытия ордеров - пример из учебника - для себя подредактируете - исключив массивы - если они покажутся Вам слишком громоздкой конструкцией...
Полностью ознакомьтесь с этим и "кое-что" сразу прояснится и встанет на свои места.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования