Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 489

 
Boris:
.... накидываете на график нужные индикаторы и продолжаете тестирование....

Как это сделать? Ответ, наверно, очевидный, но у меня не получается.

 

 Вообще нужно визуализировать именно те буферы, которые рассчитываются в советнике, поскольку:

1. так проще проводить дебаггинг

2. советник в зависимости от своего состояния (открыта или нет сделка) рассчитывает индикатор с разными параметрами, но в один и тот же буфер. В итоге значения будут отличаться от того же индикатора, просто накинутого на график.

 
Shepot:

Как это сделать? Ответ, наверно, очевидный, но у меня не получается.

 

 Вообще нужно визуализировать именно те буферы, которые рассчитываются в советнике, поскольку:

1. так проще проводить дебаггинг

2. советник в зависимости от своего состояния (открыта или нет сделка) рассчитывает индикатор с разными параметрами, но в один и тот же буфер. В итоге значения будут отличаться от того же индикатора, просто накинутого на график.

Выводите линии индикатора на график визуализации объектами OBJ_TREND из советника по рассчитанным в советнике данным прошлого бара и текущего.
 
Artyom Trishkin:
Выводите линии индикатора на график визуализации объектами OBJ_TREND из советника по рассчитанным в советнике данным прошлого бара и текущего.
Спасибо. Я уже думал о таком решении, но у него есть минус: производительность оставляет желать лучшего, тем более, у меня 3 встроенных индикатора. Может, есть ещё способы?
 
Shepot:
Спасибо. Я уже думал о таком решении, но у него есть минус: производительность оставляет желать лучшего, тем более, у меня 3 встроенных индикатора. Может, есть ещё способы?
Выводите линии на открытии минутного бара и при перерасчёте значений индикаторов.
 
Shepot:
Спасибо. Я уже думал о таком решении, но у него есть минус: производительность оставляет желать лучшего, тем более, у меня 3 встроенных индикатора. Может, есть ещё способы?

1. Поставь на чарт необходимые индикаторы с соответствующими параметрами, сохрани шаблон с именем советника или под именем "tester" и тогда при запуске советника в режиме визуализации на графике будут видны все необходимые индикаторы.

2. В советнике можно вывести значения индикаторов в Comment(), но это притормаживает тестирование так-же как и графические объекты.

 
Спасибо всем огромное!
 
Не могу понять что означает сообщение в журнале терминала :  2015.12.28 18:30:39.718 '1656096': order #0 buy 0.00  at 0 was modified -> sl: 0 tp: 0

 
Petr_k:
Не могу понять что означает сообщение в журнале терминала :  2015.12.28 18:30:39.718 '1656096': order #0 buy 0.00  at 0 was modified -> sl: 0 tp: 0

Ордер №0 на покупку объемом 0 по цене 0.00 был модифицирован -> установленный сл: 0 тп: 0
 

Привет.

 Возникла непонятная ситуация с допустимым отклонением при тестировании.

1) Устанавливаю отклонение =10 пунктов

mytrade.SetDeviationInPoints(dev);
mytrade.SetTypeFilling(ORDER_FILLING_RETURN);

2) Выполняю  

mytrade.PositionOpen(_Symbol,ORDER_TYPE_BUY,Lot,lastprice,lastprice-SL,lastprice+TP,"Test Buy");

 или 

mytrade.Buy(Lot,_Symbol,0.0,lastprice-SL,lastprice+TP,"Buy Trade");

не важно, вставляю я в цену lastprice, или цену сигнала, или просто 0.

3) Делаю проверку

а) 

Print("Разница: ",mytrade.ResultPrice()-цена сигнала);

получаю 20, что больше 10 

б)

QL      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   ---===Транзакция===---
QH      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   Тип сделки: DEAL_TYPE_BUY
RN      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   Состояние ордера: ORDER_STATE_STARTED
QO      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   Тип ордера: ORDER_TYPE_BUY
CS      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   Цена: 70885
PS      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   Тип торговой транзакции: TRADE_TRANSACTION_DEAL_ADD

request.deviation

LM	0	08:57:35.303	Фракталы - неск,ТС,% (Si Splice,M5)	2015.01.29 14:15:32   Отклонение от запрашиваемой цены: 1

 Получаю цену из MqlTradeTransaction - после возникновения сигнала (70865), ctrade покупает за 70885.

в)

Print(mytrade.RequestDeviation());

 = 10.

В чем может быть дело? Конечно, можно смотреть последнюю сделку или предложение в стакане, но по первым результатам в реале, это все ненадежно.

Или ставить лимитный ордер цена+10 и снимать его через какое-то время. 

 
В общем, остановился на лимитной заявке цена+отступ на несколько секунд. На фортсе получится эквивалент рыночной, и цена исполнения 100% выше не уйдет.
Причина обращения: