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);
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);
你好。
我想检查我最近的三次卖出或买入交易是否盈利,并根据它改变一个字符串值。
我有这样的代码(MT4)。
{
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颜色的方式进入。
谢谢!
大家好。
我做了一个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的回答,也许我们可以使用条形图的收盘价,这也许会更容易?
你好,阿尔伯特。
我也是,我也在考虑同样的想法。
谢谢Mladen的回答,也许我们可以使用一个条形图的收盘价,这也许会更容易?乔
回调在事后看来是好的,但是,只是为了提醒你:每一个趋势变化都是一个潜在的回调。试着在运行时间内预测它是回撤还是趋势变化,你就会明白我的意思了。
albert666 为此,你必须将价格与stepma值进行比较(不仅仅是stepma趋势。但由于价格几乎不可能与指标值相同,你会遇到问题,+你可能最终会出现滞后的信号(因为你必须比较3个柱子,最新的柱子必须被确认
谢谢你,Mladen先生,我明白你的意思,这听起来确实很疯狂,但你能不能给我一些关于编码的提示。
我完全不明白,我应该用Bid()和Ask()吗?
谢谢。
阿尔法24
你不需要一个新的指标来实现
使用已经在独立窗口中的任何ma,然后只需将布林带拖到该子窗口,并选择以前的指标数据作为价格字段。姆拉登先生
看来你太忙了,或者说你没有兴趣去做。我的要求是非常小和简单的。小而简单的东西有更大的潜力,这是我在技术分析 中学到的。
Mladen先生,看来你太忙了,或者不感兴趣。我的要求是非常小而简单的。在小而简单的事情上有更多的潜力,这是我在技术分析中所学到的东西,无论如何,谢谢你。
alpha24
我无法理解你的帖子
我已经向你解释了你如何能够简单地获得你所需要的东西。那么问题出在哪里?你不喜欢这个解决方案(顺便说一下,这正是你所描述的,而且是最简单的)?我根本看不出有什么问题,因为你的帖子已经得到了正确的解决方案。
问候
谢谢你,Mladen先生,我明白你的意思,这听起来确实很疯狂,但你能不能给我一些关于编码的提示。
我完全不明白,我应该用Bid()和Ask()吗?
谢谢。albert666
我想建议的是,你尝试在运行时估计反弹(不是在历史数据上,而是在第一个关闭的条形图上最大限度地估计)一段时间,这应该使你更清楚地了解在猜测反弹时的确切问题。这个确切的猜测游戏也需要由EA来完成。
Mladen先生,看来你太忙了,或者没有兴趣去做。我的要求是非常小和简单。在小而简单的事情上有更多的潜力,这是我在技术分析方面学到的。
这里是一个单独窗口中的旧移动平均线:moving_averages_sw.mq4
在新的metatrader中也可以使用,尽管它是一个非常老的产品。