Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 959

 
rapid_minus :

Merhaba!

Uzman Danışmanımın kodunda bir hata arıyordum ve bir yanlış anlaşılmayla karşılaştım - OnTick() işlevindeki if() deyimini test ederken yalnızca bir kez çalışıyor, sonraki tik ve çubuklarda çalışmıyor.

Niye ya? Ekli kod parçasında yanlış olan nedir?

Değişkenlerin yeniden atandığı yere bakın. Her şeyden önce, ClsS'nin nerede = false olduğunu bulun; ve yapılır mı?
 
AlexeyVik :
Değişkenlerin yeniden atandığı yere bakın. Her şeyden önce, ClsS'nin nerede = false olduğunu bulun; ve yapılır mı?
ClsS = global değişkenlerde false . Aha! Anlaşıldı - yanlışı doğru olarak değiştiriyorum. Hadi kontrol edelim...
 

İŞLER! TEŞEKKÜR ETMEK!

Gidip daha fazla kontrol edeceğim. Tekrar teşekkürler.

 
Tekrar yardım rica ediyorum... Açılma/kapanma kriterlerini kontrol etmek belirtilen şartlara göre görünüşlerini gösteriyor fakat daha ileri gittiğimde alarm orada yok diyor. Burada da bir şey mi kaçırıyorum?
 //----------------------------------------------------------------------------------- 8 -- Открытие ордеров

     while (Ticket== 0 )                                             // Цикл открытия ордеров
     {
       if (OpnB != true || OpnS != true )
         {
           Alert ( "Отсутствуют критерии открытия позиций" );
           return ;                                             // Выход из OnTick()
         }
       if (Total== 0 ) Alert ( "открытых ордеров нет" ); 

       if (Total== 0 && OpnB == true )                         // Если открытых ордеров нет и есть критерий открытия БАЙ...
       {

        SL = Bid - New_Stop(StopLoss)* Point ;                 // СЛ открытия
        TP = Bid + New_Stop(TakeProfit)* Point ;               // ТП открытия
         Alert ( "Попытка открыть БАЙ. Ожидание ответа..." );
        Ticket= OrderSend (Symb,OP_BUY,Lots,Ask, 2 ,SL,TP,Blue); // Открытие БАЙ
         if (Ticket> 0 )                                       // Если получилось...
         {
           Alert ( "Открыт ордер БАЙ №" ,Ticket);
         break ;                                               // Выход из while
         }
 
gince :

göstergede programlı olarak nasıl yapılır?

asistanda nasıl soracağımı bilmiyorum.

Belki birileri buraya belirli bir bağlantı veya anahtar kelimeler atar.

Grafik Özelliklerine Bakın ChartGetInteger () ve CHART_WINDOW_IS_VISIBLE

 

Hepinize iyi günler! Ve şimdi soru sıra dışı ..... Başlat işlevini sunuyorum. Soru, her yeni çubukta N değişkeninin neden iki katına çıktığıdır. Her yeni çubukla, ancak bunu SADECE yeni bir sinyal geldiğinde yapmalı???

Geliştiriciler buna ne diyecek???

 int start()
 { 
   int i,limit,K;
   int counted_bars=IndicatorCounted();

//  double R,P,N,Zscore,Nprof,Nloose;
//limit=Bars-100;

if (b!= Bars ){
b= Bars ;
//Sleep(3000);

double ldt_BeginDay = iTime ( NULL , PERIOD_D1 , 20 ); 
double limit1 = iBarShift ( NULL , 0 , ldt_BeginDay);

   if (counted_bars< 1 ) limit=limit1-counted_bars;
   else limit=limit1;

 for (i=limit; i>= 1 ; i--)   
      {
       double Profit=( iCustom ( NULL , 0 , "TDSEQUENTA v2015" , 5 , 8 , 12 , 0 ,i)); 
       double CurSignal=( iCustom ( NULL , 0 , "TDSEQUENTA v2015" , 5 , 8 , 12 , 6 ,i)); 
if (CurSignal!= 0 ){      
   /*   
if (curDay!=TimeDay(Time[i])) {
curDay=TimeDay(Time[i]);
double AAA=ProfitFactor;
}*/
      
   
       if ((Profit> 0 )&&(CurSignal!= 0 ))  {Nprof=Nprof+ 1 ;
       if (LastProfit<= 0 ) R=R+ 1 ;
                                                      SredP1=SredP1+Profit;
                                                      GrosProf=GrosProf+Profit;
                                                     } else Nprof=Nprof;
                                                     
       if ((Profit< 0 )&&(CurSignal!= 0 ))  { Nloose=Nloose+ 1 ;
       if (LastProfit>= 0 ) R=R+ 1 ;
                                                      SredL1=SredL1+(Profit*- 1 );                                                    
                                                      GrosLoose=GrosLoose+(Profit*- 1 );
                                                     } Nloose=Nloose;
       if (Nloose> 0 )SredL=SredL1/Nloose;
       if (Nprof> 0 ) SredP=SredP1/Nprof;
      
       // if (Profit>0) Sred=Sred+Profit; else Sred=Sred+(Profit*-1);                                                                                                                                                    
       N=Nprof+Nloose;
       P= 2 *Nprof*Nloose;
     // if (Body!=LastBody)N=N+1;   
     //   if (CurSignal!=0)K=K+1;
       
       // if (CumDel!=0)Volum=AD/CumDel;
       if (((Nprof+Nloose)> 5 )&&(SredL!= 0 )) MO=( 1 +(SredP/SredL))*((Nprof/(Nprof+Nloose))- 1 ); //MO
       //////////стандартное отклонение//////////
       if ((N> 0 )&&(LastProfit!=Profit))Sred1=Sred1+((Profit-(Sred/N))*(Profit-(Sred/N)));
       if ((N> 2 )&&(LastProfit!=Profit)) Sred2= sqrt (Sred1/(N- 1 ));
       if ((Sred2> 0 )) Sharp=MO/Sred2;
       
       
       if (GrosLoose> 0 ) ProfitFactor=GrosProf/(GrosLoose); //ProfitFactor
       
       if ((N> 2 )&&(P> 5 )) Zscore=(N*(R- 0.5 )-P)/ sqrt ((P*(P-N))/(N- 1 )); // Zscore
       
       if ((SredL> 0 )&&(SredP> 0 )&&(P> 5 ))  Kelli=(( 1 -(Nprof/N))/(SredP/SredL))-(Nprof/N);
     //Buffer0[i+1]=ProfitFactor;
    }
    
   //  Buffer1[i]=Kelli-LastKelli;
     //Buffer2[i]=Zscore-LastZscore;
     Buffer2[i]=N;
       // if ((Profit1>0)) Buffer3[i]=1; else Buffer3[i]=0;
   //      if ((Profit1<0)) Buffer5[i]=1; else Buffer5[i]=0;
     // Buffer4[i]=Sharp;
         //Buffer5[i]=HC;
   //      Buffer6[i]=LC;
  
  
   /*
  if (Buffer2[i]>0){
                     if (Profit>0.000){
                                 if (CurSignal>0) Buffer3[i]=1;
                                 if (CurSignal<0) Buffer3[i]=-1;
                                   }
                     if (Profit<0.000){
                                 if (CurSignal>0) Buffer3[i]=-1;
                                 if (CurSignal<0) Buffer3[i]=1;
                                   }
                   } 
  if (Buffer2[i]<0){
                     if (Profit>0.000){
                                 if (CurSignal>0) Buffer3[i]=-1;
                                 if (CurSignal<0) Buffer3[i]=1;
                                   }
                     if (Profit<0.000){
                                 if (CurSignal>0) Buffer3[i]=1;
                                 if (CurSignal<0) Buffer3[i]=-1;
                                   }
                   }*/
 /*
  
        LastPF=ProfitFactor;
        LastMO=MO;
        LastZscore=Zscore;
        LastSTD=STD;
        LastKelli=Kelli;
        LastSharp=Sharp;
        LastVolume=Volum;
        LastProfit=Profit;
        LastPF=ProfitFactor;*/
       // Zscore=0;
        
        } 
    
     }
 return ( 0 );    
     }
 

Merhaba!

Belki birileri zaten böyle bir sorunla karşılaştı ve nedenini ve çözümünü biliyor mu?

EA, test cihazında iyi çalışır ve mevcut kotasyonlarda etkinleştirildiğinde, kriterlere göre açılan pozisyon bir sonraki KAYIP GİDİYOR tikinde kapatılır (Artı işareti etkilemez). Dış müdahalenin tam izlenimi. Buradaki sorun ne olabilir? Teşekkür ederim.

 
rapid_minus :

Merhaba!

Belki birileri zaten böyle bir sorunla karşılaştı ve nedenini ve çözümünü biliyor mu?

EA, test cihazında iyi çalışır ve mevcut kotasyonlarda etkinleştirildiğinde, kriterlere göre açılan pozisyon bir sonraki KAYIP GİDİYOR tikinde kapatılır (Artı işareti etkilemez). Dış müdahalenin tam izlenimi. Buradaki sorun ne olabilir? Teşekkür ederim.

Kod olmadan sadece medyumlar yardımcı olacaktır. Bir yerde ip vardı. soru sormak lazım
 
Tabii ki, müdahale dışarıdan ise, o zaman sadece medyumlara.
 
Vinin :
Kod olmadan sadece medyumlar yardımcı olacaktır. Bir yerde ip vardı. soru sormak lazım

"Şaka mizahı" her zaman bir artıdır!

Kodun tamamı buraya gönderilemeyecek kadar büyük. Ancak şablon olarak Sleptsov'un hazır danışmanı kullanılarak yazılmıştır. Ticaret kriterleri için yalnızca gösterge yığınlarını ve kendi koşullarımı ekledim. Nedeni hala bazı ön kod ayarlarında olduğunu düşünüyorum, ancak bunları orijinaliyle tamamen aynı buldum.