任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 865

 
evillive:

不因走出阵列而感到困惑?

就在这里。

另外,"不想显示 "那里的一切,而不仅仅是低[1]。

1
 
mario065:
建议-如何解决这个问题?
用人话解释一下你想从这个脚本中得到什么?
 
evillive:
用人话解释一下,你想从这个剧本中得到什么?

找到从今天开始到现在的成交量指标的 最低/最高值。

如果有一个新的最高/最低值,它就会记住最后一个值。

 

evillive,

谢谢您的关注 :)

 
mario065:

找到从一天开始到现在的成交量指标的最低/最高值。

如果有一个新的最高/最低值,它将记住最后一个值。

这可能是最好的。

//+------------------------------------------------------------------+
#property copyright ""
#property link      ""
int high,low;
datetime timeh,timel;
//+------------------------------------------------------------------+
int init(){  
  return(0);
 }
int deinit(){
  Comment("");
  return(0);
 }  
//-------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnStart(){
    double   spred = MarketInfo(Symbol(),MODE_SPREAD);
    int      limit,Open_bar_per,Close_bar_per,av_vol;
    datetime Time_period,Close_per;
//+------------------------------------------------------------------+
       Time_period   = iTime(Symbol(),PERIOD_D1,0);
       Open_bar_per  = iBarShift(Symbol(),0,Time_period,false);
       Close_per     = iTime(Symbol(),0,0);
       Close_bar_per = iBarShift(Symbol(),0,Close_per,false);
       limit         = Open_bar_per - Close_bar_per;

int hivol_s=iHighest(NULL,0,MODE_VOLUME,limit,1);
int lovol_s=iLowest(NULL,0,MODE_VOLUME,limit,1);
high=iVolume(NULL,0,hivol_s);
low=iVolume(NULL,0,lovol_s);
timeh=iTime(NULL,0,hivol_s);
timel=iTime(NULL,0,lovol_s);
       av_vol = NormalizeDouble(high/3,0);
//+------------------------------------------------------------------+
     Print("\nВреме на брокера: ",TimeToStr(TimeCurrent(),TIME_SECONDS),", Локално време: "+TimeToStr(TimeLocal(),TIME_SECONDS),
             "\nТекущ спред: ",DoubleToStr(spred/10,1),
             "\n High_per  :  ",high,
             "\n Low_per   :  ",low,   
             "\n time_high :  ",TimeToStr(timeh,TIME_SECONDS),
             "\n time_low  :  ",TimeToStr(timel,TIME_SECONDS),
             "\n Close_per :  ",TimeToStr(Close_per,TIME_SECONDS),
             "\n Open_per  :  ",TimeToStr(Time_period,TIME_SECONDS), 
             "\n av_vol    :  ",av_vol
             ); 
  }

我的评论并没有显示出什么,它打印得很好...

 
void CalculateSimpleMA(int rates_total,int prev_calculated,const double &price[])
  {
   int i,limit;
//--- first calculation or number of bars was changed
   if(prev_calculated==0)
   
     {
      limit=InpMAPeriod;
      //--- calculate first visible value
      double firstValue=0;
      for(i=0; i<limit; i++)
         firstValue+=price[i];
      firstValue/=InpMAPeriod;
      ExtLineBuffer[limit-1]=firstValue;
      ExtLineBufferFid[1]=(firstValue*InpMAPeriod-price[i-InpMAPeriod])/i-1; Добрый человек предоставил вот такую реализацию(sma99[i]=(sma100[i]*100-d[i-100])/99;), но что то не выходит!

问候,对重复的问题表示歉意,但有趣的问题!)

如何计算。

拥有一个滑动周期(如16)计算15的周期,从16的周期开始计算。

 
evillive:

这可能是最好的。

我的评论没有显示出一些东西,打印的时候是正常的...

你好,evllive。

那是可能的,但我不需要,我需要一个数组。

你看不到评论,因为你用voidOnStart,而我用intstart。

这是我前几天在评论文件中写的内容,用保加利亚语写的。

我今天会研究一下,看看我们讨论了什么。

谢谢你的反馈。

PS:我又增加了一个文件。

文件H_L-第一个指标,文件_6在身体探索器中,但只画出了。

 
evillive:

这样做可能更好。

评论我有东西不显示,打印输出正常...

说了,也做了。 我还没有把它放在数组中,但一旦我把它转换为外部函数,我就会这样做。

线条画在指标数据的第一个窗口上,如果它是用于体积测量,它需要一个用于体积测量的数据兄弟。

这样,我把Volumet的范围正式分为低、中、高三个部分。

 

晚上好!

你能告诉我我的第一个EA有什么问题吗?在骨折的时候没有显示信息。

//--------------------------------------------------------------------

外部Period_MA=8; // 计算出的MA的周期。

//--------------------------------------------------------------------

int start() // 特殊功能启动

{

double MA_f, // 0 bar上的MA值

MA_s, // 一条杠上的MA值

MA_t, // 两条杠上的MA值

//--------------------------------------------------------------------

// 访问函数 tech.ind。

MA_f =iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,0)。

MA_s =iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,1);

MA_t =iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,2)。

//--------------------------------------------------------------------

如果(MA_t>MA_s<MA_f)

Alert("裂缝在中间向下");//消息

如果(MA_t<MA_s>MA_f)

Alert("从上面开始在中间断开");//消息

//--------------------------------------------------------------------

return; //从start()中退出。

}

//--------------------------------------------------------------------

谢谢你!

 
Top2n:

问候,对重复的问题表示歉意,但有趣的问题!)

如何计算。

拥有一个滑动期(如16)计算周期15,从周期16开始计算。

Y(n+1)=(Y(n)*n+x[n+1])/(n+1),其中Y(i)是i个数值的移动平均,x[i]是数值i。如同时间序列中的数值的编号。

如果你能告诉我你为什么需要这一切,你会非常感激的。