[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 331

 

对于罗杰来说。

不去卖,我不去卖,我对钱都很有兴趣。我想分享想法,了解我愚蠢的原因 ))

 

请告知如何通过iCustom调用自定义 AO和AC指标。以及如何通过iCustom编写以下条件。预先感谢你。


if (iAO(NULL,0,i) > iAO(NULL,0,i+1) && iAC(NULL,0,i)> iAC(NULL,0,i+1))
{ }
else
if (iAO(NULL,0,i) < iAO(NULL,0,i+1) && iAC(NULL,0,i) < iAC(NULL,0,i+1))

 
Stepan241 >> :

伙计们,下午好。

我在一个论坛上看到了一个趋势检测器。作者声称它能很好地显示趋势,并能帮助我创建一个振荡器系统。但他直接在他的专家顾问中实现了这一点。我试图在此基础上做一个指标。我想看看它的计算是否正确。

我引用作者的话。

-----------------------------------------------

我没有想到我的这一发现会有如此好的结果。不小心弄瞎了它--把它放上去。甚至还从惊讶中跳了起来!

这种方法在这里也略有讨论--这里 https://www.mql5.com/ru/forum/105321/page11



 

大家下午好。

你能告诉我如何计算某一水平的价格的交叉点的数量吗?我想让我的订单在3(4,5......)之后打开,但不是在第一次交叉之后。

谢谢你。

 
请告诉我如何书写以下条件。如果当前价格 低于当天的平均价格,那么....。其次,如果当日14.56(例如)的价格高于当前价格,那么...如果能得到一个答案,将是非常有趣的。我自己还不能解决这个问题。提前感谢。
 
future >> :
请告诉我如何书写以下条件。如果当前价格低于当天的平均价格,那么....。其次,如果当日14.56(例如)的价格高于当前价格,那么...如果能得到一个答案,将是非常有趣的。我自己还不能解决这个问题。提前感谢。
extern string xxxxxxxxxxxxx="x=0 сегодня х=1 вчера итд";
extern int х=0;
int середина=(iHigh(0,PERIOD_D1, х)-iLow(0,PERIOD_D1, х))/2;
if(Bid> середина)...;
if(Ask< середина)...;


extern datetime some_time=D'14:56';
int середина_some_time=(iHigh(0,0,iBarShift(0,0, some_time))-iLow(0,0,iBarShift(0,0, some_time)))/2;
if(Bid> середина_some_time)...;
if(Ask< середина_some_time)...;
 
skifodessa >> :

大家下午好。

你能告诉我如何计算价格越过某一水平的次数吗?我想在3(4,5......)之后开单,但不是在第一个水平交叉之后。

谢谢你。

我明白,条件将是有限的时间!(第三次穿越将于明天到来 ))))

我建议在条件中增加高级名声的数据。(如果M5...M30则H1...H4)

比如说

if(ССI(M5)>0 && CCI(H1)>0 ) OpenB();
 
Stepan241 писал(а)>>

伙计们,下午好。

在一个论坛上,我看到了一个趋势指示器......

https://www.mql5.com/ru/forum/105321/page11#53278

 
Necron >> :

请告知如何通过iCustom调用一个自定义指标AO和AC。 以及如何通过iCustom指定以下条件。提前感谢。


if (iAO(NULL,0,i) > iAO(NULL,0,i+1) && iAC(NULL,0,i)> iAC(NULL,0,i+1))
{ }
else
if (iAO(NULL,0,i) < iAO(NULL,0,i+1) && iAC(NULL,0,i) < iAC(NULL,0,i+1))

为什么你需要通过iCast打电话给他们呢?是为了统一吗?好吧,为它们中的每一个写一个单独的指标-包装,并使用iCustom来调用它们...

 
skifodessa >> :

大家下午好。

你能告诉我如何计算价格越过某一水平的次数吗?我希望我的订单在3(4,5......)之后打开,但不是在第一个水平交叉点之后。

谢谢。

例如,这里有一个普遍的变体。顺便说一下,如果有一个检测交叉口的功能,那就很有用了。

int Cross(double a[], double level, int pos)
{
   if( a[ pos]< level&& a[ pos+1]> level) return(-1);
   if( a[ pos]> level&& a[ pos+1]< level) return(1);
   return(0);
}

即:如果穿越是向上的,它是1,如果是向下的,它是-1,否则它是0。

现在计数(条数_限值-最大时间差)。

int count=0;
for ( i=0; i< bars_limit; i++)
{
   if( Cross( a, level, i)==1) count++;// ну или -1 если пересечения вниз считаем
}

if( count>=3) //4,5,...
{
...
}
原因: