Hatalar, hatalar, sorular - sayfa 797

 
sergeev :

Budur?


iki sorum var

- neden kodda dörtlü olan hesaplamayı değiştirdiniz?

- Bu gösterge ne gösteriyor? üzerinde ticaret nasıl yapılır?

O.

- Ben değişmedim. Her şeyi tek tek aktardı. Orada, dört koddaki f-th'ler yerine, beşte AÇIK, KAPALI, YÜKSEK, DÜŞÜK için yavaş ve hızlı hareket eden ortalamalardan daha önce hesaplanan MA dizilerinin değerlerini hemen tekrar karşılık gelen enstrümanla çarparak kullanıyorum. katsayılar.

Örneğin, dördünün SON kodu:

 if ( Symbol () == "EURUSD" ){
               OPEN=EUR(Mode, PRICE_OPEN ,i,per1,per2)-USD(Mode, PRICE_OPEN ,i,per1,per2);
               HIGH=EUR(Mode, PRICE_HIGH ,i,per1,per2)-USD(Mode, PRICE_HIGH ,i,per1,per2);
               LOW=EUR(Mode, PRICE_LOW ,i,per1,per2)-USD(Mode, PRICE_LOW ,i,per1,per2);
               CLOSE=EUR(Mode, PRICE_CLOSE ,i,per1,per2)-USD(Mode, PRICE_CLOSE ,i,per1,per2);
...
 pair[i]=(OPEN+HIGH+LOW+CLOSE)/ 4 ;

İşte EUR f-th'lerden biri, onun yerine ilk beşte kullanıyorum (aşağıya bakın) - hemen içindeki formüllere göre hesaplayın. Her şey bire bir atıyor:

double EUR( int Mode, int Price, int i, int per1, int per2){
   return (
            ( iMA ( "EURUSD" , 0 ,per2, 0 ,Mode,Price,i)-
             iMA ( "EURUSD" , 0 ,per1, 0 ,Mode,Price,i))* 10000 *kUSD
            +
            ( iMA ( "EURGBP" , 0 ,per2, 0 ,Mode,Price,i)-
             iMA ( "EURGBP" , 0 ,per1, 0 ,Mode,Price,i))* 10000 *kGBP
            +
            ( iMA ( "EURJPY" , 0 ,per2, 0 ,Mode,Price,i)-
             iMA ( "EURJPY" , 0 ,per1, 0 ,Mode,Price,i))* 100 *kJPY
          ); 

İlk beşte, bu hesaplama şu şekilde olacaktır - ilk dörtte olduğu gibi işlevler olmadan, ancak doğrudan önceden hesaplanmış dizileri kullanarak:

 if ( Symbol () == "EURUSD" )
        {     
// ----  OPEN=EUR(Mode,PRICE_OPEN,i,per1,per2)-USD(Mode,PRICE_OPEN,i,per1,per2);          
         OPEN=((OPEN_F_EURUSD[i]-OPEN_S_EURUSD[i])* 10000 *kUSD+(OPEN_F_EURGBP[i]-OPEN_S_EURGBP[i])* 10000 *kGBP+(OPEN_F_EURJPY[i]-OPEN_S_EURJPY[i])* 100 *kJPY -
               (OPEN_S_EURUSD[i]-OPEN_F_EURUSD[i])* 10000 *kEUR+(OPEN_S_GBPUSD[i]-OPEN_F_GBPUSD[i])* 10000 *kGBP+(OPEN_F_USDJPY[i]-OPEN_S_USDJPY[i])* 100 *kJPY);
               
// ----  HIGH=EUR(Mode,PRICE_HIGH,i,per1,per2)-USD(Mode,PRICE_HIGH,i,per1,per2);              
         HIGH=((HIGH_F_EURUSD[i]-HIGH_S_EURUSD[i])* 10000 *kUSD+(HIGH_F_EURGBP[i]-HIGH_S_EURGBP[i])* 10000 *kGBP+(HIGH_F_EURJPY[i]-HIGH_S_EURJPY[i])* 100 *kJPY -
               (HIGH_S_EURUSD[i]-HIGH_F_EURUSD[i])* 10000 *kEUR+(HIGH_S_GBPUSD[i]-HIGH_F_GBPUSD[i])* 10000 *kGBP+(HIGH_F_USDJPY[i]-HIGH_S_USDJPY[i])* 100 *kJPY);
               
// ----  LOW=EUR(Mode,PRICE_LOW,i,per1,per2)-USD(Mode,PRICE_LOW,i,per1,per2);
         LOW=((LOW_F_EURUSD[i]-LOW_S_EURUSD[i])* 10000 *kUSD+(LOW_F_EURGBP[i]-LOW_S_EURGBP[i])* 10000 *kGBP+(LOW_F_EURJPY[i]-LOW_S_EURJPY[i])* 100 *kJPY -
               (LOW_S_EURUSD[i]-LOW_F_EURUSD[i])* 10000 *kEUR+(LOW_S_GBPUSD[i]-LOW_F_GBPUSD[i])* 10000 *kGBP+(LOW_F_USDJPY[i]-LOW_S_USDJPY[i])* 100 *kJPY);
               
// ---   CLOSE=EUR(Mode,PRICE_CLOSE,i,per1,per2)-USD(Mode,PRICE_CLOSE,i,per1,per2);
         CLOSE=((CLOSE_F_EURUSD[i]-CLOSE_S_EURUSD[i])* 10000 *kUSD+(CLOSE_F_EURGBP[i]-CLOSE_S_EURGBP[i])* 10000 *kGBP+(CLOSE_F_EURJPY[i]-CLOSE_S_EURJPY[i])* 100 *kJPY -
               (CLOSE_S_EURUSD[i]-CLOSE_F_EURUSD[i])* 10000 *kEUR+(CLOSE_S_GBPUSD[i]-CLOSE_F_GBPUSD[i])* 10000 *kGBP+(CLOSE_F_USDJPY[i]-CLOSE_S_USDJPY[i])* 100 *kJPY);
         }
      
      pair[i]=(OPEN+HIGH+LOW+CLOSE)/ 4 ;    

- Birkaç enstrümanın hareketinin kümülatif (kümülatif) etkisi, AÇIK, YÜKSEK, DÜŞÜK, KAPALI'dan hızlı ve yavaş MA enstrümanları arasındaki fark alınır. Bunlar, yine optimizasyona tabi olan hızlı ve yavaş MA araçlarının farklılıklarının çarpanlarının katsayıları dikkate alınarak toplanır ve dörde bölünür.

Ticaret: 1. Sıfır çizgisini + Farklı (yanlış girişleri filtrelemek için sıfırdan uzaklığı) geçerek aşağıdan yukarıya, sonra satın al, yukarıdan aşağıya, sonra sat. Fragmandaki uzmana bakın.

2. çizgi çekimleri: eğer bükülme sıfırın altındaysa, satın alın, MA enstrümanlarının bu toplam fark çizgisinin bükülmesi sıfırın üzerindeyse, o zaman sat (bu seçenek baykuşta henüz mevcut değil).

Şampiyonada kullanmak için birinci veya ikinci seçeneği istiyorum.

Dosyalar:
 

Grafiğin yanlış görüntülenmesi (Çubuk Modu).

Terminal başlatıldığında, gösterge tampon sembollerinin görüntüleri, atıfta bulundukları çubukların görüntülerine göre önemli ölçüde kaydırılır.

687 inşa

Ayrıca, görselleştirme modunda, grafik hareket ettiğinde , gösterge tamponlarının sembolleri, çok güçlü ve görünür bir gecikmeyle karşılık gelen çubukların arkasına hareket eder.

 
R0MAN :

- Ben değişmedim. Her şeyi tek tek aktardı.

sonucunuz eşleşmiyor.

Kitte neden hep mqh giyiyorsun anlamadım

neticede. Kodu düzelttim. İki sınıf eklendi

CSeries - 4 diziye ve 4 arabelleğe hizmet veren bir sınıf + bunlar INDICATOR_CALCULATION içinde ayarlanır
CPair - iki CSeries'e hizmet veren bir sınıf - Hızlı ve Yavaş

Peki, USD / JPY / EUR / GBP + start fonksiyonları MT4'teki gibi aktarıldı


Sonuçları MT4 ile karşılaştırdım - bire bir - tamamen örtüşüyorlar

seninle bira :)


Şampiyonada kullanmak için birinci veya ikinci seçeneği istiyorum.

Kârlı sonuçlar var mı? ne yardımcı olabilir? ilk sıranın olacağını göreceksin.

Dosyalar:
 

ve bu, başlangıçta yapmaya çalıştığınız türden bir göstergedir.

Dosyalar:
 
sergeev :

1. Sonucunuz eşleşmiyor.

Kitte neden sürekli mqh giyiyorsun anlamadım

neticede. Kodu düzelttim. İki sınıf eklendi

CSeries - 4 diziye ve 4 arabelleğe hizmet veren bir sınıf + bunlar INDICATOR_CALCULATION içinde ayarlanır
CPair - iki CSeries'e hizmet veren bir sınıf - Hızlı ve Yavaş

Peki, USD / JPY / EUR / GBP + start fonksiyonları MT4'teki gibi aktarıldı


2. Sonuçları MT4 ile karşılaştırın - bire bir - tamamen uyuşuyorlar

seninle bira :)

