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

 
没有。
 

这个问题:标准的OA指标使用了2个额外的索引缓冲区,这些缓冲区 不参与渲染指标。

//+------------------------------------------------------------------+
//|                                                  Accelerator.mq4 |
//|                      Copyright © 2005, MetaQuotes Software Corp. |
//|                                       http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property  copyright "Copyright © 2005, MetaQuotes Software Corp."
#property  link      "http://www.metaquotes.net/"
//---- indicator settings
#property  indicator_separate_window
#property  indicator_buffers 3
#property  indicator_color1  Black
#property  indicator_color2  Green
#property  indicator_color3  Red
//---- indicator buffers
double     ExtBuffer0[];
double     ExtBuffer1[];
double     ExtBuffer2[];
double     ExtBuffer3[];
double     ExtBuffer4[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- 2 additional buffers are used for counting.
   IndicatorBuffers(5);
//---- drawing settings
   SetIndexStyle(0,DRAW_NONE);
   SetIndexStyle(1,DRAW_HISTOGRAM);
   SetIndexStyle(2,DRAW_HISTOGRAM);
   IndicatorDigits(Digits+2);
   SetIndexDrawBegin(0,38);
   SetIndexDrawBegin(1,38);
   SetIndexDrawBegin(2,38);
//---- 4 indicator buffers mapping
   SetIndexBuffer(0, ExtBuffer0);
   SetIndexBuffer(1, ExtBuffer1);
   SetIndexBuffer(2, ExtBuffer2);
   SetIndexBuffer(3, ExtBuffer3);
   SetIndexBuffer(4, ExtBuffer4);
//---- name for DataWindow and indicator subwindow label
   IndicatorShortName("AC");
   SetIndexLabel(1,NULL);
   SetIndexLabel(2,NULL);
//---- initialization done
   return(0);
  }
//+------------------------------------------------------------------+
//| Accelerator/Decelerator Oscillator                               |
//+------------------------------------------------------------------+
int start()
  {
   int    limit;
   int    counted_bars=IndicatorCounted();
   double prev, current;
//---- last counted bar will be recounted
   if( counted_bars>0) counted_bars--;
   limit=Bars- counted_bars;
//---- macd counted in the 1-st additional buffer
   for(int i=0; i& lt; limit; i++)
      ExtBuffer3[ i]=iMA(NULL,0,5,0,MODE_SMA,PRICE_MEDIAN, i)-
                    iMA(NULL,0,34,0,MODE_SMA,PRICE_MEDIAN, i);
//---- signal line counted in the 2-nd additional buffer
   for( i=0; i< limit; i++)
      ExtBuffer4[ i]=iMAOnArray( ExtBuffer3,Bars,5,0,MODE_SMA, i);
//---- dispatch values between 2 buffers
   bool up=true;
   for( i= limit-1; i>=0; i--)
     {
      current=ExtBuffer3[ i]- ExtBuffer4[ i];
      prev=ExtBuffer3[ i+1]- ExtBuffer4[ i+1];
      if( current> prev) up=true;
      if( current& lt; prev) up=false;
      if(! up)
        {
         ExtBuffer2[ i]= current;
         ExtBuffer1[ i]=0.0;
        }
      else
        {
         ExtBuffer1[ i]= current;
         ExtBuffer2[ i]=0.0;
        }
       ExtBuffer0[ i]= current;
     }
//---- done
   return(0);
  }
//+------------------------------------------------------------------+

正如你所看到的,在这些数组中只进行计算。我不明白为什么这些数组要被赋予索引缓冲区的地位?

 
neoclassic писал(а)>>

这个问题:标准的OA指标使用了2个额外的索引缓冲区,这些缓冲区不参与渲染指标。

正如你所看到的,在这些数组中只进行计算。我不明白,为什么这些数组需要被赋予索引缓冲区的地位?

来设置数组的大小!

 

论坛的用户们,你们好!

我是一个完全的MQL程序员。但我希望能有这样一个简单的EA。开启了一些地段的姿势。我立即设置了一个固定的止损(20-30点)。在达到一定的利润(20-30点)后,我们关闭部分头寸(50%),对于剩余的头寸,止损点被移至Breakeven。对于剩余的头寸,会下一个获利订单,或者手动监控。这里有一个想法。如果能得到答案,我将非常感激。

 
vvavva >> :

来设置数组的大小!

但如果你需要使用大量的数组,该怎么做?>> (8个以上)

 

使用常规数组而不是缓冲数组

而不是

SetIndexBuffer(3,ExtBuffer3);SetIndexBuffer(4,ExtBuffer4)。

使用

ArrayResize(ExtBuffer3,Bars); ArrayResize(ExtBuffer4,Bars)。

 
keekkenen >> :

使用常规数组而不是缓冲数组

而不是

SetIndexBuffer(3,ExtBuffer3);SetIndexBuffer(4,ExtBuffer4)。

使用

ArrayResize(ExtBuffer3,Bars); ArrayResize(ExtBuffer4,Bars)。


谢谢你!!!。

 
neoclassic писал(а)>>

如果需要使用大量的数组怎么办?(8个以上)

用于在指标中绘图的数组不能超过指定的限制(我想是8个)!

用于计算的数组也有限制,但数字更大!"。

为了绕过使用数组的限制,你需要使用库!

 
我有一个问题。是否有可能做一个新闻服务员。比方说,今天会有新闻,具体时间不知道,大概的文字一个字,我需要一个更长更响的提示音就可以了。
 
你好,请告诉我为什么当一个新的柱子 还没有开始形成时,变量k=Bars可能会发生变化(任何可能的情况),比如你改变了货币对、时间框架、一些MT4更新或在dc中。
原因: