Mожно ли в мт3 реально тестить системы по OHLC ???

 
Подскажите пожалуйста
можно ли в мт3 реально тестить системы по OHLC
а то получается что при условии пересечения Close
мувинга и дальнейшей покупке, почему-то покупка тестере
происходит на уровне Hi этой же свечи а это уже прошлое
значение
получается что при тестировании по OHLC
тестер пытается воссоздать реальную картину торгов тиками через МТ3 и ничего сделать нельзя ?
или я неправильно написал скрипт??

вот скрипт:


/*[[
Name := KCC
Author := Kikitra
Notes := Корридор скользящих по Hi и Lo
Notes := -при пересечении снизу ценой и последующем выходе из коридора покупка
Notes := -при пересечении сверху ценой и последующем выходе из коридора продажа
Notes :=
Notes :=
Lots := 1.00
Stop Loss := 100
Take Profit := 10000
Trailing Stop := 0
]]*/

var:cnt(0);

If Year < 2002 Then Exit;//ограничение по году тестирования
If FreeMargin<1000 then Exit; // ограничение по деньгам а то когда кончатся эксперт несёт бред


if totaltrades<1 then // начало блока покупки по ордеру
{//1
If c > iMAEx(50,MODE_SMA,0,PRICE_HIGH,0) then // условие совершения покупки

{//2
SetOrder(op_buy,lots,ask,3,l[1]-stoploss*point,bid+takeprofit*point,green); //сама покупка
SetArrow(Time,Low-50*Point,241,Magenta); // стрела-отметка на графике ВВЕРХ
exit; // необходимый выход из операции
};//2
};//1


If TotalTrades>0 then // начало блока дальнейшего контроля сделки

{//1
for cnt=1 to TotalTrades
{//2
//позиция buy или sell и по валютной паре, с которой работает эксперт
If OrderValue(cnt,VAL_TYPE)<=OP_SELL and
OrderValue(cnt,VAL_SYMBOL)=Symbol then //и равенство валютной паре дабы не перепутать
{//3
If OrderValue(cnt,VAL_TYPE)=OP_BUY then //если buy
{//4
IF c < iMAEx(50,MODE_SMA,0,PRICE_LOW,0)then //условие закрытия позиции
{//5
CloseOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_LOTS),Bid,3,Violet);//сама покупка
SetArrow(Time,High+150*Point,244,Red);// стрела-отметка на графике ВВЕРХ
Exit; // необходимый выход из операции
};//5
};//4
};//3
};//2
};//1
 
если Вы работаете по последнему, уже законченному бару и не открываете больше одной позиции, то можно. в Вашем случае - это проблематично. почитайте книгу Игоря Морозова и Рената Фатхуллина "Forex: от простого к сложному. Новые возможности с клиентским терминалом MetaTrader". там подробно описаны особенности тестирования и подробно разобраны несколько экспертов.
 
а не надо использовать текущий бар в вычислениях и тогда операции с ордерами будут всегда по open и тогда тестирование будет совпадать в любой модели и, что важнее, с реальной работой.

конкретно в вашем случае должно быть так:

If c[1] > iMAEx(50,MODE_SMA,0,PRICE_HIGH,1) then 




-----------------------------------
http://forexsystems.ru/phpBB/

 
Большое спасибо за ответы.