3. Kârlı sonuçlar var mı? ne yardımcı olabilir? ilk sıranın olacağını göreceksin.


1. Ah! Kalbimin derinliklerinden teşekkür ederim! Henüz bakmadım. Ve o iCustom - pes mi ediyor?

Beşte baykuş yokken. Bu göstergeye uzun zamandır sahibim - arşivde.

2. MASD'si olan cerrah - ilham aldı! Tüm nöro-çok spektrumlu- ultra-... :-) için şampiyonluk döneminde 11 işlemiyle burnunu sildi.

Genelde böyle olur. Şu anda, iCustom'a boyun eğip güvenmediğini anlayın, sinyalleri baykuşlara yapıştırın ve devam edin - optimize edin!

3. Beşte baykuş yokken ... Kendini iCustom'a ödünç veriyor mu? - birinci, ikinci, üçüncü çubuktaki değerlerine ihtiyacınız var (iki pazara giriş koşulunu kodlamak için: sıfır geçiş ve (veya) sıfırın üstünde/altında bükülme noktaları).

4. "Bira sizden" :-) + kişisel olarak yazdı.

 
R0MAN :

3. Beşte baykuş yokken ... Kendini iCustom'a ödünç veriyor mu? - birinci, ikinci, üçüncü çubuktaki değerlerine ihtiyacınız var (iki pazara giriş koşulunu kodlamak için: sıfır geçiş ve (veya) sıfırın üstünde/altında bükülme noktaları).

