//-----Indicators on the current timeframe----------------------------+double SMA6=iMA(Symbol(),0,6,0,MODE_SMA,PRICE_CLOSE,0);
Print("SMA6 is ",SMA6);
double SMA21=iMA(Symbol(),0,21,0,MODE_SMA,PRICE_CLOSE,0);
Print("SMA21 is ",SMA21);
//----Indicators on a higher timeframe--------------------------------+double RSI=iRSI(Symbol(),1440,14,PRICE_CLOSE,0);
Print("RSI is ",RSI);
//----Indicators on a lower timeframe---------------------------------+
运行完全正常,并按预期进行交易,没有任何顾虑。
2013.10.24 14:52:33 2013.09.10 20:10 SMATrader1-1-0 GBPJPY,M5: close #5 sell 0.07 GBPJPY at 157.797 sl: 159.797 at price 157.909 2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: SMA6是157.809 2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: SMA21是157.8063 2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: RSI是69.3519 2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: open #6 buy 0.07 GBPJPY at 157.893 sl: 155.893 ok
//-----Indicators on the current timeframe----------------------------+double SMA6=iMA(Symbol(),0,6,0,MODE_SMA,PRICE_CLOSE,0);
//Print("SMA6 is ",SMA6);double SMA21=iMA(Symbol(),0,21,0,MODE_SMA,PRICE_CLOSE,0);
//Print("SMA21 is ",SMA21); //----Indicators on a higher timeframe--------------------------------+double RSI=iRSI(Symbol(),1440,14,PRICE_CLOSE,0);
//Print("RSI is ",RSI); //----Indicators on a lower timeframe---------------------------------+
在您的EA的图表上放置一个具有相同设置的SMA,看看您做了什么......
我正在这样做,而我正处于这个阶段。
SMA6(with shift)>SMA21 =>买入订单,代码正在打印SMA6(with shift)=0,因此SMA6(ws)<SMA21,从而卖出?
我正在这样做,我已经到了这个地步。
SMA6(with shift)>SMA21 => 买入指令,代码正在打印SMA6(with shift)=0,因此SMA6(ws)<SMA21,从而卖出?
SMA6(with shift -3 )>SMA21,这是否会在第0条发生?
给您的图表拍张照片,让我看看是否发生过这种情况?
数据窗口(Ctrl+D)也会有帮助,将鼠标指针移到图表上,检查 数值。
https://www.mql5.com/en/charts/926555/eurusd-m1-easy-forex
像这里吗?已经应用了转变,SMA6<SMA21(虽然我有一种感觉,我是非常愚蠢的......)请原谅我的迟钝,但在任何时候,我都在比较眼前的SMA21和3 Bars前的SMA6,不是吗?我看不出它们有什么理由不能交叉 :s
https://www.mql5.com/en/charts/926555/eurusd-m1-easy-forex
像这里吗?已经应用了转变,SMA6<SMA21(虽然我有一种感觉,我是非常愚蠢的......)请原谅我的迟钝,但在任何时候,我都在比较眼前的SMA21和3 Bars前的SMA6,不是吗?我看不出它们有什么理由不能交叉:s
不,那是一张图片,你有13:00的时间,有超过3个柱子的后期时间。
因此,以一张图片为例,我们看到最后形成的条形图,后面没有条形图。
在图表上的移动平均线,就像你在你的EA中编码的那样,把你的鼠标指向最后一个条形。
......我的转变是在错误的位置,不是吗......那么iMA(Symbol(),0,6,0,MODE_SMA,PRICE_CLOSE,-3)就是我的目标? 不,我太傻了,它们不能在第0条交叉,只是因为SMA6在后面3条,那么我如何使用它呢?
......我的移位是在错误的位置,不是吗......那么iMA(Symbol(),0,6,0,MODE_SMA,PRICE_CLOSE,-3)就是我的目标? 不,我太傻了,它们不可能在第0条交叉,只是因为SMA6落后3条,那么我如何使用它?
意味着马云向左移动了3个小节(过去),在0小节没有数值,而且永远不会有。
你也会看到没有负数的小节,我们不知道将来会发生什么。
所以不要计算负的ma_shift,不要使用负的barnumbers。
使SMA6 = iMA(Symbol(),0,6,0,MODE_SMA,PRICE_CLOSE,0)暂时。
用strategytester进行测试,并把它放在一个低周期的模拟账户上,让它经常进行交易,M5就足够用来测试了。
查看终端专家和日志,看看是否出现错误(他们会的)。
我现在不说了,我已经看到了,你可以通过这种方式学到最多。
见你的下一篇文章....
在5分钟的时间框架内运行。
运行完全正常,并按预期进行交易,没有任何顾虑。
2013.10.24 14:52:33 2013.09.10 20:10 SMATrader1-1-0 GBPJPY,M5: close #5 sell 0.07 GBPJPY at 157.797 sl: 159.797 at price 157.909
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: SMA6是157.809
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: SMA21是157.8063
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: RSI是69.3519
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: open #6 buy 0.07 GBPJPY at 157.893 sl: 155.893 ok
等等
我没有看到任何错误?
在5分钟的时间框架内运行。
运行完全正常,并按预期进行交易,没有任何顾虑。
2013.10.24 14:52:33 2013.09.10 20:10 SMATrader1-1-0 GBPJPY,M5: close #5 sell 0.07 GBPJPY at 157.797 sl: 159.797 at price 157.909
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: SMA6是157.809
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: SMA21是157.8063
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: RSI是69.3519
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: open #6 buy 0.07 GBPJPY at 157.893 sl: 155.893 ok
等等
我没有看到任何错误?
你已经看到这里没有错误,你不需要在这里打印声明。
在strategytester中,你的程序可能运行良好。
但它在你的演示账户上运行的情况如何呢?