Sadece zikzak göstergesi tarafından çıkarılan dip dönüş noktaları nasıl çıkarılır? - sayfa 2

 
jackprobe :

Merhaba deVries,

Teşekkür ederim. Evet, gönderdiğiniz resim gibi. Ama nasıl kodlayacağımı bilmek istiyorum. Önceki her bir Zigzag bacağını hesaplamalı ve ardından Fibonacci seviyesini çizmelidir, böylece mevcut / son zikzakın ne kadar ilerlediğini bilebiliriz.

edit: kodu bir önceki mesajda gönderdim. Fibo çizgisini çekmezdi...

teşekkürler



Bu göstergeyle 0.0 ve 100.0 değerlerini nasıl elde ettiğinizi bana gösterebilir misiniz?
 
deVries :

Bu göstergeyle 0.0 ve 100.0 değerlerini nasıl elde ettiğinizi bana gösterebilir misiniz?

MT4 fibo retracement araçlarını kullanarak manuel olarak yaptım ..... :) O resmi gerçekten beğenmek istiyorum ama yine de nasıl kodlayacağımı bilmiyorum.

iCustom hakkında, buna aşağıdaki gibi mi demeliyim (TopBottomZigzag.ex4 dosyanızı çağırarak)?

 double top[i] = iCustom ( Symbol (), 0 , "TopBottomZigzag" ,ExtDepth,ExtDeviation,ExtBackstep, 2 ,i);
double bottom[i] = iCustom ( Symbol (), 0 , "TopBottomZigzag" ,ExtDepth,ExtDeviation,ExtBackstep, 1 ,i);

teşekkürler

 
jackprobe :

MT4 fibo retracement araçlarını kullanarak manuel olarak yaptım ..... :) O resmi gerçekten beğenmek istiyorum ama yine de nasıl kodlayacağımı bilmiyorum.

iCustom hakkında, buna aşağıdaki gibi mi demeliyim (TopBottomZigzag.ex4 dosyanızı çağırarak)?

teşekkürler


hayır, bunlar yanlış arabelleklerdir ve üstte veya altta hangi çubukta olacağını i'nin değerini bulmanız gerekir.

CodeBase'de yayınladığım sürümle karşılaştırırsam , en düşük satırda ve en yüksek satırda Zigzag'a bakın

 //+------------------------------------------------------------------+
//|                                              ZigZag practise.mq4 |
//|                                Copyright © 2012, Tjipke de Vries |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012, Tjipke de Vries"
#property link       ""

//---- input parameters  ZigZag
extern int ExtDepth= 12 ;
extern int ExtDeviation= 5 ;
extern int ExtBackstep= 3 ;

double P0,P1,P2,P3,P4,P5;

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----

   call_zigzag();


   subPrintDetails();
//----
   return ( 0 ); 

  }
//+------------------------------------------------------------------+

//----------------------- PRINT COMMENT FUNCTION
void subPrintDetails()
{
   string sComment   = "" ;
   string sp         = "----------------------------------------\n" ;
   string NL         = "\n" ;


       
   sComment = "ZigZag practise           Copyright © 2012, Tjipke" + NL;
   sComment = sComment + NL;
   sComment = sComment + "P0 " + DoubleToStr(P0, Digits ) + NL;
   sComment = sComment + "P1 " + DoubleToStr(P1, Digits ) + NL;
   sComment = sComment + "P2 " + DoubleToStr(P2, Digits ) + NL;
   sComment = sComment + "P3 " + DoubleToStr(P3, Digits ) + NL;
   sComment = sComment + "P4 " + DoubleToStr(P4, Digits ) + NL;
   sComment = sComment + "P5 " + DoubleToStr(P5, Digits ) + NL;            
   sComment = sComment + "Buffervalue 0  ZigZag " + NL;


   Comment (sComment);
}
//+------------------------------------------------------------------+

void call_zigzag ()
{
//This function calls the custom indicator zigzag and returns it´s values. THE INDICATOR ZIGZAG MUST BE IN THE FOLDER C:\...\MetaTrader 4\experts\indicators AND MUST BE NAMED "zigzag"!!!!
   int n, i = 0 ;
       while (n< 6 )
      {
       if (P0> 0 ) {P5=P4; P4=P3; P3=P2; P2=P1; P1=P0; }
      P0= iCustom ( Symbol (), 0 , "zigzag" ,ExtDepth,ExtDeviation,ExtBackstep, 0 ,i);
       if (P0> 0 ) {n+= 1 ; }
      i++;
      }
}

