编码帮助 - 页 338

 
Maine:
你好。

我想检查我最近的三次卖出或买入交易是否盈利,并根据它改变一个字符串值。

我有这样的代码(MT4)。

for(int i=(OrdersHistoryTotal()-1);i>=0;i--);

{

OrderSelect(i, SELECT_BY_POS,MODE_HISTORY);

if(OrderSymbol()==Symbol() && OrderMagicNumber()==BUY)

{

//for buy order

if(OrderType()==OP_BUY && OrderProfit()>0) last=1;

if(OrderType()==OP_BUY && OrderProfit()<0) last=0;

}

}

for(int j=(OrdersHistoryTotal()-1);j>=0;j--);

{

OrderSelect(j, SELECT_BY_POS,MODE_HISTORY);

if(OrderSymbol()==Symbol() && OrderMagicNumber()==SELL)

{

//for sell order

if(OrderType()==OP_SELL && OrderProfit()>0) last2=1;

if(OrderType()==OP_SELL && OrderProfit()<0) last2=0;

}

}

但它对我不起作用。

我应该如何修改它?

谢谢你的帮助。

这两行试图做什么(在你的代码中BUY和SELL是什么--或者你根本没有尝试编译--因为BUY和SELL不是预定义的常数)。此外,OrderMagicNumber()是一个神奇的数字而不是订单的类型。

OrderMagicNumber()==BUY

OrderMagicNumber()==SELL

 

大家好。

我做了一个stepma专家,我使用这个。

int trendCurr = iCustom(s_symbol,StepMaTimeFrame,"Stepma",Length,Kv,StepSize,MA_Mode,Advance,Percentage,UpDownShift,HighLow,ColorMode,5,StepMaBarToTest );

int trendPrev = iCustom(s_symbol,StepMaTimeFrame,"Stepma",Length,Kv,StepSize,MA_Mode,Advance,Percentage,UpDownShift,HighLow,ColorMode,5,StepMaBarToTest+1);

if (trendCurr > 0 && trendPrev < 0) SendLong = true;

if (trendCurr 0) SendShort = true;

现在我需要帮助,如果我想在stepma上交易价格的回撤,我可以使用什么样的代码?

如果价格触及stepma,它将以stepma颜色的方式进入。

谢谢!

 
albert666:
大家好。

我做了一个stepma专家,我使用这个。

int trendCurr = iCustom(s_symbol,StepMaTimeFrame,"Stepma",Length,Kv,StepSize,MA_Mode,Advance,Percentage,UpDownShift,HighLow,ColorMode,5,StepMaBarToTest );

int trendPrev = iCustom(s_symbol,StepMaTimeFrame,"Stepma",Length,Kv,StepSize,MA_Mode,Advance,Percentage,UpDownShift,HighLow,ColorMode,5,StepMaBarToTest+1);

if (trendCurr > 0 && trendPrev < 0) SendLong = true;

if (trendCurr 0) SendShort = true;

现在我需要帮助,如果我想在stepma上交易价格的回撤,我可以使用什么样的代码?

如果价格触及stepma,它将以stepma颜色的方式进入。

谢谢!

阿尔伯特666

对于这一点,你必须将价格与台阶值进行比较(不只是台阶值的趋势。但由于价格几乎从不与指标值相同,所以你会有问题,+你可能最终得到滞后的信号(因为你必须比较3个柱子,最新的柱子必须被确认 ,否则你会得到大量的错误信号

 

你好,阿尔伯特。

我也在考虑同样的想法。

谢谢Mladen的回答,也许我们可以使用条形图的收盘价,这也许会更容易?

 
Big Joe:
你好,阿尔伯特。

我也是,我也在考虑同样的想法。

谢谢Mladen的回答,也许我们可以使用一个条形图的收盘价,这也许会更容易?

回调在事后看来是好的,但是,只是为了提醒你:每一个趋势变化都是一个潜在的回调。试着在运行时间内预测它是回撤还是趋势变化,你就会明白我的意思了。

 
mladen:
albert666 为此,你必须将价格与stepma值进行比较(不仅仅是stepma趋势。但由于价格几乎不可能与指标值相同,你会遇到问题,+你可能最终会出现滞后的信号(因为你必须比较3个柱子,最新的柱子必须被确认 ,否则你会得到很多错误的信号

谢谢你,Mladen先生,我明白你的意思,这听起来确实很疯狂,但你能不能给我一些关于编码的提示。

我完全不明白,我应该用Bid()和Ask()吗?

谢谢。

 
mladen:
阿尔法24

你不需要一个新的指标来实现

使用已经在独立窗口中的任何ma,然后只需将布林带拖到该子窗口,并选择以前的指标数据作为价格字段。

姆拉登先生

看来你太忙了,或者说你没有兴趣去做。我的要求是非常小和简单的。小而简单的东西有更大的潜力,这是我在技术分析 中学到的。

 
alpha24:
Mladen先生,看来你太忙了,或者不感兴趣。我的要求是非常小而简单的。在小而简单的事情上有更多的潜力,这是我在技术分析中所学到的东西,无论如何,谢谢你。

alpha24

我无法理解你的帖子

我已经向你解释了你如何能够简单地获得你所需要的东西。那么问题出在哪里?你不喜欢这个解决方案(顺便说一下,这正是你所描述的,而且是最简单的)?我根本看不出有什么问题,因为你的帖子已经得到了正确的解决方案。

问候

 
albert666:
谢谢你,Mladen先生,我明白你的意思,这听起来确实很疯狂,但你能不能给我一些关于编码的提示。

我完全不明白,我应该用Bid()和Ask()吗?

谢谢。

albert666

我想建议的是,你尝试在运行时估计反弹(不是在历史数据上,而是在第一个关闭的条形图上最大限度地估计)一段时间,这应该使你更清楚地了解在猜测反弹时的确切问题。这个确切的猜测游戏也需要由EA来完成。

 
alpha24:
Mladen先生,看来你太忙了,或者没有兴趣去做。我的要求是非常小和简单。在小而简单的事情上有更多的潜力,这是我在技术分析方面学到的。

这里是一个单独窗口中的旧移动平均线:moving_averages_sw.mq4

在新的metatrader中也可以使用,尽管它是一个非常老的产品。

附加的文件: