编码帮助 - 页 460

 
mladen:
3->是最大的滑点

第一个0 -> 是止损(你必须把你希望的止损价格填入订单中)。

第二个0 -> 是获利(你必须用你希望的订单获利价格来填补)。

_________________

你不能把10,10放在那里

止损必须是订单的开仓价+-止损点(点)。

同样的规则也适用于获利--订单开盘价+-获利点(点)。

非常感谢,mladen。

今天我已经学会了你教的编码。

感到非常高兴。

我还有很多编码需要学习。

谢谢你。

 
hock87:
非常感谢,mladen。

今天我学会了你教的编码。

感到非常高兴。

我还有很多编码需要学习。

谢谢你。

倔强(倔强是一个编码员所能拥有的最好的品质--当你编码几年后,只有这样才能推动你前进)。

 

只是检查一下 这个问题--离开了好几天

pipmagnet:
对不起,我没有在之前的帖子中加入这个问题--这就是我所询问的问题--预先感谢您的帮助/答复。
 

你好mladen。

你能帮我看看这个代码是否正确?请给我一些建议

double MA_Signal = iMA(Symbol(),0,FastMa,FastMaShift,FastMaMode,FastMaPrice,0);

double MA_Signala = iMA(Symbol(),0,UpperMa,UpperMaShift,UpperMaMode,UpperMaPrice,0);

double MA_Signalb = iMA(Symbol(),0,LowerMa,LowerMaShift,LowerMaMode,LowerMaPrice,0);

double MACD = iCustom(Symbol(),0,"MyMACD",Macd_fast,Macd_slow,Macd_signal,Macd_price,MODE_MAIN,i);

double MACDsig = iCustom(Symbol(),0,"MyMACD",Macd_fast,Macd_slow,Macd_signal,Macd_price,MODE_SIGNAL,i);

double Bbands = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,PRICE_CLOSE,2);

double Ma_Bid_Diff = MathAbs(MA_Signal - Bid)/vPoint;

if ( MA_Signal>MA_Signala ) if ( MACD>0 && MACD>MACDsig ) if (Bbands MAOpenDistance && Bid > MA_Signala ) Signal = 1;

if ( MA_Signal<MA_Signalb ) if ( MACD<0 && MACDMA_Signal) if ( Ma_Bid_Diff > MAOpenDistance && Bid < MA_Signalb ) Signal = -1;

还有一个问题是关于 "BBands_Stop_v2 "的,这个数字后面是什么?

很抱歉打扰你,因为我正在学习如何编码,很多事情都混淆了。

 
stevenpun:
Hello mladen ,

你能帮我看看代码是否正确?请给我一些建议

double MA_Signal = iMA(Symbol(),0,FastMa,FastMaShift,FastMaMode,FastMaPrice,0);

double MA_Signala = iMA(Symbol(),0,UpperMa,UpperMaShift,UpperMaMode,UpperMaPrice,0);

double MA_Signalb = iMA(Symbol(),0,LowerMa,LowerMaShift,LowerMaMode,LowerMaPrice,0);

double MACD = iCustom(Symbol(),0,"MyMACD",Macd_fast,Macd_slow,Macd_signal,Macd_price,MODE_MAIN,i);

double MACDsig = iCustom(Symbol(),0,"MyMACD",Macd_fast,Macd_slow,Macd_signal,Macd_price,MODE_SIGNAL,i);

double Bbands = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,PRICE_CLOSE,2);

double Ma_Bid_Diff = MathAbs(MA_Signal - Bid)/vPoint;

if ( MA_Signal>MA_Signala ) if ( MACD>0 && MACD>MACDsig ) if (Bbands MAOpenDistance && Bid > MA_Signala ) Signal = 1;

if ( MA_Signal<MA_Signalb ) if ( MACD<0 && MACDMA_Signal) if ( Ma_Bid_Diff > MAOpenDistance && Bid < MA_Signalb ) Signal = -1;

还有一个问题是关于 "BBands_Stop_v2",这个数字后面是什么?

很抱歉给你带来麻烦,因为我正在学习如何编码,很多事情都搞不清楚

stevenpun

对MyMACD abd BBands_Stop_V2的调用是不正确的。自定义指标的最后两个参数必须是缓冲区号码 和移位:你需要在最后一个参数之前再加一个参数,指定检索哪个缓冲区的值。

 
mladen:
stevenpun 对MyMACD abd BBands_Stop_V2的调用是不正确的。自定义指标的最后两个参数必须是缓冲区号码和移位:你需要在最后一个参数之前再加一个参数,以指定要检索的缓冲区值。

谢谢你的回答,我得到了一些答案,但仍有疑惑。

现在我使用缓冲区4和5来识别趋势,但我如何知道我需要投入的移位数?

double Bbands = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,PRICE_CLOSE,4,1); double Bbands2 = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,PRICE_CLOSE,5,2);

在信号部分,我是否需要改变?

关于 "MyMacd",请忽略它,因为我只是把经典的Macd收盘价 改为开盘价来测试而已。

 
stevenpun:
谢谢你的回答,我得到了一些答案,但仍有疑惑。

现在我使用缓冲区4和5来识别趋势,但我如何知道我需要投入的移位数是多少?

double Bbands = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,PRICE_CLOSE,4,1); double Bbands2 = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,PRICE_CLOSE,5,2);

在信号部分,我是否需要改变?

关于 "MyMacd",请忽略它,因为我只是把经典的MACD收盘价改为开盘价来测试而已。

stevenpun

iCustom()调用中的最后一个数字是移位。

如果你想读取自定义指标 的当前条形值,请使用0。如果你想使用第一个关闭的条形值,请使用1作为转移,以此类推...

 
mladen:
stevenpun

iCustom()调用中的最后一个数字是移位。

如果你想读取自定义指标的当前条形值,请使用0。如果你想使用第一个关闭的条形值,请使用1作为转移,以此类推...

所以这两个数字不可能是一样的,对吗?

我需要改变的信号部分是什么?

 
stevenpun:
那么,这两个数字不可能是相同的吧?

stevenpun

BBands_Stop_v2指标最简单的使用方法是使用缓冲区2和3。如果缓冲区2>-1,那么它就是下跌的信号。如果缓冲区3>-1,那么它就是上涨的信号。在这种情况下,你应该使用相同的移位值。

 
mladen:
stevenpun 对于BBands_Stop_v2指标,最简单的方法是使用缓冲区2和3。如果缓冲区2>-1,那么它就是下跌的信号。如果缓冲区3>-1,那么它就是上涨的信号。在这种情况下,你应该使用相同的移位值

谢谢,在TSD真的可以学到很多的编码。

当开始时,我觉得为一个简单的EA编码非常困难,但现在我觉得非常有趣。