[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 291

 
Afedersiniz, biri bana yardım edebilir mi? ))
 
Gösterge arabelleğinde IndicatorEmptyValue() dışında bir değerin varlığını belirlemeniz gerekir; bu, %90 == 0'daki oklar için, okunuz orada olacaktır. ve aramadan "true" ifadesini kaldırın.
 

Şu durumlarda dağ olmaz:

 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 );
}// Автору ведь нужно всего лишь небольшой период, а не все барсы :)
 
Manuel, lütfen forum ayarlarında sekme boyutunu 2-3 boşluk olarak ayarlayın. Sonra kodu eklersiniz ve parantezler havada süzülür, Tanrı bilir nerede ...
 
Yazarın, döngülerinin çıktısında ve Expert Advisor'da maksimum ve minimum değerleri alması gerekir. daha iyi yedek kod. aşırı hemoroid daha.
 

start() işlevinden deinit() işlevini çağırmak mümkün müdür? Örneğin, belirtilen koşullar oluştuğunda Expert Advisor'ın kendisini boşaltmasını sağlamak istiyorum.

 
FAQ :
Yazarın, döngülerinin çıktısında ve Expert Advisor'da maksimum ve minimum değerleri alması gerekir. daha iyi yedek kod. aşırı hemoroid daha.


Apaçık. Belki de çok akıllıydım ve görevi dikkatsizce okudum - bugün kolay bir gün değildi - yorgunluk canımı yakıyor.

Lütfen yöneticiye editör ayarlarındaki tablolamayı azaltmasını söyleyin - gerçekten, gerçekten, her seferinde forum editöründe kodu düzenlemek gerçekten elverişsizdir.

 
skyjet :
Afedersiniz, biri bana yardım edebilir mi? ))
İşte tamsayı EA'dan ok göstergesiyle nasıl çalışılacağını gösteren bir kod parçası.
         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() işlevinden deinit() işlevini çağırmak mümkün müdür? Örneğin, belirtilen koşullar oluştuğunda Expert Advisor'ın kendisini boşaltmasını sağlamak istiyorum.


Danışmanın başlangıcından başlatmayı iptal etmek imkansızdır, ancak bir dönüş yardımı ile çalışmayı durdurma komutunu verebilirsiniz.
 
granit77 :
İşte tamsayı EA'dan ok göstergesiyle nasıl çalışılacağını gösteren bir kod parçası.



Çok teşekkürler! Her şey daha net hale geldi.

Doğru anladıysam, bir gösterge işlevi oluşturup bunu iCustom kullanarak Expert Advisor'da belirttikten sonra, gösterge arabelleklerine dönüyorum?