her şey iCustom'da sunulur.
 
Rosh :
Hata ayıklama, test cihazında mevcut değil
Herhangi bir plan var mı? Çevrimiçi hata ayıklama, koşulların yeniden üretilememesi nedeniyle çok az kullanışlıdır.
 
Test cihazında çalıştırmadan sonra açılan çizelge penceresinde hindinin otomatik olarak nasıl görüneceğini bana hatırlatır mısınız? Daha önce, bunu yapmak için hiçbir şeye gerek yok gibiydi.
 
marketeer :
Çevrimiçi hata ayıklama, koşulların yeniden üretilememesi nedeniyle çok az kullanışlıdır.

Böyle bir mektup var. Büyük ve şişman.

Herhangi bir plan var mı?

MetaQuotes'un bir test cihazını bir hata ayıklayıcı ile geçme hevesine sahip olması pek olası değildir. Bu anlaşılabilir bir durumdur - sorun bir eğridir.

Burada " sanal sunucu " fikirleri dolaşımdadır - bu, özellikle rastgele giriş verilerine (rasgele bir hızda) izin verirseniz, gerçeğe daha yakındır. Ama aynı zamanda meta alıntılar için çok can sıkıcı bir seçenektir (görünüşe göre aynı anda birkaç nedenden dolayı).

Ama başka yollar da mümkündür. Üçüncü bir şey. Hata ayıklayıcıdaki "mikrotester" gibi. Bir çift belirledik, kesme noktaları belirledik, çalıştırdık - ve işte. Hata ayıklayıcıda çalıştırın. Kesme noktalarında durmalar ve "hata ayıklama döneminin" sonuna kadar adım adım ilerleme ve "sonraki" çalıştırma yeteneği.

Bunun gibi bir şey.

// Ama bunların hepsi benim yüksek sesle varsayımım. Belki Stringo başka bir şey bulur.

Ama bir şeyler yapılmalı, orası kesin.

 

MetaDriver :

Burada "sanal sunucu" fikirleri dolaşımdadır - bu, özellikle rastgele giriş verilerine (rasgele bir hızda) izin verirseniz, gerçeğe daha yakındır. Ama aynı zamanda meta alıntılar için çok can sıkıcı bir seçenektir (görünüşe göre aynı anda birkaç nedenden dolayı).

Oh, bana öyle geliyor ki, hata ayıklamaya sahip bir test cihazı çok gerçek olacak, ancak bu yönde hayal bile etmemelisiniz.

Neden: