初学者的问题 MQL5 MT5 MetaTrader 5 - 页 489

 
Boris:
....在图表上抛出所需的指标并继续测试....。

你是如何做到这一点的?答案可能是显而易见的,但它对我来说不起作用。

一般来说,你需要将那些在EA中计算的缓冲区精确地可视化,因为。

1.更容易调试它们

2.专家顾问,根据其状态(交易是否开启),以不同的 参数 计算指标,但在同一个缓冲区。因此,这些数值将与刚刚扔在图表上的同一指标不同。

 
Shepot:

你是如何做到这一点的?答案可能是显而易见的,但它对我来说不起作用。

一般来说,你需要将那些在EA中计算的缓冲区精确地可视化,因为。

1.更容易调试它们

2.专家顾问,根据其状态(交易是否开启),以不同的 参数 计算指标,但在同一个缓冲区。因此,数值会与同一指标不同,只是扔在了图表上。

根据专家顾问中计算出的过去和当前条形的数据, 专家顾问的可视化对象OBJ_TREND的图表中 显示指标 线。
 
Artyom Trishkin:
根据EA中计算的上一柱和当前柱的数据,由EA中的OBJ_TREND对象在图表上 显示指标 线。
谢谢你。我已经考虑过这样的解决方案,但它有一个缺点:性能还有待提高,尤其是我有3个内置指标。也许还有其他方法?
 
Shepot:
谢谢你。我已经想到了这样的解决方案,但它有一个缺点:性能还有待提高,尤其是我有3个内置指标。也许还有其他方法?
在分钟条形图的开口处和指标值的重新计算处输出线条。
 
Shepot:
谢谢你。我已经考虑过这样的解决方案,但它有一个缺点:性能还有待提高,尤其是我有3个内置指标。也许还有其他方法?

1.把所需的指标和适当的参数放在图表上,用EA名称或 "测试者 "名称保存模板,然后当你在可视化模式下启动EA时,所有需要的指标将在图表上可见。

2.指标值 可以在Comment()中画出来,但这将减慢测试以及图表对象的速度。

 
非常感谢你们!
 
无法理解终端日志信息的意思:2015.12.28 18:30:39.718 '1656096': 订单#0买入0.00在0被修改 -> sl: 0 tp: 0

 
Petr_k:
我无法理解终端日志信息的意思:2015.12.28 18:30:39.718 '1656096': 订单#0买入0.00在0被修改 -> sl: 0 tp: 0

订单#0在0处买入,价格为0.00,已被修改->设置sl: 0 tp: 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

请求.偏离

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的限价单,过一段时间再删除。

 
一般来说,我已经定下了几秒钟的极限出价+回扣。在Forts上,将获得相当于市场价格的价格,执行价格将不会高于100%。