Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 538

 
Michael Marchukajtes :

Ben böyle bir programcıyım. Bitirene kadar kimse gerçekten açıklamayacak ... Genel olarak insanlar !!!!! Burayı dinle. Şimdi önemli bir uzun yazı olacak......


yani bu bir tür evrim.. yap ya da öl denir :) ben tamamen aynı programcıyım

 
Michael Marchukajtes :

Temelde insanlar!!!!! Burayı dinle. Şimdi önemli bir uzun yazı olacak......

Öğretmen, yan!

 

İşlem hacminin doğasını belirlemede önemli bir bağlantı olduğu için Açık Pozisyona (OI) karşı tutkulu hislerim olduğunu hepiniz çok iyi biliyorsunuz. Delta ile bir kombinasyonla ... mmmm .... sadece parmaklarınızı yalayın .... OI kesinlikle her derde deva değil, ancak modelin kalitesini %10 oranında artırmak bile zaten yüksek bir ağırlığa sahip olacak !!!! Ve MUCİZE hakkında!!!! Sonunda gün ortasında başardım, ANCAK ne yazık ki sadece MT5'in bu tür yetenekleri var, bu da MT4'ten beşi lehine geçişte belirleyici faktör haline geldi. Çok zaman kazandıran ve geçişe iyi bir başlangıç yapan Rafil'e çok teşekkürler. OG zaten yazılıyor ve haftanın istatistikleri var. Tabii ki, bu hala yeterli değil, ancak M5 TF'de şimdiden denemeye başlayabilirsiniz, özellikle de bu TF üzerindeki Si üzerindeki yayılma etkisi, bir bütün olarak enstrümanın oynaklığına kıyasla önemsiz olduğu için. Eh .. veri var, düşündüğüm gibi mesele küçük kalıyor. Modeli eğitin ve Delta+Volume+OI kombinasyonunun neler yapabileceğini görün. Ama bu bir iş değil, model için göstergeler yapmaya başlar başlamaz tabii ki Mkul5'i bilmediğim için bir sürü sorunla karşılaştım ama onları yendikten sonra bitiş çizgisine ulaştığımı düşünüyorum ve bu kadar güzel ve güçlü bir dilden nasıl bir yanlış anlama duvarına tökezledi. Aracın genel konsepti aşağıdaki gibidir.

Delta + AD (hacim yerine bunu alacağım) + ROI, ROI'nin mandardan sallandığı ve garip bir şekilde, hiçbir sorun olmadığı, ancak AD ile ilgili gerçekten sorunlar olduğu ve yapabileceğim göstergeler olarak gidiyor. neden anlamıyorum.

Eğitim setini hazırlamak için aşağıdaki uygulama scriptini kullanıyorum. Bu komut dosyası, temel strateji sinyallerini bir csv dosyasına yükler. Ardından, bir model oluşturuyoruz ve onu başka bir göstergeye itiyoruz. İki taneye sahibim. BuySi ve SellSi, AI içeren aynı göstergelerdir. Girdileri sağlamak için bu göstergeler Delta+AD+OI gösterge setine atıfta bulunur. Bir göstergeden bir gösterge, özellikle bir ekte ... peki, ne gibi problemler olabilir ... Ama hayır ... Onlar .... ve böyle güzel ve güzel bir bilgi birikimimi sadece benim aklımda olduğunu düşünüyorum. harika bir dil programlaması.... öyleyse... neden bahsediyorum... oh evet.... Sorun şu:

Komut dosyası bazı verileri bir dosyaya yükler ve test sırasında bir sinyal göründüğü anda baskıda diğer değerler görüntülenir. Yani, aynı sinyal dosyaya bir şey yazar, ancak aslında, test sırasında girdiye tamamen farklı bir şey beslenir. Ve paradoksun yattığı yer de burasıdır. Tanıtıcının başlatılması ve arabelleklerin kendisine yapılan çağrı, komut dosyasından karbon kopyalandı. AMA BuySi, elle kontrol ettiğim için test sırasında yeterli veri indiriyor. Ve en ilginç olan, IO'nun hem dosyaya hem de AI'nın girişine aynı şeyi yüklemesidir, ancak AD standart, terminaldir. Dosyada bazı değerler var, aslında diğerleri. Test edilenden farklı başka bir enstrüman için gösterge çağırmaya çalıştığımızda tam olarak bu parametreye bağlı olduğunu düşünüyorum. Bence sorun hindilerin tırnak ve değerlerinin senkronizasyonunda. Bence böyle bir karar için nasıl bir ön hazırlığa ihtiyaç olabilir? Bu nedenle, aslında, insanlardan yardım istiyorum. Komut dosyası neden bazı iAD değerlerini kaldırıyor ve test sırasında bu değerler farklılık gösteriyor ve buna bağlı olarak sinyaller dans etmeye başlıyor. Hindiler grafikteyken, yani başlatma işlemi sırasında hesaplanırlar. Resim şuna benzer.

Bana göre çok güzel. OI'nin etkisi hemen hissedilir, ancak test cihazında çalıştırdığımda, SONRA resim değişir .. ve daha iyisi için değil

Ayrıca, Test Cihazı bir nedenden dolayı sinyallerin de farklı olduğu iki çalışma yapar. Hindilerin tamponları pompalayacak zamanı olsun diye. AI hesaplamasını bir gecikme ile yapıyorum ve 4806 hatası artık ortaya çıkmıyor, ancak dans sinyalleri ve STANDARD iAD göstergeli kodla kesinlikle aynı olan verilerdeki fark, beni oldukça yordu ki ben de çok değildim. Yardım umuduyla bu uzun yazıyı yazmaya tembellik ediyorum. Bence sorun tam olarak iCustom'da, hindi mevcut olandan başka bir enstrümanda çağrıldığında. OI çiselemeye başladı, ama sonra onu belirli dosyalardan yüklenmeye zorladım ve her şey gitti, AMA iAD ile ne yapmalı ???

Veri içeren bir dosya oluşturan bir komut dosyasında bunu böyle adlandırıyorum.

AD_H = iAD ( "BR-12.17" ,   0 , VOLUME_REAL );   Sleep ( 1500 );

Ardından, arabelleğe bu şekilde erişiyorum ...

   double AD( int index)
  {
   double MA[ 1 ];
   ResetLastError ();
   if ( CopyBuffer (AD_H, 0 ,index, 1 ,MA)< 0 )
     {
       PrintFormat ("Failed to copy data from the iMA indicator, error code %d", GetLastError ());
       return ( 0.0 );
     }
   return NormalizeDouble (MA[ 0 ], Digits ());
  }

Daha sonra girdiyi şu şekilde hesaplıyorum.

       double AD=(AD(i+ 1 )-AD(i+PNT+ 1 ))*Cont;

Hepsi komut dosyasında, ancak tanıtıcının bu şekilde biçimlendirildiği AI ile göstergede nasıl göründüğü...

AD_H = iAD ( "BR-12.17" ,   0 , VOLUME_REAL );  

Arabelleğe bu şekilde erişme ...

   double AD( int index)
  {
   double MA[ 1 ];
   ResetLastError ();
   if ( CopyBuffer (AD_H, 0 ,index, 1 ,MA)< 0 )
     {
       PrintFormat ("Failed to copy data from the iMA indicator, error code %d", GetLastError ());
       return ( 0.0 );
     }
   return NormalizeDouble (MA[ 0 ], Digits ());
  }

Giriş hesaplaması...

       double AD=(AD(i+ 1 )-AD(i+PNT+ 1 ))*Cont;

Bu anlaşılabilir, çünkü her şey aptalca kopyalandı. Ama sonuçta neden böyle bir fark var. Hala bunun türkiye'nin başka bir enstrümanda aramasından kaynaklandığını düşünüyorum. Başka bir cihazdaki göstergeyi çağırmadan önce yanlışlıkla senkronizasyon veya bazı kontroller gibi herhangi bir şey hazırlamaya gerek yoktur. Bunu kim düşünüyor????

 
Sihirbaz_ :

Öğretmen, yan!


Ltd. Hemen görebilirsiniz.. Ciddi bir kitle kendini yukarı çekti. Bence tartışma kızışacak :-)

 

Ve şimdi hindi derlenmiş ve dosyaya yazdığı verileri aynen yazdırmıştır. Ancak test sırasında aynı giriş sinyali farklı değerlere sahiptir. Nasıl yani???

 

Görüyorum ki kina olmayacak ???? üzüntü :-(

 

Sadece bir tahmin, ama -

AD hacme bağlıdır, bu da sıfır çubuğundaki değerin sürekli değiştiği anlamına gelir. Dosyayı önceden oluşturulmuş AD değerleriyle doldurur ve ardından bu dosyayı okur ve test için kullanırsanız, o zaman henüz oluşturulmuş sıfır çubuğunun değerini kullanarak geleceğe bakmanız oldukça olasıdır. EA'nın kendisinde bilinmiyor.

 
Dr. tüccar :

Sadece bir tahmin, ama -

AD hacme bağlıdır, bu da sıfır çubuğundaki değerin sürekli değiştiği anlamına gelir. Dosyayı önceden oluşturulmuş AD değerleriyle doldurur ve ardından bu dosyayı okur ve test için kullanırsanız, o zaman henüz oluşturulmuş sıfır çubuğunun değerini kullanarak geleceğe bakmanız oldukça olasıdır. EA'nın kendisinde bilinmiyor.


Numara. AD'ye hiçbir dosya yazılmaz, her şey doğrudan sembolden alınır. Bunun senkronizasyon kontrolünün olmamasından kaynaklandığını düşünüyorum. Ve başka bir 4806 hatası sürekliydi. Ana hindinin hesaplanması için bir gecikme getirdim ve hata ortadan kalktı, ancak sorun devam etti... :-(

 

İşte derlemeden sonra terminalden bir baskı.

2017.11.27 20:59:17.625 Buy_Si (Si-12.17,M5) 2017.11.23 11:05:00 1.0 -116.0 64.0 2292.0 -206.0 413 4

ama acenteden.

2017.11.27 20:59:38.318 2017.11.23 11:10:40 2017.11.23 11:05:00 1.0 -116.0 140.0 -1889.0 -993.0 1 4

Bunun aynı sinyal olduğuna dikkat edin. saat 11:05 -116, dosyadan alınan yatırım getirisi de aynı. Sonra farklı karakterlerden üç kan basıncı değeri vardır. Ardından, i çubuğu ve pont parametresi.

Kan basıncı verileri neden farklı? Bir senkronizasyon kontrolü eklendi ....?

 

Kod olmadan hiçbir şey net değildir.

Gösterge değerlerini basitçe okumak ve bunları günlüğe (veya daha iyisi, daha sonra karşılaştırmayı kolaylaştırmak için bir csv dosyasına) yazmak için minimum işlevsellik kümesine sahip basit bir Uzman Danışman yapmanız gerekir. Sonuçların farklı olacağı iki lansman yapın ve hepsini uzman koduyla birlikte servis masasına gönderin, terminali onarsınlar.
Kodu oraya da ekleyebilirsiniz - https://www.mql5.com/ru/forum/1111/page2096 - bilgili kişiler neyin yanlış olduğunu kontrol edecek ve onaylayacak veya açıklayacaktır.