KimIV'ten faydalı özellikler - sayfa 108

 
Dürüst olmak gerekirse, bu dilde programlamanın temellerini bilmediğim için kişisel olarak çok az şey anlamama rağmen, kendi işlevlerine sahip efsanevi bir kişinin aktif forum katılımcılarına geri dönmesine çok sevindim. Ama gerçek şu ki, KimIV'ü tüm varlığımla selamlıyorum!
 
 

Merhaba! Bir fonksiyon arıyorum, hazır olan var mı?

Testin sonunda, her siparişin düşüşüne ilişkin verileri içeren bir dosyanın oluşturulması gereklidir. Bu dosyanın test sırasında oluşturulmaması arzu edilir, ancak sonunda işlem geçmişini bir kez işler...

 
Böyle bir fonksiyonum yok ama yakın gelecekte mevcut açık pozisyonların noktalarındaki maksimum düşüşü hesaplayan bir fonksiyon yayınlamayı planlıyorum. Bu işlev, siparişlerin çubuklardan geçişini analiz eder. Zaman dilimi parametrelerden biridir. Zaman çerçevesi ne kadar küçük olursa, maksimum düşüşün hesaplanması o kadar doğru olur. Bu fonksiyona dayanarak ihtiyacınız olanı yapabileceğinizi düşünüyorum.
 
KimIV :
Böyle bir fonksiyonum yok ama yakın gelecekte mevcut açık pozisyonların noktalarındaki maksimum düşüşü hesaplayan bir fonksiyon yayınlamayı planlıyorum. Bu işlev, siparişlerin çubuklardan geçişini analiz eder. Zaman dilimi parametrelerden biridir. Zaman çerçevesi ne kadar küçük olursa, maksimum düşüşün hesaplanması o kadar doğru olur. Bu fonksiyona dayanarak ihtiyacınız olanı yapabileceğinizi düşünüyorum.

İşlev bir dosyaya da yazarsa , harika olur ...

Doğru, mevcut pozisyonlar için düşüşü hesaplamak için özel bir ihtiyaç görmüyorum. Bence, bu işlev test cihazı için daha fazla talep görüyor (sistemin analizi) ....

 
renoshnik :

İşlev bir dosyaya da yazarsa, harika olur ...

Doğru, mevcut pozisyonlar için düşüşü hesaplamak için özel bir ihtiyaç görmüyorum. Bence, bu işlev test cihazı için daha fazla talep görüyor (sistemin analizi) ....

"Her sipariş için düşüşü gerçek zamanlı olarak hesapla ve testin sonunda tüm verileri bir dosyaya dök" ile "test sonunda her siparişin düşüşünü hesapla ve verileri bir dosyaya dök" arasında hiçbir fark yoktur. ". Bunun dışında, ilk seçeneğin son derece doğru yapılması oldukça kolaydır ve ikincisi - yalnızca her sipariş için onay geçmişi hatırlanırsa.
 
renoshnik :

Merhaba! Bir fonksiyon arıyorum, hazır olan var mı?

Testin sonunda, her siparişin düşüşüne ilişkin verileri içeren bir dosyanın oluşturulması gereklidir. Bu dosyanın test sırasında oluşturulmaması arzu edilir, ancak sonunda işlem geçmişini bir kerelik işler...

Yuri, aceleyle eski danışmandan kodu çıkardı...
Kontrol edildi, doğru çalışıyor gibi görünüyor.
deinit() ten gelen kodu baykuşlarınıza ekleyin ve deinit'in altındaki üç işlevi kopyalayın, bunlardan biri Igor ))
......
Kod gevşek... Ama Igor bunu güzelce yapıyor olsa da, denemeniz için yeterli olduğunu düşünüyorum.
 
lasso :
Yuri, aceleyle eski danışmandan kodu çıkardı...
Kontrol edildi, doğru çalışıyor gibi görünüyor.
deinit() ten gelen kodu baykuşlarınıza ekleyin ve deinit'in altındaki üç işlevi kopyalayın, bunlardan biri Igor ))
......
Kod gevşek... Ama Igor bunu güzelce yapıyor olsa da, denemeniz için yeterli olduğunu düşünüyorum.

Harika teşekürler !!!!!!!!!! Bunu halledeceğim....
 

Igor, iyi günler!

CrossPointOfLines işlevinizi Expert Advisor'a ekledim (İki çizginin kesişme noktasının koordinatlarını hesaplar). Sonuç olarak, periyodik olarak yorumlarda yazıyor: Kavşak noktası bulunamadı! Ve o noktayı bulamıyor.

Belki de bu, grafikte trend olanlar şeklinde başka nesnelere sahip olduğumdan kaynaklanmaktadır? Ya da belki siz ya da bu şubenin müdavimlerinden biri size derdimin ne olduğunu söyler mi?

Şimdiden teşekkürler!

Kod ekteki dosyadadır.

Dosyalar:
 

HURRAH! Dotumkal'ın kendisi) Diğer moda olanlar müdahale etti ...

Dizilerle arkadaş olmak bir şekilde imkansız olduğu için en basitleştirilmiş işlevi yaptım. Çalışıyor gibi görünse de)

 //+------------------------------------------------------------------+
double Middle( string nm1, string nm2)
  {
   double M;
   double x0, x1, y1, x2, y2, x3, y3, x4, y4;
   double k1, k3;
  
   if ( ObjectFind (nm1)== 0 && ObjectFind (nm2)== 0 )
    {
    x1= ObjectGet (nm1, OBJPROP_TIME1);
    x2= ObjectGet (nm1, OBJPROP_TIME2);
    y1= ObjectGet (nm1, OBJPROP_PRICE1);
    y2= ObjectGet (nm1, OBJPROP_PRICE2);
    
    x3= ObjectGet (nm2, OBJPROP_TIME1);
    x4= ObjectGet (nm2, OBJPROP_TIME2);
    y3= ObjectGet (nm2, OBJPROP_PRICE1);
    y4= ObjectGet (nm2, OBJPROP_PRICE2);
    
    k1=(y2-y1)/(x2-x1); 
    k3=(y4-y3)/(x4-x3);
    
     if (k1 != k3)
      {
      x0 = (y1 - y3 + k3*x3 - k1*x1)/(k3 - k1);
      M = y1 + k1*(x0 - x1);
      }
    }
   return (M);
  }
//+----------------------------------------------------------------------------+