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

 
Nail_Saby писал(а)>>

我从现成的函数http://fxnow.ru/blog.php?user=Yuriy&blogentry_id=66,取了一段带for的代码。

那么return()呢?为了让它发挥作用?

你必须从逻辑开始。你想得到什么以及如何得到。

 

请告诉我为什么不可能将一个MA的价值等同于另一个MA,并在它们相等的情况下进行交易。它只对<=或>=起作用,而对其他方面不起作用。

 
Stanislav.exe >>:

Подскажите почему нельзя приравнять значение одной МА к другой и в случае их равенства открывать сделку. У меня работает только со знаками <= или >=, а никак иначе.

不建议对双变量进行比较

 
sanyooooook писал(а)>>

不建议对double类型的变量进行比较

那么,如果我需要一个交叉点,而不是更多或更少,正确的写法是什么?

还有一件事,是否有可能计算等于:从第一个MA交叉点到它们重新交叉点的时间的交易数量?

如果是,如何...

 
Stanislav.exe >>:

Так как правильно написать если мне нужно именно пересечение, а не больше или меньше?

И ещё один момент можно ли считать количество сделок за время равное: от первого пересечения МА до их повторного пересечения?

Если да то как...

   ma=iMA(NULL,0, MovingPeriod,0,MODE_EMA,PRICE_CLOSE,5);
   ma1=iMA(NULL,0, MovingPeriod1, MovingShift,MODE_EMA,PRICE_CLOSE,5);
   ma2=iMA(NULL,0, MovingPeriod,0,MODE_EMA,PRICE_CLOSE,1);
   ma3=iMA(NULL,0, MovingPeriod1, MovingShift,MODE_EMA,PRICE_CLOSE,1);
//---- sell conditions
   if ( ma1< ma && ma2< ma3) 
     {
      res=OrderSend(Symbol(),OP_SELL, Lots,NormalizeDouble(Bid,Digits),5,0,0,"", MAGICMA,0,Red);
      f=0;
      return;
     }
//---- buy conditions
   if ( ma1> ma && ma2> ma3)
     {
      res=OrderSend(Symbol(),OP_BUY, Lots,NormalizeDouble(Ask,Digits),5,0,0,"", MAGICMA,0,Blue);
      f=0;
      return;
一个版本的代码
 
sanyooooook писал(а)>>
之一的代码变体

谢谢你,Sanyooooook,如果可以的话,请问你的最后一位数字是什么

ma=iMA(....... ...PRICE_CLOSE,.... this 5)

关于交易的数量,是否可以在MA期间将交易的数量设置为只有1或2或3?

 
Stanislav.exe >>:

Спасибо sanyooooook, если можно, что означает последняя цифра в

ma=iMA(....... ..PRICE_CLOSE,.... вот эта пятёрочка 5);

И ещё на счёт количества сделок, можно прописать, чтоб их было например только 1 или 2..3 за время перечения МА

在MetaEditor中,高亮显示你感兴趣的文本,这里是iMA,然后按F1,高亮显示的行的信息将出现在窗口底部

 
sanyooooook писал(а)>>

在元编辑器中,突出显示你感兴趣的文本,在这种情况下是iMA,然后按F1,突出显示的行的信息将出现在窗口的底部。

移位 - 从指标缓冲区获得的数值的索引(相对于当前条形图,向后移动指定的周期数)。

如何用俄语来理解我的朋友,我已经读过了,但我不能理解它......

 
Stanislav.exe >>:
shift - Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Как это по русски понять дружище, я это уже читал всё равно допереть не могу...

简单地说,这是指标信号所来自的条形图的编号。当前条形图为零,那么计数就会深入到历史。

 

以不同的方式检查交叉点更容易和更快。

   ma11=iMA(NULL,0, MovingPeriod,0,MODE_EMA,PRICE_CLOSE,1);
   ma12=iMA(NULL,0, MovingPeriod,0,MODE_EMA,PRICE_CLOSE,2);
   ma21=iMA(NULL,0, MovingPeriod1,0,MODE_EMA,PRICE_CLOSE,1);
   ma22=iMA(NULL,0, MovingPeriod1,0,MODE_EMA,PRICE_CLOSE,2);
   if (( ma11- ma12)*( ma21- ma22)<0) {
       //пересечение есть
       if ( ma11> ma21)  // Пересечение вверх
       if ( ma11<ma21)  // Пересечение вниз
   }
速度更快。逻辑上复杂的表达方式比简单的表达方式需要更长的时间。乘法的速度比逻辑的速度快
原因: