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

 
AlexeyVik :
Muhtemelen bu şekilde denemedi.
Kodu EA'larda yeniden derledim ve çalıştırdım. Bir yorumda Sys parametresini değiştirdiğinizde bu değer değişir.

Yine senin seçeneğinle değiştirmeye çalıştım .. hala çalışmıyor ... danışmanlarda ve danışman görünüyor ..
 
peace1984 :

Yine seçeneğinizi değiştirmeye çalıştım .. hala çalışmıyor ... danışmanlarda ve danışman görünür ..


Yoksa bir şeyi yanlış mı anladım???

Dosyalar:
11_1_1.mq4  8 kb
 
AlexeyVik :


Yoksa bir şeyi yanlış mı anladım???



Anladığım kadarıyla sys!=1 ise "sys 1 olmamalı" mesajı çöküyor ve kullanıcıyı 0'dan değiştirirseniz 1'e eşit olmalı ve "sys 1 olmalı" görünmelidir.

danışman versiyonunuzda, test sırasında, sol üst köşede sys=0 yazıyor, ancak öyle olmamalı..

 
peace1984 :

Anladığım kadarıyla sys!=1 ise "sys 1 olmamalı" mesajı çöküyor ve kullanıcıyı 0'dan değiştirirseniz 1'e eşit olmalı ve "sys 1 olmalı" görünmelidir.

Yeni lansmana bakın. Alttan üste sıralar.


Uzman yüklendi

Harici değişkenlerin listesi: Sys = 0

Başlatma Başarılı

sonraki 3 satır EA'dan yazdırılır.

Başlatmama nedeni 5 ( Giriş parametreleri kullanıcı tarafından değiştirilmiştir)

Harici değişkenlerin listesi: Sys = 1

Başlatma Başarılı

sonraki 3 satır EA'dan yazdırılır.

Başlatmama nedeni 1 ( Program tablodan kaldırıldı )


Neyi açıklığa kavuşturmak istiyorsun? Neyin işe yaramadığını anlamıyorum...

ps: bu tür karakterleri yoksay. Bu, bu tür sembol isimleri nedeniyle seçenekler için bir hesaptır.

 
AlexeyVik :

Evet, mesele bu değil. Kimsenin tam gizli kodunuza ihtiyacı yok. Sadece bu yanlış anlaşılmanın olacağı eksiksiz bir kod parçası yazın. Ve bu yüzden

seçilen satırı zarem yaptığınızda??? Telepatlar yardım etmeyecek, sadece ölümlüler ve hatta daha fazlası ...

Daha sonra bu kısım

Hangi programcıdan geldiğini bilmiyorum ama burada bir şeyler oldukça yetersiz yazılmış... Size bir taş atılmamış. Sen de diğerleri gibi kodu aldın ve düzenlemeye çalıştın...

counted_bars değişkeni, son gösterge çağrısından bu yana değişmeyen çubukların sayısına eşitse (ilk satır)

if(counted_bars < 0) tarafından kontrol edilmesinin nasıl sıfırdan küçük olabileceğini asla anlayamayacağım...

Ayrıca, saçmalık, ama bunu çözmek için şimdiden tembelim ...


Sana tamamen katılıyorum. Nasıl kendin düşünmedin? )

Böyle talihsiz bir göstergenin kodunu ve dosyasını ekliyorum.

Grafiğe atıyoruz, terminal doğal olarak donuyor, 10 dakika bekletin (PC'nin hızına bağlı olarak. i5 3.1 Ghz'im var), MT'yi zorla kapatın, günlük dosyasını "bug log.csv" adıyla açın ", IndicatorCounted() hatası gerçeğini gözlemleyin.

 #property indicator_separate_window
#property indicator_buffers 1

double Buffer_1[];

bool busy= false ;
int han;

int init()
{
   han= FileOpen ( "bug log.csv" , FILE_CSV | FILE_WRITE );
   SetIndexStyle ( 0 , DRAW_HISTOGRAM , STYLE_SOLID , 1 );       
   SetIndexBuffer ( 0 ,Buffer_1); 
   return ( 0 );
}

int deinit()
{
   FileClose (han);
   return ( 0 );
}

