Geri test sırasında bulunan sorunlar ve temel nedeni bulamıyor!

 

Geri testten sonra lütfen aşağıdaki ekran görüntüsüne bakın.

Garip şeylerle ilgili 3 soru da resimde gösteriliyor.

iCustom kullanımını okudum ve EA'mı ve göstergemi tekrar tekrar kontrol ediyorum, sonunda temel nedeni bulamıyorum.

Lütfen acil yardım edin ve çok teşekkürler!

(*. Soruları daha net görmek için ekran görüntüsüne tıklayıp büyütebilirsiniz)

Bu, "Ters" göstergesi için kritik kodlardır (diğer kodlar, kritik kodlar için net olması için "..." ile değiştirildi):

 int OnInit ()
  {
   IndicatorBuffers( 8 );
   ....
   SetIndexBuffer ( 6 ,ExtBuffer1);
   ....
  }

int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
   ...
   ...

   for (i=limit- 1 ; i>= 0 ; i--)
     {
      ...
      Value=...;
      ExtBuffer0[i]= MathLog (( 1 +Value)/( 1 -Value));
       if (ExtBuffer0[i]> 0 ) ExtBuffer1[i]= 10 ;
       else ExtBuffer1[i]=- 10 ;
     }

   ...
   ...
  }

Bu, göstergeyi kullanmak için EA'daki kritik kodlardır (kritik kodlar için net olması için diğer kodlar "..." ile değiştirildi):

...
...

void Reverse()
  {
   Joy1= iCustom ( Symbol (), 0 , "Reverse" , 6 , 1 );
   Joy2= iCustom ( Symbol (), 0 , "Reverse" , 6 , 2 );
  }

void openPosition()
  {
   ...
   if (Joy2<=- 10 && Joy1>= 10 ) 
    {
    r= OrderSend ( Symbol (),OP_BUY,lotSize,Ask,slippage, 0 , 0 ,TradeComment,MAGIC, 0 , clrMediumBlue );
    ...
    }
   else if (Joy2>= 10 && Joy1<=- 10 ) 
    {
    r= OrderSend ( Symbol (),OP_SELL,lotSize,Bid,slippage, 0 , 0 ,TradeComment,MAGIC, 0 , clrMediumVioletRed );
    ...
    }
   ...
   }
void closePosition()
  {
   ...
     if (openType==OP_BUY && Joy2>= 10 && Joy1<=- 10 )
     for (i= OrdersTotal ();i>= 1 ; i--)
         if ( OrderSelect (i- 1 ,SELECT_BY_POS,MODE_TRADES)== true && OrderMagicNumber()==MAGIC)
           {
            r=OrderClose(OrderTicket(),OrderLots(),Bid,slippage, clrDodgerBlue );
            ...
            }
   else if (openType==OP_SELL && Joy2<=- 10 && Joy1>= 10 ) 
     for (i= OrdersTotal ();i>= 1 ; i--)
         if ( OrderSelect (i- 1 ,SELECT_BY_POS,MODE_TRADES)== true && OrderMagicNumber()==MAGIC)
           {
            r=OrderClose(OrderTicket(),OrderLots(),Ask,slippage, clrDeepPink );
            ...
            }
   ...  
  }
void OnTick ()
  {
   ...
   Reverse();
   openPosition();
   closePosition(); 

}

 

Şimdi gösterge dosyasını yeniden oluşturdum ve sarı çizgi çizme sorunu çözüldü.

Ancak, bu diğer 2 konu hala hiçbir fikre sahip değil. Lütfen yardım et !

 

Sorun muhtemelen göstergenizden kaynaklanıyor

 if (ExtBuffer0[i]> = 0 ) ExtBuffer1[i]= 10 ;
       else ExtBuffer1[i]=- 10 ;

ayrıca Boş Değerinizi de kontrol edin

 
ffoorr :

Sorun muhtemelen göstergenizden kaynaklanıyor

ayrıca Boş Değerinizi de kontrol edin

Sevgili ffoorr, sarı çizgi ile görebileceğiniz gibi boş bir değer olmamalıdır.

 

ya if(ExtBuffer0[i]==0)

SetIndexEmptyValue'nizde olanı izleyerek, bir deliğiniz, bir hiçiniz olur,

Satır sonraki iki veriye kadar yazdırılmaz.


Aksi takdirde, göstergenizin indeksini kontrol edin , sinyal bir bar gecikmiş gibi görünün

Aksi takdirde gösterge kodunu görmeden kimse bilemez.


Bazı balıkçı göstergeleri kullanıyor musunuz?

 

Sevgili ffoorr, yardımın için çok teşekkürler. Ancak göstergeyi kodlarla kontrol ettim ve boş bir değer olmadığını doğrulayabilirim.

Kene hikayesini ve MT4'ü yeniden kurdum, sorun hala orada. Bu yüzden hala kontrol ediyorum.

 

neşeli ejderha

SetindicatorEmptyValue yoksa, boş değer EMPTY_VALUE olur

eğer kodlarsanız if( ExtBuffer1[i] != 10 ) Open_Order()

