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

 
Michael Marchukajtes :

Alexey çok minnettar. Kesinlikle her şeyi kontrol edeceğim ve sonucu size bildireceğim. Geleceğe bakmaya gelince, bu kesinlikle önemli değil ve danışman göstergeyi okuyacağı gibi yazarsa bu olmayacak. Aralarında bir fark yoksa, önemli değil. Bir seçenek olarak, yeni bir çubuk göründüğünde, ROI'deki ilk değişikliği bekler ve bu yeni değeri ilk, önceki çubuk için yazarız. Hatta yeni bir değer değil, ilk çubuk için son olan eski bir değer bile yazabiliriz. Yani aslında barın kapanışında bir rekor olacak.

Önemli olan dakika çubuğuna ne kadar ROI atadığımız değil, indikatörün dosyadan nasıl okunacağıdır.

Sadece eğitim hakkında değil, aynı zamanda veriler piyasadan alındığında modeli uygulamayı da düşünün - böylece en güvenilir veriler olacaktır. Şimdi mumun açılışındaki veriler kaydedilecek, yani. açıldıktan sonra sıfır çubuğunda herhangi bir değişiklik olmayacak (eğer doğru kodladıysam :)). Kapatmanız gerekiyorsa, daha sonra yeniden yapabilirsiniz, genel olarak, tek fark danışmandan hangi çubuktan bilgi alacağınızdır - son veya sondan bir öncekinden.

 

neocognitron - evrişimli bir ağ gibi ama öğretmensiz

https://habr.com/en/post/214317/

Nasıl çalıştığını kim anlıyor, lütfen bana açıkla

 
Alexey Vyazmikin :

Sadece eğitim hakkında değil, aynı zamanda veriler piyasadan alındığında modeli uygulamayı da düşünün - böylece en güvenilir veriler olacaktır. Şimdi mumun açılışındaki veriler kaydedilecek, yani. açıldıktan sonra sıfır çubuğunda herhangi bir değişiklik olmayacak (eğer doğru kodladıysam :)). Kapatmanız gerekiyorsa, daha sonra yeniden yapabilirsiniz, genel olarak, tek fark danışmandan hangi çubuktan bilgi alacağınızdır - son veya sondan bir öncekinden.

Danışmana bakın, bir bar açıldığında çalışmaya başlasa da hala ilkinden veri alıyor. Veya daha doğrusu, ikinciden bile, bu benim tuhaflığım, çünkü ilk çubuktaki değerleri güncellemek için bu 30 saniyeyi beklemenize gerek yok, ikincisi zaten doğru bir şekilde hesaplandı ve oldukça uzun zaman önce. Bu nedenle, açık bir çubuktaki ilk ROI değerini ilk çubuğa yazmak o kadar korkutucu değil. Tam tersine tarihe şimdiki değeri yazıyorum. Göz atmak yok. Ve önemli değil, onu bir kopya olarak almıyoruz. Ve danışmanın yazdığı gibi, yazdı, asıl mesele göstergenin doğru hesaplamasıdır. Bir tarih gerçek koşulunun olduğu bir dosyayı okumak için göstergede ek bir işleviniz vardır. Dosyadan geçmişi doğru bir şekilde yüklemek için bu satırı eklemek zorunda kaldım

 if (New_Data== true )
            {
               ArrayResize (oi,x+ 2 , 1000 );
               if (cnt== 0 )
               {
               Arh_Time= StringToTime (str); ///////////// Если честно в обще не понял зачем ты так это всё разделил
                  oi[x].time=Arh_Time;                 //если запись первая, т.е. дата, то конвертируем из стринга в дататайм
               }

               else if (cnt== 1 )
               {
                  oi[x].oi=Arh_oi;   //если запсиь вторая, т.е. ОИ, то конвертируем в инт и
                  New_Data= false ;
                  x++;
               }
            }

Ve hindi, dakika ve tik başına kaydedilen verilerle ve tüm bunlar tek bir dosyada çalışmaya başladı. Farklı TF'lerin yapımını bile kontrol ettim ve her şey bir patlama ile bir araya geldi ama ana gövdede de bu çizgiyi değiştirmek zorunda kaldım.

 for ( int s=f; s<count_size; s++)
            {
               //Print("Test_02");
               if (oi[s].time>time[i])
               {
                   //Print("Test_03");
                   if (s> 1 )BufOI[i- 1 ]=oi[s- 1 ].oi; /// иначе всё бралось с минутой позже
                   //Print("s=",s);
                  f=s;
                   break ;
               }
               if (s+ 1 ==count_size)
               {
                  BufOI[i]= SymbolInfoDouble ( Symbol (), SYMBOL_SESSION_INTEREST );
                   //Print("OI=",SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST));
                   if (BufOI[i]< 1 )BufOI[i]=BufOI[i- 1 ];
                   if (BufOI[i]< 1 && BufOI[i- 1 ]< 1 )BufOI[i]= 100 ;
                  f=s;
               }
            }

Geri kalanı için, danışmanı grafiğe atıyorum ve açılışı bekliyorum, yazarken birkaç dakika izleyeceğim ve gösterge OI'yi yeniden derleme sırasında verilerin değişip değişmediğini kontrol ediyor.

Hindiyi burada tutun ve teşekkür etmeyin :-) !!!! Çok teşekkürler ile şaka. 37 dolara ne dersin? kazanmak istiyor musun?

Dosyalar:
OI_Test.mq5  16 kb
 
Alexey Vyazmikin :

Danışman gecikmeli de olsa çubuğun açılması üzerinde çalışıyorsa, mumun kapanması hakkında veri sunması doğru mu, yani. geleceğe bak? Bu nedenle, bu mumdan önceki en son kaydedilen veriler, yani. hafif bir gecikme, bir ilerleme değil.


Buradaki 5 tik sayısı nerede? Tüm dakika boyunca hiçbir işlem olmadığında, çubuğu atlıyorsunuz, bu yüzden OI hacmindeki değişiklik için karşılaştırmayı kaldırdım, böylece veriler yeni bir mum açıldığında hemen yazılacaktı. Belki hesaba katmamışımdır, verileri test etmem gerekiyor ama dün yoktu ama bugün iş günü :(

Evet, bir boşluk olacak ve teorik olarak değeri ikinci çubuktan alarak yeniden yazmanız gerekiyor. Ama benim sorum cevapsız kaldı, yeni çubuğun koşulu, örnek olarak top açılıp birkaç tik geçtiğinde ve ancak o zaman OI değiştiğinde yerine getirilecek mi?
 
Ne yazık ki, gerçek zamanlı modda ne birinci ne de ikinci çubuk yazılmaz. Gösterge yeniden derlendiğinde, geçmiş yüklenir, ancak yalnızca üçüncü çubuğa kadar, aslında dosyada olmalarına rağmen ne ikincisi ne de birincisi güncellenir.
 
Michael Marchukajtes :

Danışmana bakın, bir bar açıldığında çalışmaya başlasa da hala ilkinden veri alıyor. Veya daha doğrusu, ikinciden bile, bu benim tuhaflığım, çünkü ilk çubuktaki değerleri güncellemek için bu 30 saniyeyi beklemenize gerek yok, ikincisi zaten doğru bir şekilde hesaplandı ve oldukça uzun zaman önce. Bu nedenle, açık bir çubuktaki ilk ROI değerini ilk çubuğa yazmak o kadar korkutucu değil. Tam tersine tarihe şimdiki değeri yazıyorum. Göz atmak yok. Ve önemli değil, onu bir kopya olarak almıyoruz. Ve danışmanın yazdığı gibi, yazdı, asıl mesele göstergenin doğru hesaplamasıdır. Bir tarih gerçek koşulunun olduğu bir dosyayı okumak için göstergede ek bir işleviniz vardır. Dosyadan geçmişi doğru bir şekilde yüklemek için bu satırı eklemek zorunda kaldım

Ve hindi, dakika ve tik başına kaydedilen verilerle ve tüm bunlar tek bir dosyada çalışmaya başladı. Farklı TF'lerin yapımını bile kontrol ettim ve her şey bir patlama ile bir araya geldi ama ana gövdede de bu çizgiyi değiştirmek zorunda kaldım.

Geri kalanı için, danışmanı grafiğe atıyorum ve açılışı bekliyorum, yazarken birkaç dakika izleyeceğim ve gösterge OI'yi yeniden derleme sırasında verilerin değişip değişmediğini kontrol ediyor.

Hindiyi burada tutun ve teşekkür etmeyin :-) !!!! Çok teşekkürler ile şaka. 37 dolara ne dersin? kazanmak istiyor musun?

Sıfır çubuğu kullanmıyorsanız, elbette ileriye bakabilirsiniz. Burada kendim için, verilerle nasıl çalıştığımı yaptım.

sadece kafamı karıştırıyor

 if (s> 1 )BufOI[i- 1 ]=oi[s- 1 ].oi; /// иначе всё бралось с минутой позже

Bu eşitsizlik tutmayabilir. İlk kene kayıt zamanı mumun açılış zamanı ile çakışmayabilir. Bir dosyadan zaman yerine tasarruf edin,

Arh_Time= StringToTime (str);

NewTime değişkeninden bir dakikaya kesilmiş süre.

Ve ödül hakkında - zaten kazandığımı sanıyordum :)


Michael Marchukajtes :
Evet, bir boşluk olacak ve teorik olarak değeri ikinci çubuktan alarak yeniden yazmanız gerekiyor. Ama benim sorum cevapsız kaldı, yeni çubuğun koşulu, örnek olarak top açılıp birkaç tik geçtiğinde ve ancak o zaman OI değiştiğinde yerine getirilecek mi?

Ses seviyesini değiştirdikten sonra yeni bir çubuk kontrolü yapılır, bu da kaydın gerçekleştiği kodun kısmına girmeleri gerektiği anlamına gelir.


Michael Marchukajtes :
Ne yazık ki, gerçek zamanlı modda ne birinci ne de ikinci çubuk yazılmaz. Gösterge yeniden derlendiğinde, geçmiş yüklenir, ancak yalnızca üçüncü çubuğa kadar, aslında dosyada olmalarına rağmen ne ikincisi ne de birincisi güncellenir.

Nerede yazmıyor? Danışman yazmıyor mu? Danışmanın, göstergenin onunla doğru çalışıp çalışmayacağını dakikada birkaç kez yazdığı eski sürümünü deneyin.

 
Alexey Vyazmikin :

Sıfır çubuğu kullanmıyorsanız, elbette ileriye bakabilirsiniz. Burada kendim için, verilerle nasıl çalıştığımı yaptım.

sadece kafamı karıştırıyor

Bu eşitsizlik tutmayabilir. İlk kene kayıt zamanı mumun açılış zamanı ile çakışmayabilir. Bir dosyadan zaman yerine tasarruf edin,

NewTime değişkeninden bir dakikaya kesilmiş süre.

Ve ödül hakkında - zaten kazandığımı sanıyordum :)


Ses seviyesini değiştirdikten sonra yeni bir çubuk kontrolü yapılır, bu da kaydın gerçekleştiği kodun kısmına girmeleri gerektiği anlamına gelir.


Nerede yazmıyor? Danışman yazmıyor mu? Danışmanın, göstergenin onunla doğru çalışıp çalışmayacağını dakikada birkaç kez yazdığı eski sürümünü deneyin.

Şimdi danışmanla uğraşıyorum, nedense dosyadaki ilk çubuğun değerini sürekli değiştiriyor. Görünüşe göre yeni çubuk her zaman doğrudur. Şimdi kontrol etmeme rağmen köreldiğim bir şeyi kontrol ettim Genel olarak, yeniden derlerken resim böyle.

Ve böylece her yeniden derleme ile. HZ nedir? Bir çok şey denedim bazen yükleniyor bazen açmıyor...

 
Michael Marchukajtes :

Şimdi danışmanla uğraşıyorum, nedense dosyadaki ilk çubuğun değerini sürekli değiştiriyor. Görünüşe göre yeni çubuk her zaman doğrudur. Şimdi kontrol etmeme rağmen köreldiğim bir şeyi kontrol ettim Genel olarak, yeniden derlerken resim böyle.

Ve böylece her yeniden derleme ile. HZ nedir? Bir çok şey denedim bazen yükleniyor bazen açmıyor...

Danışmanım bile hiç yazmıyor Danışmanınız - bunu çözmeniz gerekiyor. Ya da sadece Si üzerinde çalışan sürümü sıfırla, ne yazayım.

 
Alexey Vyazmikin :

Danışmanım bile hiç yazmıyor Danışmanınız - bunu çözmeniz gerekiyor. Ya da sadece Si üzerinde çalışan sürümü sıfırla, ne yazayım.

Her yerde mevcut vadeli işlem sözleşmesini belirtmeniz gerekir. Ek yerinde, doğal olarak çalışmıyor. Ve sonra, derlendiğinde yalnızca ikinci çubuğa yüklenen göstergenin mevcut sürümünü hemen uygularım, ilk çubuk her zaman değişir, anladığım kadarıyla mevcut OI şimdi orada yazılır

Dosyalar:
 

Alexey, ancak yeni bir çubuk göründüğünde, gösterge aptalca ilk çubuk için dosyadan okumaları okuyacak ve böylece en eksiksiz senkronizasyon elde edilecek şekilde yapabilirsiniz. Aslında grafikte olmayacak ve periyodik olarak sinyalden sinyale erişilecek... Gerçek şu ki danışman piyasa defterini kullanarak yazıyor ve gösterge borsadan bağımsız olarak veri alıyor ve Sonuç olarak, şimdi çok ciddi tutarsızlıklar var, çünkü göstergede yeni çubuk işlevini ve piyasa kitabı izlemeyi de kullanmanız gerekiyor. Ve böylece, danışman asıl olandır, dosyaya yazdığı şey budur, ardından gösterge ve onu yükledi. Kâr!!!!!

HAK elde etmek için yalnızca bir kaynak olması gerektiğini düşünüyorum ve bu bir danışman ve borsaya yapılan bir talebin tekrarına izin verilmiyor, aksi takdirde koordine etmek için eziyet çekeceğiz, benim için böyle. Ne düşünüyorsun?

Обработчик события "новый бар"
Обработчик события "новый бар"
  • www.mql5.com
Для создателей индикаторов и экспертов всегда был актуален вопрос написания экономичного кода с точки зрения времени выполнения. Можно подойти к решению этой задачи с разных сторон. Из этой обширной темы в данной статье будет затронут, казалось бы уже решенный вопрос: проверка появления нового бара. Это достаточно популярный способ ограничения...