int start()
{
   //if(busy) return(0);
   int limit= 3000 ;
   if ( IndicatorCounted ()> 0 ) limit= 1 ;
   
   for ( int i= 0 ; i<limit; i++)
   { 
      busy= true ;
      FileWrite(han, TimeToStr ( TimeCurrent (), TIME_MINUTES | TIME_SECONDS ), DoubleToStr (i, 0 ), DoubleToStr ( IndicatorCounted (), 0 ));
       FileFlush (han);
      
       for ( int j= 1 ; j< 7000 ; j++)
         for ( int k= 1 ; k< 7000 ; k++)
           double var= 2 * 0.34 * MathArccos ( 0.5 )+ 1.33 * MathArcsin ( 0.23 )+ 1.53 * MathArctan ( 0.11 )+ 2.33 * MathCos ( 0.23 )+ 1.22 * MathLog ( 12 )+ 1.22 ;
      
      Buffer_1[i]=var;
   }
   
   busy= false ;
   return ( 777 );
}
Dosyalar:
bugqtest.mq4  2 kb
 

herkese merhaba, kim bana komut dosyasında neyin eksik olduğunu söyleyebilir, böylece (AccountProfit()>1) koşulu karşılanırsa, tüm açık siparişleri kapatır, şimdi i koşulu karşılanana kadar siparişlerin sadece bir kısmını kapatır

f(HesapKar()>1)

{ for (i=OrdersTotal()-1;i>=0;i--) { OrderSelect (i,SELECT_BY_POS,MODE_TRADES);
if(OrderType()==OP_BUY)
{ OrderClose(OrderTicket(),OrderLots(),Bid,10,Yeşil); dönüş(0);
} else { OrderClose(OrderTicket(),OrderLots(),Ask,10,Red); dönüş(0);
}}}
 
Expert :


Sana tamamen katılıyorum. Nasıl kendin düşünmedin? )

Böyle talihsiz bir göstergenin kodunu ve dosyasını ekliyorum.

Grafiğe atıyoruz, terminal doğal olarak donuyor, 10 dakika bekletin (PC'nin hızına bağlı olarak. i5 3.1 Ghz'im var), MT'yi zorla kapatın, günlük dosyasını "bug log.csv" adıyla açın ", IndicatorCounted() hatası gerçeğini gözlemleyin.

İyi bilmiyorum. Bu göstergeye böyle bir dosya kaydettim.

Dosyalar:
test.zip  21 kb
 
AlexeyVik :

İyi bilmiyorum. Bu göstergeye böyle bir dosya kaydettim.




Cevabınız için çok teşekkür ederim!

Sürümünüzü denedim - sonuç aynı ((

Bunun neden olduğu hakkında bir fikriniz var mı?
Sadece benimle değil. Başka bir bilgisayarda denedim, benimkinden daha güçlü, orada da aynı sorun.

Dosyalar:
bugflog.zip  122 kb
 
i999i :

herkese merhaba, kim bana komut dosyasında neyin eksik olduğunu söyleyebilir, böylece (AccountProfit()>1) koşulu karşılanırsa, tüm açık siparişleri kapatır, şimdi i koşulu karşılanana kadar siparişlerin sadece bir kısmını kapatır

f(HesapKar()>1)

{ for (i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderType()==OP_BUY)
{ OrderClose(OrderTicket(),OrderLots(),Bid,10,Yeşil); dönüş(0);
} else { OrderClose(OrderTicket(),OrderLots(),Ask,10,Red); dönüş(0);
}}}
dönüş(0); gereksizdi hepinize teşekkürler
 
Expert :


Cevabınız için çok teşekkür ederim!

Sürümünüzü denedim - sonuç aynı ((

Bunun neden olduğu hakkında bir fikriniz var mı?
Sadece benimle değil. Başka bir bilgisayarda denedim, benimkinden daha güçlü, orada da aynı sorun.

Ya ben seni anlamıyorum ya da sen bir şey anlamıyorsun... .csv dosyasında ne var? İlk çubuk hesaplanana kadar prev_calculated veya IndicatorCounted() (eski versiyonda) sıfıra eşit olacaktır ve bu doğrudur.