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

 
Michael Marchukajtes :

Merhaba!!! Beyler, bana göstergenin hesaplanmasını nasıl geciktireceğimi söyleyin. Yeni bir çubuk açıldı ve göstergenin 30 saniye sonra hesaplanması gerekiyor!!!!!

Peki, ya da bunun hakkında nerede yazıldığını ya da bir örnek söyle, yoksa süründüm, bulamıyorum :-(

Gecikme sebebi?

 
Vitaly Muzichenko :

Gecikme sebebi?


CME'den gelen veriler 30 saniyelik bir gecikmeyle yüklenir ve gösterge hesaplanır, ardından veriler yüklenir, hindiyi yeniden derlerim ve yön değiştirir, çünkü veriler ilk 5 saniyenin aksine tamamen yüklenir. barın hayatı. Kural olarak, 30 saniye yeterlidir... Bunu bir gösterge ile yapmak bile mümkün mü? gecikme derken...

 
Michael Marchukajtes :

CME'den gelen veriler 30 saniyelik bir gecikmeyle yüklenir ve gösterge hesaplanır, ardından veriler yüklenir, hindiyi yeniden derlerim ve yön değiştirir, çünkü veriler ilk 5 saniyenin aksine tamamen yüklenir. barın hayatı. Kural olarak, 30 saniye yeterlidir... Bunu bir gösterge ile yapmak bile mümkün mü? gecikme derken...

Ya bir kerelik bir zamanlayıcı olayı oluşturun,
veya kendiniz yapın: yeni çubuğun zamanı hatırlanır ve her bir onay işareti 30 saniyenin geçip geçmediğini görmek için kontrol edilir.
 
Alexey Terentev :
Ya bir kerelik bir zamanlayıcı olayı oluşturun,
veya kendiniz yapın: yeni çubuğun zamanı hatırlanır ve her bir onay işareti 30 saniyenin geçip geçmediğini görmek için kontrol edilir.

Bu tam olarak zamanlayıcı işlevi tam olarak belli değil. Önceki tavsiyeye göre, aşağıdaki işlevi yaptım ve şimdi çubuğun hesaplanması gecikmeden gidiyor. (onsuz, sen TF'yi değiştirene kadar hiç saymadım)

 void OnTimer ()
{
   int bars = Bars ( _Symbol , _Period );
   if (bars <= 0 ) return ;
   
   datetime T[];
   int res = CopyTime ( _Symbol , _Period , 0 , bars, T);
   if (res <= 0 ) return ;
   
   // unused params
   double d[];
   long l[];
   int i[];
   OnCalculate (bars, bars - 1 , T, d, d, d, d, l, l, i);
   ChartRedraw ();
}

Bunu organize etmenin en iyi yolu nedir, bana söyleyebilir misiniz????

 
Michael Marchukajtes :

CME'den gelen veriler 30 saniyelik bir gecikmeyle yüklenir ve gösterge hesaplanır, ardından veriler yüklenir, hindiyi yeniden derlerim ve yön değiştirir, çünkü veriler ilk 5 saniyenin aksine tamamen yüklenir. barın hayatı. Kural olarak, 30 saniye yeterlidir... Bunu bir gösterge ile yapmak bile mümkün mü? gecikme derken...

Gelen ilk şey:

 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[])
  {
 // здесь ваши расчёты 
 int limit=rates_total-prev_calculated;
   if (limit> 0 ) { 
  ...
  }

 // задержим на 30 сек
 if (time[ 0 ] > TimeCurrent ()- 30 )
   return (rates_total- 1 );

 // остальной код
   ...
 
Vitaly Muzichenko :

Gelen ilk şey:


Eğlenceli!!! Kodunuzu hindiye ekledim bakalım ne olacak. Ama böyle bir gecikmenin onTimer'da açıklanması gerektiğini düşündüm, değil mi ???

Yinede teşekkürler!!!
 
Michael Marchukajtes :

Merhaba!!! Beyler, bana göstergenin hesaplanmasını nasıl geciktireceğimi söyleyin. Yeni bir çubuk açıldı ve göstergenin 30 saniye sonra hesaplanması gerekiyor!!!!!

Peki, ya da bunun hakkında nerede yazıldığını ya da bir örnek söyle, yoksa süründüm, bulamıyorum :-(

Neden 30 saniye? - hemen 60 saniye boyunca yapın - yani. 1. çubuğa değil, 2. çubuğa güvenin. Onlar. yeni bir 0. çubuk çıktı, ilki hala 30 saniye beklemek zorunda, ancak 2. çubuk zaten hazır.

Ayrıca, muhtemelen açılış fiyatlarında optimizasyon ve test gerçekleştiriyorsunuz.

 
Review of Econometric Models Applicable to Hedge Fund Returns Capturing Serial Correlation and Illiquidity by Ludovic Dubrana :: SSRN
  • papers.ssrn.com
Hedge Fund returns are often highly serially correlated mainly due to illiquidity exposures given that investments in such securities tend to be inactively traded and associated market prices are not always readily available. Following that, observed returns of such alternative investments tend to be smoother than “true” unobserved returns...
 
elibrarius :

Neden 30 saniye? - hemen 60 saniye boyunca yapın - yani. 1. çubuğa değil, 2. çubuğa güvenin. Onlar. yeni bir 0. çubuk çıktı, ilki hala 30 saniye beklemek zorunda, ancak 2. çubuk zaten hazır.

Ayrıca, muhtemelen açılış fiyatlarında optimizasyon ve test gerçekleştiriyorsunuz.


Bunu BO ile yapıyorum!!! Ancak ana strateji ile bu işe yaramaz, bu da karar çubuğunun geri taşınması gerektiği anlamına gelir, bu da ana stratejiyle çelişir, yani bir seçenek değil ....