[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 289

 
你需要确定除了IndicatorEmptyValue()之外,指标缓冲区 上是否有一个值,对于90%==0的箭头,会有你的箭头。 并从调用中删除 "true"。
 

不会有山,如果。

int start(){
 if(Depth>Bars-1) Depth=Bars-1;
 double RVI=0;// Обратите внимание - нет нужды объявлять переменную на каждой итерации цикла!
        for(int i=1; i<Depth; i++){
                RVI = iRVI(NULL,0,ExtRVIPeriod,MODE_MAIN,i); 
                if(RVI < mini){
                        mini=RVI;
                        Alert("На свече ",i," mini = ",mini);
                }
                if(RVI > maxi){
                        maxi=RVI;
                        Alert("На свече ",i," maxi = ",maxi);
                }
        }
return(0);
}// Автору ведь нужно всего лишь небольшой период, а не все барсы :)
 
手册,请将论坛设置中的标签尺寸设置为2-3个空格。你插入代码,而括号里的内容天知道去了哪里...。
 
作者需要在其循环的输出端获得最大值和最小值,并在EA.更好的冗余代码,比冗余的gemor。
 

可以从start()函数中调用 deinit()函数 吗?例如,我想让Expert Advisor在满足指定条件时自行卸载。

 
FAQ:
作者需要在其循环的输出端获得最大和最小的值,在EA.更好的冗余代码,比冗余的痛苦。


我明白了,也许我做得过头了,没有专心致志地阅读任务--这一天太漫长了--疲劳使然。

作者需要在他们的循环输出中获得最大和最小的值,多余的代码比多余的混乱更好。

 
skyjet:
对不起,有人能帮助我吗?))
下面是Integer 的EA中的一段代码,显示了与箭头指标 的工作情况。
         double bv=iCustom(NULL,0,"MaSignalFunction",0,1);//стрелка "Вверх" в буфере №0
         double sv=iCustom(NULL,0,"MaSignalFunction",1,1);//стрелка "Вниз"  в буфере №1
         bool BuySignal=false;
         bool SellSignal=false;
            if(bv!=0 && bv!=EMPTY_VALUE){
               BuySignal=true;
            }
            if(sv!=0 && sv!=EMPTY_VALUE){
               SellSignal=true;
            }
            
            if(BuySignal || SellSignal){
               //если разрешено обратное закрытие, вызывается ф-ия закрытия встречных ордеров 
               if(CloseOnRev)fOrderCloseMarket(SellSignal,BuySignal);
               int BuyCount,SellCount;
               int Total=fMarketOrdersTotal(BuyCount,SellCount);
                  if(Total==-1){
                     return(0);
                  }
                  if(Total<MaxCount || MaxCount==-1){
                     if(BuySignal){
                        if(BuyCount<MaxBuyCount || MaxBuyCount==-1){
                           if(LastBuyTime!=iTime(NULL,TimeFrame,0)){
                              Print("BuySignal ",CommentOrder);                          
                              fOrderOpenBuy();//вызывается ф-ия открытия buy
                           }  
                        }
                     }
                     if(SellSignal){
                        if(SellCount<MaxSellCount || MaxSellCount==-1){
                           if(LastSellTime!=iTime(NULL,TimeFrame,0)){
                              Print("SellSignal ",CommentOrder);
                              fOrderOpenSell();//вызывается ф-ия открытия sell                           }
                        }
                     }
                  }
                  
            }
            
  
 
silhouette:

可以从start()函数中调用deinit()函数吗?例如,我想让Expert Advisor在满足指定条件时自行卸载。


你不能从EA开始调用去初始化,但你可以给出一个命令,使用返回来停止
 
granit77:
下面是Integer 的EA的代码片段,显示了与箭头指标的工作。



非常感谢您!一切都变得更清晰了。

如果我理解正确,在创建一个指标函数并在专家顾问中提到它之后,我使用iCustom访问指标缓冲区

 
silhouette:

可以从start()函数中调用deinit()函数吗?例如,我想让Expert Advisor在满足指定条件时自行卸载。


调用deinit不会停止EA。这段代码将帮助你。

PostMessageA(WindowHandle(Symbol(),Period()), WM_COMMAND, 33050, 0);