bu konunun göstergesini oluşturmadan önce normal zikzak ile böyle yaptım

mantığını bulabilecek misin bak

.

(KodBase'de bulduğunuz bağlantıya doğru sürümü vermek için gönderiyi düzenleyin)

 
deVries :


hayır, bunlar yanlış arabelleklerdir ve üstte veya altta hangi çubukta olacağını i'nin değerini bulmanız gerekir.

CodeBase'de yayınladığım sürümle karşılaştırırsam , en düşük satır ve en yüksek satır ile Zigzag'a bakın

bu konunun göstergesini oluşturmadan önce normal zikzak ile böyle yaptım

mantığını bulabilecek misin bak

.

(KodBase'de bulduğunuz bağlantıya doğru sürümü vermek için gönderiyi düzenleyin)


Merhaba deVries,

Bağlantı için teşekkürler. "TopBottomZigzag.ex4" olarak adlandırdığım göstergenizi çağırmak için iCustom kullanmayı denedim. Sonuç harika. Bu sefer Fibo satırı kod tarafından oluşturuluyor... :)

Sadece hala önceki ZZ ayağının Fibo'sunu yapamıyorum .... :( Sadece her zaman sadece son ZZ ayağını çiziyor. Ve yine de Fibo seviye çizgisinin uzunluğunu tanımlayamıyorum ...

Güzel kodunuz için teşekkürler ....

- sonda

 //+------------------------------------------------------------------+
//|                                                       zzFibo.mq4 |
//|                        based on "TopBottomZigzag.mq4" by deVries |
//|                                            edited by : Jackprobe |
//+------------------------------------------------------------------+

#property copyright "deVries & Jackprobe"
#property link       "https://forum.mql4.com/54660"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_width1 2
#property indicator_color2 DeepPink
#property indicator_width2 2

//---- indicator parameters
extern int ExtDepth= 12 ;
extern int ExtDeviation= 5 ;
extern int ExtBackstep= 3 ;
 
//---- indicator buffers
double UpBuffer[];
double DnBuffer[];
int     jmlTitik= 0 ;
double prevPrc= 0 ;
int     topCandle= 0 , bottomCandle= 0 ;
string myObjName = "myZZFibo" ;
double objWidth = 1.0 ;
double objStyle = 2.0 ;
color   objLevelColor = Aqua;
color   objColor = Gold;

//+------------------------------------------------------------------+
//| INIT() Function                                                  |
//+------------------------------------------------------------------+
int init()  {
   IndicatorBuffers( 2 );
   SetIndexStyle( 0 , DRAW_ARROW , STYLE_SOLID , 1 ,indicator_color1); 
   SetIndexBuffer ( 0 ,UpBuffer);
   SetIndexArrow( 0 , 221 );
   SetIndexStyle( 1 , DRAW_ARROW , STYLE_SOLID , 1 ,indicator_color2); 
   SetIndexBuffer ( 1 ,DnBuffer);
   SetIndexArrow( 1 , 222 );
   string short_name;
   IndicatorDigits(MarketInfo( Symbol (),MODE_DIGITS));
   short_name= "TopBottomZZFibo" ;
   IndicatorShortName(short_name);
   SetIndexLabel( 0 , "Up" );
   SetIndexLabel( 1 , "Dn" );
   SetIndexEmptyValue( 0 , EMPTY_VALUE );
   SetIndexEmptyValue( 1 , EMPTY_VALUE );   
   return ( 0 );
}

//+------------------------------------------------------------------+
//| DEINIT() Function                                                |
//+------------------------------------------------------------------+
int deinit() {
   ObjectDelete (myObjName);
}

//+------------------------------------------------------------------+
//| START() Function                                                 |
//+------------------------------------------------------------------+
int start() {
   int   shift, counted_bars=IndicatorCounted(),limit;
   double topPrc= 0 , bottomPrc= 0 ;      
   if ( counted_bars > 0 )  limit= Bars -counted_bars;
   if ( counted_bars < 0 )   return ( 0 );
   if ( counted_bars == 0 )  limit= Bars - 1 ; 
   if ( counted_bars < 1 ) 
   
   for (shift=limit;shift>= 0 ;shift--)  { 
      topPrc = iCustom ( Symbol (), 0 , " TopBottomZigzag" ,ExtDepth,ExtDeviation,ExtBackstep, 2 ,shift);
      bottomPrc = iCustom ( Symbol (), 0 , " TopBottomZigzag" ,ExtDepth,ExtDeviation,ExtBackstep, 1 ,shift);
      
       if ((topPrc> 0 )&&(topPrc!= EMPTY_VALUE )) {
         DnBuffer[shift]= topPrc + 0.0003 ;
         jmlTitik++;
         ObjectDelete (myObjName);
           ObjectCreate (myObjName, OBJ_FIBO , 0 , Time[bottomCandle], prevPrc, Time[shift], topPrc);
         ObjectSet(myObjName, OBJPROP_LEVELWIDTH , objWidth);
         ObjectSet(myObjName, OBJPROP_LEVELSTYLE , objStyle); 
         ObjectSet(myObjName, OBJPROP_LEVELCOLOR , objLevelColor); 
         ObjectSet(myObjName, OBJPROP_COLOR , objColor);
         //-- ganz unten
         prevPrc = topPrc;
         topCandle = shift;
      }
       else if ((bottomPrc> 0 )&&(bottomPrc!= EMPTY_VALUE )) {
         UpBuffer[shift]= bottomPrc - 0.0003 ;         
         jmlTitik++;
         ObjectDelete (myObjName);
         ObjectCreate (myObjName, OBJ_FIBO , 0 , Time[topCandle], prevPrc, Time[shift], bottomPrc);
         ObjectSet(myObjName, OBJPROP_LEVELWIDTH , objWidth);
         ObjectSet(myObjName, OBJPROP_LEVELSTYLE , objStyle); 
         ObjectSet(myObjName, OBJPROP_LEVELCOLOR , objLevelColor); 
         ObjectSet(myObjName, OBJPROP_COLOR , objColor);
         //-- ganz unten
         prevPrc = bottomPrc;
         bottomCandle = shift;
      }
   }       
   //----
         return ( 0 );      
}
 

yarın devam ediyorum

bu kısım

   for (shift=limit;shift>= 0 ;shift--)  { 
      topPrc = iCustom ( Symbol (), 0 , "TopBottomZigzag" ,ExtDepth,ExtDeviation,ExtBackstep, 2 ,shift);
      bottomPrc = iCustom ( Symbol (), 0 , "TopBottomZigzag" ,ExtDepth,ExtDeviation,ExtBackstep, 1 ,shift);

değiştirilmesi gerekiyor

 

resminize bakarsanız fibonnacci'nin sadece son 2 Zigzag noktası seviyesinde çizildiğini görürsünüz.

senin problemin "önceki ZZ ayağının Fibo'sunu yapamıyor .... :( Her zaman sadece son ZZ ayağını çiziyor. Ve yine de Fibo seviye çizgisinin uzunluğunu tanımlayamıyor ..."

Bu yüzden kodunuzun ne yaptığını ve şimdi sahip olduğunuz sonuca nasıl geldiğini kontrol etmelisiniz .

.

kodlamanızın bu bölümde ne yaptığını bilmek istiyoruz

   for (shift=limit;shift>= 0 ;shift--)  { 
      topPrc = iCustom ( Symbol (), 0 , "TopBottomZigzag" ,ExtDepth,ExtDeviation,ExtBackstep, 2 ,shift);
      bottomPrc = iCustom ( Symbol (), 0 , "TopBottomZigzag" ,ExtDepth,ExtDeviation,ExtBackstep, 1 ,shift);
      
       if ((topPrc> 0 )&&(topPrc!= EMPTY_VALUE )) {
         DnBuffer[shift]= topPrc + 0.0003 ;
         jmlTitik++;
         ObjectDelete (myObjName);
           ObjectCreate (myObjName, OBJ_FIBO , 0 , Time[bottomCandle], prevPrc, Time[shift], topPrc);
         ObjectSet(myObjName, OBJPROP_LEVELWIDTH , objWidth);
         ObjectSet(myObjName, OBJPROP_LEVELSTYLE , objStyle); 
         ObjectSet(myObjName, OBJPROP_LEVELCOLOR , objLevelColor); 
         ObjectSet(myObjName, OBJPROP_COLOR , objColor);
         //-- ganz unten
         prevPrc = topPrc;
         topCandle = shift;
      }
       else if ((bottomPrc> 0 )&&(bottomPrc!= EMPTY_VALUE )) {
         UpBuffer[shift]= bottomPrc - 0.0003 ;         
         jmlTitik++;
         ObjectDelete (myObjName);
         ObjectCreate (myObjName, OBJ_FIBO , 0 , Time[topCandle], prevPrc, Time[shift], bottomPrc);
         ObjectSet(myObjName, OBJPROP_LEVELWIDTH , objWidth);
         ObjectSet(myObjName, OBJPROP_LEVELSTYLE , objStyle); 
         ObjectSet(myObjName, OBJPROP_LEVELCOLOR , objLevelColor); 
         ObjectSet(myObjName, OBJPROP_COLOR , objColor);
         //-- ganz unten
         prevPrc = bottomPrc;
         bottomCandle = shift;
      }
   }       

bazı baskı ifadeleriyle başlayarak neler olduğunu bulmamız gerekiyor

 for (shift=limit;shift>= 0 ;shift--)  
      { 
      topPrc = iCustom ( Symbol (), 0 , "TopBottomZigzag" ,ExtDepth,ExtDeviation,ExtBackstep, 2 ,shift);
      bottomPrc = iCustom ( Symbol (), 0 , "TopBottomZigzag" ,ExtDepth,ExtDeviation,ExtBackstep, 1 ,shift);
//..
       Print ( "topPrc  =  " ,topPrc, "  bottomPrc  =  " ,bottomPrc);
//.....
      }

ne olduğunu görüyorsun ???

 

Merhaba deVries,

Yazdır yerine Uyarı kullanıyorum. Bacağın içinde mum varsa (bacağın sonunda veya başında değil) fiyatı yakalayamayız. Ama ayağın sonunda fiyatı görebiliriz (lütfen tablodaki kırmızı ve yeşil oka bakın). Yani iCustom kullanılabilir diye düşünüyorum ama yanlış kodlama var ve hala nerede olduğunu bilmiyorum...

edit: belki tüm bilgileri bitiş zikzak noktasını tutmak için Dizi/Tampon kullanmalıyım (bitiş Zz noktasının fiyatı ve bitiş Zz noktasının mum sayısı ve bitiş zz noktası doğruluğunun sayısı). 3x1 type = double dizisini kullanmalıyım veya sadece 1x1 dizi dizisini kullanmalıyım (ancak önce tüm son zikzak noktası bilgilerini "birleştirmeli" olmalı) ????


 for (shift=limit;shift>= 0 ;shift--)  {    
      topPrc = iCustom ( Symbol (), 0 , "topBottomZZ-2" ,ExtDepth,ExtDeviation,ExtBackstep, 2 ,shift);
      bottomPrc = iCustom ( Symbol (), 0 , "topBottomZZ-2" ,ExtDepth,ExtDeviation,ExtBackstep, 1 ,shift);
      
       Alert ( "topPrc  =  " ,topPrc, "  bottomPrc  =  " ,bottomPrc, " candle=" , shift);
      
       if ((topPrc> 0 )&&(topPrc!= EMPTY_VALUE )) {
         Alert ( "Inside first If: topPrc  =  " ,topPrc, "  bottomPrc  =  " ,bottomPrc, " candle=" , shift);
         DnBuffer[shift]= topPrc + 0.0003 ;
         jmlTitik++;
         ObjectDelete (myObjName);
         ObjectCreate (myObjName, OBJ_FIBO , 0 , Time[bottomCandle], prevPrc, Time[shift], topPrc);
         ObjectSet(myObjName, OBJPROP_LEVELWIDTH , objWidth);
         ObjectSet(myObjName, OBJPROP_LEVELSTYLE , objStyle); 
         ObjectSet(myObjName, OBJPROP_LEVELCOLOR , objLevelColor); 
         ObjectSet(myObjName, OBJPROP_COLOR , objColor);
         //-- ganz unten
         prevPrc = topPrc;
         topCandle = shift;
      }
       else if ((bottomPrc> 0 )&&(bottomPrc!= EMPTY_VALUE )) {
         Alert ( "Inside second If: topPrc  =  " ,topPrc, "  bottomPrc  =  " ,bottomPrc, " candle=" , shift);
         UpBuffer[shift]= bottomPrc - 0.0003 ;         
         jmlTitik++;
         ObjectDelete (myObjName);
         ObjectCreate (myObjName, OBJ_FIBO , 0 , Time[topCandle], prevPrc, Time[shift], bottomPrc);
         ObjectSet(myObjName, OBJPROP_LEVELWIDTH , objWidth);
         ObjectSet(myObjName, OBJPROP_LEVELSTYLE , objStyle); 
         ObjectSet(myObjName, OBJPROP_LEVELCOLOR , objLevelColor); 
         ObjectSet(myObjName, OBJPROP_COLOR , objColor);
         //-- ganz unten
         prevPrc = bottomPrc;
         bottomCandle = shift;
      }
   }       
 

Merhaba deVries,

Evet haklısın. Değeri yakalamaya çalışırsam ve Array'e koyarsam, sonuç her zaman 0 (sıfır) olur ....
Hala anlamıyorum, neden oku görüntüleyebiliyor (ZZ'nin sonunu temsil ediyor), ancak onu diziye koymaya çalıştığımda sonuç sıfır ...??

teşekkürler


     if ((topPrc> 0 )&&(topPrc!= EMPTY_VALUE )) {
         /// Alert("Inside first If: topPrc  =  ",topPrc,"  bottomPrc  =  ",bottomPrc, " candle=", shift);
         DnBuffer[shift]= topPrc + 0.0003 ;        
         resPrice[jmlTitik] = topPrc;
         resCandle[jmlTitik] = shift;
         resPos[jmlTitik] = 1 ;
         Alert ( "1 LastPrice =" , resPrice[jmlTitik]);
         Alert ( "1 LastCandle =" , resCandle[jmlTitik]);
         Alert ( "1 LastPos =" , resPos[jmlTitik]);
         //-- ganz unten
         jmlTitik++;
         prevPrc = topPrc;
         topCandle = shift;
      }
 

kod tabanı göstergesini kullanın, ardından kodun

//   if ( counted_bars < 1 ) 
   
   for(shift=limit;shift>=0;shift--)  { 
      topPrc = iCustom(Symbol(),0,"Zigzag_with_line_at_lows_and_line_at_highs",ExtDepth,ExtDeviation,ExtBackstep,3,shift);
      bottomPrc = iCustom(Symbol(),0,"Zigzag_with_line_at_lows_and_line_at_highs",ExtDepth,ExtDeviation,ExtBackstep,4,shift);
      
      
       Print("topPrc  =  ",topPrc,"  bottomPrc  =  ",bottomPrc);
      
     }/* 

bunu grafik üzerinde test ederek yazdırıldığını göreceksiniz (işe yaramaz uyarı ile)

 2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   1.0298   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   1.0286
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   1.0297   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
2013.10 . 20 20 : 48 : 00      zzFibo USDCAD,M5: topPrc  =   0   bottomPrc  =   0
//....  this is not all

tekrar hesapladığınız her tikte nesneleri birkaç kez kaldırın ve son hesaplamaya gelene kadar tekrar yeni nesneler yerleştirin != 0

verdiğim kod ne işe yarıyor

 //+------------------------------------------------------------------+
//|                                              ZigZag practise.mq4 |
//|                                Copyright © 2012, Tjipke de Vries |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012, Tjipke de Vries"
#property link       ""

//---- input parameters  ZigZag
extern int ExtDepth= 12 ;
extern int ExtDeviation= 5 ;
extern int ExtBackstep= 3 ;

double P0,P1,P2,P3,P4,P5;


//....  you find it in a post above
 
deVries'e teşekkürler. deneyecek...