Как узнать, что отложенный ордер перешёл в состояние позиции? - страница 5

 
2. Вопрос был задан не мною - не мне и отвечайте. 
 
Алексей Тарабанов:

1. Не еденичных, а единичных. 

- Кто не хочет грузить люминий, будет грузить чугуний
 
Если будут вопросы ко мне - всегда готов. 
 
Алексей Тарабанов:
Если будут вопросы ко мне - всегда готов. 

За ранние спасибо)

 
Konstantin Nikitin:

Лучше люминий, самый легкий из всех желез. 

 
Vitaly Muzichenko:

Вы посмотрите на достижения и вклад Integerа только на этом ресурсе, и сравните со своими. Полагаю, что не нужно спорить.

Да я не спорю. Но уже сколько вопрос мусолиться. Это ж не вариант. Тем более, я не пишу писать за меня. Выложил свои мысли. Гораздо оптимальнее сказать, что конкретное, а не спрашивать что такое глобальная переменная. Можно и не на глобальном уровне, а статической её сделать, если на то пошло. Смотря какая зона видимости необходима.. Это всё понятно. Да и реализация уже понятна. Нужно пойти прогуляться, отдохнуть и допишу позже..

Я просто хотел услышать здравую критику по этому поводу, если у кого есть что сказать. Потому что написать то я напишу. И не такое писал. А вто написал очень гибко и без лишних переменных как в статье, что я привёл, это уже другой уровень.. Я как-то ближе в оптимизации тянуть. Ну не нравится мне километры лишних переменных (глобальных или локальных - не важно).

Так вот именно обсудить и хочется. А к integer'у я отношусь нормально. Я его помню ещё с 4-ки. Вещи интересные попадались. Раньше, по крайне мере, я так думал. Сейчас чужой код не смотрю практически. Кроме чего-то слишком замороченного, что писать нет желания самому.

 
Viktar Dzemikhau:

Да я не спорю. Но уже сколько вопрос мусолиться. Это ж не вариант. Тем более, я не пишу писать за меня. Выложил свои мысли. Гораздо оптимальнее сказать, что конкретное, а не спрашивать что такое глобальная переменная. Можно и не на глобальном уровне, а статической её сделать, если на то пошло. Смотря какая зона видимости необходима.. Это всё понятно. Да и реализация уже понятна. Нужно пойти прогуляться, отдохнуть и допишу позже..

Я просто хотел услышать здравую критику по этому поводу, если у кого есть что сказать. Потому что написать то я напишу. И не такое писал. А вто написал очень гибко и без лишних переменных как в статье, что я привёл, это уже другой уровень.. Я как-то ближе в оптимизации тянуть. Ну не нравится мне километры лишних переменных (глобальных или локальных - не важно).

Так вот именно обсудить и хочется. А к integer'у я отношусь нормально. Я его помню ещё с 4-ки. Вещи интересные попадались. Раньше, по крайне мере, я так думал. Сейчас чужой код не смотрю практически. Кроме чего-то слишком замороченного, что писать нет желания самому.

Вот это иногда помогает.

Удачи!

 

Глобальная переменная терминала имеется ввиду.

Там где установка ордера добавляем одну строку:

int ticket=OrderSend(...);

if(ticket>0)GlobalVariableSet("event_"+(string)ticket,1);

Теперь в OnTick(), известный стандартный цикл по ордерам:

for(int i=0;i<OrdersTotal();i++){
 if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
  if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic){
   if(OrderType()==OP_BUY || OrderType()==OP_SELL){
    if(GlobalVariableCheck("event_"+(string)OrderTicket())){
     // вот оно - событие срабатывания отложенного ордера
     // делаем что-то с этим ордером, если сделать не получилось, то continue 
     GlobalVariableDel("event_"+(string)OrderTicket()); // а если получилось, то удаляем переменную  
    }
   }
  }
 }
}

Куда уж меньше кода? Может даже и цикл писать не придется, а влезть в какой-нибудь имеющийся. 

 
Забыл спросить: как узнать, что отложенный ордер сработал? 
 
Алексей Тарабанов:
Забыл спросить: как узнать, что отложенный ордер сработал? 

Зачет! ;)