ExtBuffer1[i] == EMPTY_VALUE ise, bir siparişiniz olacak


Ama sorunun nedeninin bu olup olmadığını da bilmiyorum

 

Sevgili ffoorr, ExtBuffer1 10 veya -10 değilse ExtBuffer1[i]' nin verilerini göstermek için kodlar ekledim. Sonunda hiçbir şeyim yok ve bu, ExtBuffer1'in her çubuk için 10 veya -10 olduğunu kanıtlıyor.    

Ayrıca göstergeyi 2 satırlı yalnızca 2 arabelleğe güncelledim. 1'i beyaz, 1'i sarı olarak görebilirsiniz. EA'mda sarı çizginin verilerini kullanıyorum.

Lütfen aşağıdaki verilere bakın, siparişin ne zaman değiştiğini görebilirsiniz, bunun tam olarak sarı çizginin verilerinin değişmesinden kaynaklandığını görebilirsiniz. Aşağıdaki '1', siparişin açılmasından veya kapanmasından hemen önceki çubuğun sarı çizgi verilerini, '2', '1'den önceki çubuğun sarı çizgi verilerini ifade eder. Ben de sipariş açma ve kapama işlemlerini böyle hallediyorum.

Ayrıca gösterge kodunu tekrar tekrar kontrol ettim, böylece göstergenin önündeki çubuklara göre hesaplandığını ve dolayısıyla bir balıkçı göstergesi olmadığını doğrulayabilirim.

Ancak, siparişlerin hala sarı çizgi (sinyal) ile tutarlı olmadığını görebilirsiniz.

Bu çok tuhaf ! Olası kök neden ne olabilir? Kim yardımcı olabilir ve ben çok minnettar olacağım?

 2013.04 . 30 04 : 00 : 00 :     1 : - 10.0 , 2 :   10.0 -error:       0

2013.04 . 30 08 : 30 : 01 :     1 :   10.0 , 2 : - 10.0 -error:       0

2013.04 . 30 08 : 30 : 02 :     1 :   10.0 , 2 : - 10.0 -error:       0

2013.04 . 30 09 : 30 : 00 :     1 : - 10.0 , 2 :   10.0 -error:       0

2013.04 . 30 09 : 30 : 00 :     1 : - 10.0 , 2 :   10.0 -error:       0

2013.04 . 30 16 : 30 : 00 :     1 :   10.0 , 2 : - 10.0 -error:       0

2013.04 . 30 16 : 30 : 00 :     1 :   10.0 , 2 : - 10.0 -error:       0

2013.05 . 01 18 : 00 : 00 :     1 : - 10.0 , 2 :   10.0 -error:       0

2013.05 . 01 18 : 00 : 00 :     1 : - 10.0 , 2 :   10.0 -error:       0

2013.05 . 01 22 : 00 : 00 :     1 :   10.0 , 2 : - 10.0 -error:       0

2013.05 . 01 22 : 00 : 00 :     1 :   10.0 , 2 : - 10.0 -error:       0

2013.05 . 01 22 : 30 : 00 :     1 : - 10.0 , 2 :   10.0 -error:       0

2013.05 . 01 22 : 30 : 00 :     1 : - 10.0 , 2 :   10.0 -error:       0

2013.05 . 02 15 : 30 : 00 :     1 :   10.0 , 2 : - 10.0 -error:       0

2013.05 . 02 15 : 30 : 00 :     1 :   10.0 , 2 : - 10.0 -error:       0

2013.05 . 02 16 : 03 : 26 :     1 :   10.0 , 2 :   10.0 -error:       0

 
Aman Tanrım. Bu konuda hala bir fikrim yok. Sorun nedir?
 
jollydragon : Aman tanrım. Bu konuda hala bir fikrim yok. Sorun nedir?
  1. Nasıl bilmeliyiz? Tüm kodu göndermediniz.(Gösterge yok, iCustom yok, döngü yok)
  2. Göstergenin hala 10 olduğunu söylüyorsunuz, ancak (ilk) görüntü boşlukları gösteriyor. İmlecinizin nerede olduğu hakkında hiçbir fikrimiz yok. Boşluk bitti mi?
  3. Bilginiz olmadığı için bilginiz yok. Değişken değerler içeriyorsa, önce ve içeride print deyimleri ekleyin ve izleyin.
 

Canlarım, aslında zaman kazanmak için kritik kodları çıkardım.

Ancak, yardımınız çok takdir edildi ve burada hem EA hem de gösterge dosyalarını eklememe izin verin.

Lütfen dosya adlarının eklendikten sonra otomatik olarak değiştiğini unutmayın. 2 kelime arasına rastgele bir harf girilmiştir. Bilgisayarımda bunlar "Ticaret Sevinci" ve "Güneş Sevinci".

Çözümü dört gözle bekliyorum. :-)

Dosyalar:
tradebjoy.mq4  12 kb
trademjoy.ex4  17 kb
solarxjoy.mq4  7 kb
solarcjoy.ex4  8 kb