про написание торговых экспертов(про синтаксис написания циклов)

 
подскажите пожалуйста как описать в цикле for cnt=... to ...
{if ( OrderValue(cnt,VAL_TYPE)=op_buy ) then {выполнение}; else{др условие};
чтоб при этом условии выдавалось значение прошлого ордера
ЗАКРЫТОГО
,и по данным этого условия можно было открывать ордер или соответственно по другим условиям открывать другой!заранее спасибо за предлложенные варианты решения задач.
Самая загвоздка в том что везде в литературе пишут про значения открытых ордеров!
 
Если знаешь его тикет (на бумажке записал, на купюре 100 рублей, в массив поместил или другие надежные варианты), то проходишь по массиву History, вроде должОн быть такой в МТ4.
 
а я сейчас работаю в третьем мета трейдере,и покачто не успел переключиться на новый и по некоторым соображениям в ближайшее время не собираюсь,
(мне кажется что там язык чутка сложнее и я тока тока изучил MT3),
а поподробнее можно описать процесс создания массива и извлечения из него данных для узнавания значение ордера?
 
Вкратце. Создаешь массивы PendingOrders[] и TradeOrdes[]. На открытие каждого бара (или на каждый тик) проходишь циклом по TotalTrades и те ордера, что отложены - записываешь в массив PendingOrders[] (если их там еще не было), для ордеров в рынке - в массив TradeOrdes[] соответственно.

Если какой-то тикет исчез из PendingOrders[] и объявился в TradeOrdes[] - значит его зацепило ценой(номера тикетов не изменяются с изменением статуса ордера - как я понимаю). Если ордер пропал из TradeOrdes[] - значит его зацепило либо по стопу либо по профиту (если конечно сам не закрыл). Для закрытых ордеров вроде можно посмотреть все опции - время открытия, закрытия, цена открытия , закрытия, профит/лосс.
 
короче буду пытатся создать массив.
вот програмирование всетки сложная штука,нужно еще литературы поискать....
Причина обращения: