Макс Сопельцев:
Вопрос такой...
Хочу чтобы OrderSend("Lot") - Брал параметр лот из какого-то предыдущего ордера.
Предварительно я выбрал OrderSelect прошлый ордер и вывел в переменную его значение типа L=OrderLots()
После, при функции OrderSend (L*2) - аля легкий мартингейл - терминал орет на ошибку Лотов, как исправить?
Вопрос такой...
Хочу чтобы OrderSend("Lot") - Брал параметр лот из какого-то предыдущего ордера.
Предварительно я выбрал OrderSelect прошлый ордер и вывел в переменную его значение типа L=OrderLots()
После, при функции OrderSend (L*2) - аля легкий мартингейл - терминал орет на ошибку Лотов, как исправить?
for (i = (OrdersHistoryTotal()-2); i <= (OrdersHistoryTotal()-1); i++){ // Запускаем цикл для перебора последних двух
ордеров среди закрытых //
if (OrderSelect (i, SELECT_BY_POS, MODE_HISTORY)) // Ищем по истории закрытых ордеров //
if (OrderType() == OP_BUY && Ask >= OrderOpenPrice() && ProfitOrder >=
(TakeProfit-30) && ProfitOrder <= (TakeProfit + 30)) // Ищем плюсовой ордер с прибылью +- 30 пунктов от Тейкпрофита
//
{int ProfitOrder1Buy = ProfitOrder; // устанавливаем прибыль по ордеру в
переменную //
int typeOrder11 = OrderType(); // запоминаем направление ордера
LotsOrder11 = OrderLots();//запоминает объем ордера
OrderCloseTime11 = OrderCloseTime();
if (TimeCurrent() == OrderCloseTime())
OrderSend(Symbol(),OP_BUY,LotsOrder11*3,Ask,20,Ask-StopLoss*Point,Ask+TakeProfit*Point,NULL,211,0,Blue)
OrderSend(Symbol(),OP_BUY,LotsOrder11*3,Ask,20,Ask-StopLoss*Point,Ask+TakeProfit*Point,NULL,211,0,Blue)
Логика в этом коде совсем никакая.
Какой такой сакральный смысл проверять текущую цену с ценой открытия ордера из истории Ask >= OrderOpenPrice()
Что за переменная ProfitOrder? Где она получает значение?
Дальше даже разбираться нет ни желания ни смысла.
нормализовать лоты пробовали?
Да, нормализация не помогла
Если код вставлять правильно, кнопкой "Код (Alt+S)", в нём будет легче разобраться посторонним. А так большинство проходит мимо этой
каши.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Хочу чтобы OrderSend("Lot") - Брал параметр лот из какого-то предыдущего ордера.
Предварительно я выбрал OrderSelect прошлый ордер и вывел в переменную его значение типа L=OrderLots()
После, при функции OrderSend (L*2) - аля легкий мартингейл - терминал орет на ошибку Лотов, как исправить?
OrderSend(Symbol(),OP_BUY,LotsOrder11*3,Ask,20,Ask-StopLoss*Point,Ask+TakeProfit*Point,NULL,211,0,Blue)