如何编码? - 页 121

 
IN10TION:
:: 嗨!检查这个指标
里面的代码...(仅适用于你的开盘时间,它不是一个EA)

谢谢你,兄弟....

我看一下

 
如果它一直在循环,你必须停止调用你的函数,每一个价格刻度进来...检查你的其他代码...
fercan:
有谁能阻止这种循环往复的现象?
 
denis68:
matrixebiz 我已经做了,现在我无法编译我的EA,因为我在我的EA中加入了以下几行

double ac1 = iCustom(NULL, 0, "AcceleratorMod", 1, 1);

double ac2 = iCustom(NULL, 0, "AcceleratorMod", 2, 1);

double ac11 = iCustom(NULL, 0, "AcceleratorMod", 1, 2);

double ac22 = iCustom(NULL, 0, "AcceleratorMod", 2, 2);

bool acbuy = ac2==0 && ac11==0; // 红色变为石灰色

bool acsell = ac1==0 && ac22==0; // Lime 变为 Red。

我得到12个错误。AC变量没有定义。

我想感谢你的帮助。

你不能只添加这些行而不对你的EA代码进行其他必要的修改。

比如你的CloseBuy语句将从以下几点改变。

如果((AC1 < AC2))Order = SIGNAL_CLOSEBUY;

到。

如果((AC1==0 &&AC22==0))Order = SIGNAL_CLOSEBUY。

如果你要使用这些类型的命令。

如果((ac1==0 &&ac22==0))Order = SIGNAL_CLOSEBUY;

那么你就不需要这些了。

bool acbuy = ac2==0 && ac11==0; // 红色变为石灰色

bool acsell = ac1==0 && ac22==0; // Lime changes to Red

我以为你的代码比你做的多。

 
IN10TION:
如果它一直在循环,你必须停止调用你的函数,每一个价格tick进来...检查你的其他代码...

你能给我一个代码,我可以在BEM之前添加吗?

 
::BEM处理你的指标信号,对吗?比如你的点数和BE值是在你代码的其他地方计算的......好吧,在其他地方做这个比较......不要每次都在你的订单之间循环。我没有看到你的其他代码...这取决于你...

解释

fercan:
你能给我一个代码,让我在BEM之前加入吗?
 

我还在纠结于计算我之前帖子中的止损 条。

看一下原始代码,我觉得它可能有缺陷。它似乎是将止损设置在 "x "条的低点上,而不是 "x "条期间的最低点。

它是这样写的。

SL=iLow(Symbol(),Period(),iLowest(Symbol(),Period( ),MODE_LOW,StopLossBars,0));

我不明白为什么它同时使用iLow和iLowest。我认为iLowest本身就是所需的全部,这样的想法是否正确?

 

我的EA的代码还有一个问题。 我有一条线,当满足某些标准时,应该关闭一个头寸。 其中一个标准是,该头寸目前正在亏损。

这就是那条线。

if ( (openPositions(OP_BUY)>0) && (OrderProfit( ) <= 0 )&& (macdnow macd_sigprevious)) {closeLong();}.

该EA的工作原理是,当其他条件得到满足时,它当然会关闭亏损的头寸。 但由于某些原因,该EA也关闭了胜利的头寸。 我想我对OrderProfit函数 的使用是不正确的。

谁能帮帮我?

 

赢赢

嘿,伙计们。

咿咿呀呀的叫声

 

现在,这个指标将大于或等于前一个开盘的条形图显示为绿色,低于前一个开盘的条形图显示为红色。我的问题是,我如何改变这段代码,使与前一个开盘价相等的开盘价显示为黄色?

if( X01 >= X02 ) { color_X01 = Lime ; } else { color_X01 = Red ; }

if( X02 >= X03 ) { color_X02 = Lime ; } else { color_X02 = Red ; }

if( X03 >= X04 ) { color_X03 = Lime ; } else { color_X03 = Red ; }

if( X04 >= X05 ) { color_X04 = Lime ; } else { color_X04 = Red ; }

if( X05 >= X06 ) { color_X05 = Lime ; } else { color_X05 = Red ; }

if( X06 >= X07 ) { color_X06 = Lime ; } else { color_X06 = Red ; }

if( X07 >= X08 ) { color_X07 = Lime ; } else { color_X07 = Red ; }

if( X08 >= X09 ) { color_X08 = Lime ; } else { color_X08 = Red ; }

if( X09 >= X10 ) { color_X09 = Lime ; } else { color_X09 = Red ; }

 
然后定义每条语句不能是什么,也就是不相等......最后对黄色使用相等语句。

解释

fireslayer26:
现在,这个指标将大于或等于前一个开盘的条形图显示为绿色,小于红色。我的问题是,我怎样才能改变这段代码,使与前一个开盘价相等的开盘价显示为黄色?

if( X01 >= X02 ) { color_X01 = Lime ; } else { color_X01 = Red ; }

if( X02 >= X03 ) { color_X02 = Lime ; } else { color_X02 = Red ; }

if( X03 >= X04 ) { color_X03 = Lime ; } else { color_X03 = Red ; }

if( X04 >= X05 ) { color_X04 = Lime ; } else { color_X04 = Red ; }

if( X05 >= X06 ) { color_X05 = Lime ; } else { color_X05 = Red ; }

if( X06 >= X07 ) { color_X06 = Lime ; } else { color_X06 = Red ; }

if( X07 >= X08 ) { color_X07 = Lime ; } else { color_X07 = Red ; }

if( X08 >= X09 ) { color_X08 = Lime ; } else { color_X08 = Red ; }

if( X09 >= X10 ) { color_X09 = Lime ; } else { color_X09 = Red ; }
原因: