[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 548

 
artmedia70 писал(а) >>
4051 hatası nedir ve nasıl yakalanır?


https://docs.mql4.com/en/constants/errors

ERR_INVALID_FUNCTION_PARAMVALUE 4051 Geçersiz fonksiyon parametre değeri

 
artmedia70 >> :
А кто сказал, что именно тот кусочек работает неправильно? Если б я выложил весь код - места бы не хватило...
Сначала вызываете на общение, потом в кусты... :)


Numara. Bozuk bir kod parçasını sökmeni önerdim. Her ayrıntıyı keşfedin. Bunun yerine, tüm kodu gönderdiniz. :)

Hiçbir çalılıkta saklanmayacağım. Alıntı yaparım:

>> Kodunuzun düzgün çalışmayan bir parçasına bir göz atalım...

>> yapıyor?

İşte sözlerim. Çalışmayan bir parça yerine, bir sürü anlaşılmaz şey yayınladınız - bir tür işlevler dizisi. İşte bu hoşuma gitmedi.

 

Genel olarak, bir hata bulmak için kodun bazı bölümlerini engellemeniz gerekir. Örneğin, kod aşağıdaki bloklardan oluşur:

- Bir ticaret sinyalinin varlığını kontrol etmek için blok

- Açma/kapama/çevirme emirlerini engelle

- Açık pozisyonları korumak için blok.

Çok satırlı yorumu /**/ kullanarak son iki bloğu engelleriz, Expert Advisor'ı başlatır ve bir baskı veya uyarı kullanarak anahtar değişkenlerin değerlerini kaldırırız - sadece bu bloğun doğru çalıştığından emin olun. Bir hata ile karşılaşırsak düzeltiriz. Ardından, bir sonraki kod bloğundaki kilidi serbest bırakıyoruz ve prosedürü tekrarlıyoruz. Ve böylece tüm kod hata ayıklanana kadar. Diğer yol daha sıkıcı olacaktır.

 
drknn >> :

Genel olarak, bir hata bulmak için kodun bazı bölümlerini engellemeniz gerekir. Örneğin, kod aşağıdaki bloklardan oluşur:

- Bir ticaret sinyalinin varlığını kontrol etmek için blok

- Açma/kapama/çevirme emirlerini engelle

- Açık pozisyonları korumak için blok.

Çok satırlı yorumu /**/ kullanarak son iki bloğu engelleriz, Expert Advisor'ı başlatır ve bir baskı veya uyarı kullanarak anahtar değişkenlerin değerlerini kaldırırız - sadece bu bloğun doğru çalıştığından emin olun. Bir hata ile karşılaşırsak düzeltiriz. Ardından, bir sonraki kod bloğundaki kilidi serbest bırakıyoruz ve prosedürü tekrarlıyoruz. Ve böylece tüm kod hata ayıklanana kadar. Diğer yol daha sıkıcı olacaktır.

Evet, teşekkür ederim, bunu zaten biliyorum... Bilgi biraz eksik. Ve tüm kodu gönderdim çünkü hangi kısmının çalışmadığını bilmiyorum. Sonuçta, orijinal olarak yayınlanan olması gerekli değildir. Katıldığınız için teşekkürler... :)
 
lütfen bana bir hindiyi bir uzmana nasıl gireceğimi söyle ki tf n4'ten veri alabileyim ???
 #property copyright "Krokus"
#property link       ""
//----
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red
//----
extern int        N= 20 ; // период канала 
//---- buffers
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle( 0 , DRAW_LINE );
   SetIndexBuffer ( 0 ,ExtMapBuffer1);
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int     counted_bars=IndicatorCounted();
   int limit;
   double upPrice,downPrice;
//---- 
   if (counted_bars== 0 ) limit= Bars -N;
   if (counted_bars>= 0 ) limit= Bars -counted_bars;
   limit--;
   for ( int i=limit;i>= 0 ;i--)
     {
      upPrice=High[iHighest( Symbol (), 0 ,MODE_HIGH,N,i)]; //максимум за N баров 
      downPrice=Low[iLowest( Symbol (), 0 ,MODE_LOW,N,i)]; //минимум за N баров 
      ExtMapBuffer1[i]=(upPrice-downPrice)/ Point ;

     }
//---- 
   return ( 0 );
  }
//+------------------------------------------------------------------+
 
uzmanın kodunda, aramayı değil demek istiyorum
 
Andrei01 >> :
Скажите, должны ли рисоваться графические объекты советником в тестере не в ценовом окне, а в отдельном? Почему-то это не работает при замене нуля на единицу при создании объекта.

Ayrı bir pencereye sahip boş bir iCustom göstergesi oluşturun ve EA'dan arayın,

daha sonra danışmanın nesneleri nereye çizileceği olacaktır, aksi takdirde pencere yoktur, ancak çizilmesi gereken yere çiz komutunu siz verirsiniz.

Sadece ölçeğe dikkat etmeniz gerekiyor,

en kolay yol, hindiye arka plan renginde iki tampon ayarlamaktır,

birinde max'ı diğer min'e atarsanız kullanışlıdır ve bunu indikatörün harici parametresinden ayarlayabilirsiniz.

 
sllawa3 >> :
подскажите пожалуйста как вписать индюк в эксперт чтоб снимал данные с тф н4 ???
 for ( int i=limit;i>= 0 ;i--)
     {
       int ii=iBarShift( Symbol (), 240 , i); //Symbol() или NULL

      upPrice=iHigh( NULL , 240 ,  iHighest( NULL , 240 ,MODE_HIGH,N, ii) ); //максимум за N баров 
      downPrice=iLow( NULL , 240 ,  iLowest( NULL , 240 ,MODE_LOW, N, ii) ); //минимум за N баров 

      ExtMapBuffer1[i]=(upPrice-downPrice)/ Point ;

     }
böylece türkiye, programdan bağımsız olarak, istenen TF'yi (n4) hesaplar, sonra bunun gibi bir şey
 
çalışmayacak.. limit kayıtlı değil ve nasıl kayıt olunur?
 int     counted_bars=IndicatorCounted();
тоже в эксперте не потянет
 
Dağınıklık!!! Her açık pozisyon trollenir ve aynı zamanda "yabancı" TP ve SL'ye karşı kapatılır... Buna göre tam bir kafa karışıklığı ve bocalama... Nasıl kazanılır?
Neden: