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

 
artmedia70 :


Kontrol için Alert'e neden olmaya çalışıyorum, hiçbir şeyden vazgeçmiyor. Gerçek şu ki, göstergem son üç çubukta değişmiyor. Yanlış hareketleri kesmek için ayarlandı.

Örneğin büyüdükçe büyür fakat belirtilen filtre içerisinde aşağıdaki hareketler olursa değişmez ve kesinlikle yatay hareket eder. Son iki değeri karşılaştırmak ve trendi belirlemek için göstergenin düzlüğünden önce gereklidir. Eğer ihtiyacın olursa sana kodu gönderebilirim?

 
Forexman77 :

Kontrol için Alert'e neden olmaya çalışıyorum, hiçbir şeyden vazgeçmiyor. Gerçek şu ki, göstergem son üç çubukta değişmiyor. Yanlış hareketleri kesmek için ayarlandı.

Örneğin büyüdükçe büyür fakat belirtilen filtre içerisinde aşağıdaki hareketler olursa değişmez ve kesinlikle yatay hareket eder. Son iki değeri karşılaştırmak ve trendi belirlemek için göstergenin düzlüğünden önce gereklidir. Eğer ihtiyacın olursa sana kodu gönderebilirim?

Danışmanda gösterge çizgisinin en yakın ekstremumunu nasıl bulacağınızı gösterdim. nBars'ı Bars'a eşit yapın veya nBars'ı Bars ile değiştirin
 
artmedia70 :
Bir danışmanda gösterge çizgisinin en yakın ekstremumunu nasıl bulacağınızı gösterdim. nBars'ı Bars'a eşit yapın veya nBars'ı Bars ile değiştirin

Şimdi herhangi bir değeri çağırırken birçok parametre çıkıyor: a, b veya c.

Gösterge kodu:

 #property copyright ""
#property link       ""
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
//--- input parameters

//--- buffers
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle( 0 , DRAW_LINE , 0 , 2 );
   SetIndexBuffer ( 0 ,ExtMapBuffer1);
   IndicatorDigits( Digits + 1 );
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
     int counted_bars=IndicatorCounted(),                      
    limit;
     double
    raznica,raznica_static,
    MA_1_t,                                                  
    MA_2_t;
 
   if (counted_bars> 0 )
      counted_bars--;
   
   limit= Bars -counted_bars;
   
   static double MA_otshet;
   for ( int i= 0 ;i<limit;i++)
   {
      MA_1_t= iMA ( NULL , 0 , 7 , 0 , MODE_EMA , PRICE_CLOSE ,i+ 0 );  
      MA_2_t= iMA ( NULL , 0 , 7 , 0 , MODE_EMA , PRICE_CLOSE ,i+ 1 ); 
      raznica=MA_1_t-MA_2_t;
      raznica_static=MA_1_t-MA_otshet;
       if (raznica_static > - 0.001 && raznica_static < 0.001 )
      {
      ExtMapBuffer1[i]=MA_otshet;
      }
       else
       if (raznica > - 0.001 && raznica < 0.001 )
      {
      ExtMapBuffer1[i]=MA_2_t;
      MA_otshet=MA_2_t;
      }
       if ((raznica > 0.001 ) || (raznica <- 0.001 ))
      {
      ExtMapBuffer1[i]=MA_1_t;
      }
   }
   return ( 0 );
  }
//+------------------------------------------------------------------+
 
Yapma... ne yaptığını danışmana göstersen iyi olur. Göstergenizden nasıl veri alırsınız?
 
artmedia70 :
Yapma... ne yaptığını danışmana göstersen iyi olur. Göstergenizden nasıl veri alırsınız?

Özel bir şey yok, Alert'i aramaya ve oradaki en yakın maksimumu görmeye çalışıyorum)

Göstergeyi günlük , üç gün değişiklik yapmadan yükleyin, muhtemelen sorun bu mu?

for (i=2; i<Barlar; i++) {
double a=iCustom(NULL, 0, "EMAF",0,0,i+1);
double b=iCustom(NULL, 0, "EMAF",0,0,i);
double c=iCustom(NULL, 0, "EMAF",0,0,i-1);
if ((ab)*(bc)<0) {
eğer (b<c) {
;// Altını buldum
}
eğer (b>c) {
Uyarı ("b=",b) // Bir ani artış bulundu
}
}
}

 
Forexman77 :

Özel bir şey yok, Alert'i aramaya ve oradaki en yakın maksimumu görmeye çalışıyorum)

Göstergeyi günlük, üç gün değişiklik yapmadan yükleyin, muhtemelen sorun bu mu?

for (i=2; i<Barlar; i++) {
double a=iCustom(NULL, 0, "EMAF",0,0,i+1);
double b=iCustom(NULL, 0, "EMAF",0,0,i);
double c=iCustom(NULL, 0, "EMAF",0,0,i-1);
if ((ab)*(bc)<0) {
eğer (b<c) {
;// Altını buldum
}
eğer (b>c) {
Uyarı ("b=",b) // Bir ani artış bulundu
}
}
}

Sorun bu olamaz. Döngüyü Bars'tan önce yaptık. Uyarıdan sonra break yazın;
 
artmedia70 :
Sorun bu olamaz. Döngüyü Bars'tan önce yaptık. Uyarıdan sonra break yazın;

Aradan sonra; bir mesaj belirir. Ancak, değer göstergeye karşılık gelmiyor, belki göstergenin kendisiyle, bir şey?
Çizgi göstergesi ne kadar ihtiyaç duyduğumu gösteriyor. Gösterge, mevcut duruma karşılık gelen üç koşuldan hesaplanır .
 
Forexman77 :
Aradan sonra; bir mesaj belirir. Ancak, değer göstergeye karşılık gelmiyor, belki göstergenin kendisiyle, bir şey?
Hat göstergesi nasıl ihtiyacım olduğunu gösteriyor. Gösterge, mevcut duruma karşılık gelen üç koşuldan hesaplanır.

Uyarı ("b=",b); Giriş:

 Alert ( "Цена b=" +DoubleToStr(b, Digits )+ "\nВремя бара=" +TimeToStr(Time[i]));
 
artmedia70 :

Alert("b=",b); Giriş:



Çalışmıyor, farklı şeyler denedim. Değer açıkça uygunsuz olarak elde edildi,

ve tüm değerlerdeki zaman "Bar zamanı=2010.11.04 00:00". Bir komut dosyası aracılığıyla ararım.

Büyük olasılıkla, mesele göstergede: değer şuradan elde edilir:

ExtMapBuffer1[i]

mevcut ana karşılık gelen üç farklı koşuldan elde edilir.

EURUSD'nin şu anki değerini diyorum, her şey yolunda: 1.3717, ki bu da zirveler için söylenemez.

 
Millet, lütfen bana kodu söylemeyin, ayın başındaki bakiyeyi gösteren kodu...