Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 962

 
Artyom Trishkin :

Derleyici küfretmez, ancak bir int'ye bir double sokmaya çalıştığınız konusunda uyarır.


Konuyla ilgili harika GIF - eğlendirildi, teşekkürler.

 
Alexey Viktorov :

Ayrıca DRAW_COLOR_CANDLES deneyin

Teşekkürler, deneyeceğim.
 
Alexey Viktorov :

Ayrıca DRAW_COLOR_CANDLES deneyin

DRAW_COLOR_CANDLES'in genişliği, belge örneğinde (#property Indicator_width1 1) mevcut olmasına rağmen değişmez. Bu nedenle, bir mumu diğerinin üzerine bindirmek işe yaramaz.

 
Nauris Zukas :

DRAW_COLOR_CANDLES'in genişliği, belge örneğinde (#property Indicator_width1 1) mevcut olmasına rağmen değişmez. Bu nedenle, bir mumu diğerinin üzerine bindirmek işe yaramaz.

Sonuçta, çubukların genişliğini piksel olarak da hesaplayabilir ve bu değerden histogramların kalınlığını belirleyebilirsiniz. Genel olarak, bir arzu olurdu ...

 
Alexey Viktorov :

Sonuçta, çubukların genişliğini piksel olarak da hesaplayabilir ve bu değerden histogramların kalınlığını belirleyebilirsiniz. Genel olarak, bir arzu olurdu ...

"...çubukların genişliğini piksel cinsinden hesapla..." nedense bunun nasıl yapıldığını gerçekten anlamadım.

 
Nauris Zukas :

"...çubukların genişliğini piksel cinsinden hesapla..." nedense bunun nasıl yapıldığını gerçekten anlamadım.

Genel olarak bir istek olur, neler olup bittiğini kontrol etmek gerekir. Gereksiz yere kontrol etmedim...

Ölçek

Çubuk başına puan cinsinden ölçek göstergesi modu


Piksel Olarak Grafik Genişliği / Çubuklarda Grafik Genişliği Bu, grafiğin sağ kenarından dolgu ayarlandığında çalışmayabilir.

 
Alexey Viktorov :

Genel olarak bir istek olur, neler olup bittiğini kontrol etmek gerekir. Meraktan kontrol etmedim...

Ölçek

Çubuk başına puan cinsinden ölçek göstergesi modu


Piksel Olarak Grafik Genişliği / Çubuklarda Grafik Genişliği Bu, grafiğin sağ kenarından dolgu ayarlandığında çalışmayabilir.

Teşekkür ederim.

 
Bana iyi insanlar söyle...
Test cihazında böyle bir byaka ile karşı karşıya kaldı.
Yayılma düzeyine göre pazara girerken bir filtre koymaya çalışırken. Test cihazı bunu yok sayar (yayılır).
Ama sadece son 6 aydan itibaren yok sayar. 5 (son) ay testleri normal, filtreler.
Bir yerde okudum, test cihazı bir şekilde yayılmayı kendi yöntemiyle hesaba katıyor ve buna göre filtrelemeyi imkansız kılıyor,
ama 5 aydır kafa karıştırıyor. yine de hesaba katıyor ve oldukça cana yakın hizmet veriyor...
Ekran görüntüsü ektedir.
Soru şu.
Bu, test cihazının bir özelliği mi? Yoksa bilmediğim ayarları mı var?
Ya da belki bu koşulun bir şekilde programlı olarak ayarlanması gerekiyor?

Filtreyi böyle test etmek için yazdım ...

 void OnTick ()
  { 
   double ask= SymbolInfoDouble ( Symbol (), SYMBOL_ASK ); 
   double bid= SymbolInfoDouble ( Symbol (), SYMBOL_BID );
   double spread=ask-bid; 
  
   if ( PositionsTotal ()>= 1 ) 
   return ;
  {
   int spread_points=( int ) MathRound (spread/ SymbolInfoDouble ( Symbol (), SYMBOL_POINT )); 
   if (spread_points<= 5 )
  {
  trade.Buy( 0.1 , _Symbol ,ask,bid- 300 * _Point ,bid+ 300 * _Point );
  }
  }
  }

Eh ... elinden geldiğince yazdı)

Dosyalar:
 
vladzeit :
Bana iyi insanlar söyle...
Test cihazında böyle bir byaka ile karşı karşıya kaldı.
Yayılma düzeyine göre pazara girerken bir filtre koymaya çalışırken. Test cihazı bunu yok sayar (yayılır).
Ama yok sayar, sadece son 6 aydan itibaren. Normalde 5 aylık testler, filtreler.
Bir yerde okudum, test cihazı bir şekilde yayılmayı kendi yöntemiyle hesaba katıyor ve buna göre filtrelemeyi imkansız kılıyor,
ama 5 aydır kafa karıştırıyor. yine de hesaba katıyor ve oldukça cana yakın hizmet veriyor...
Ekran görüntüsü ektedir.
Soru şu.
Bu, test cihazının bir özelliği mi? Yoksa bilmediğim ayarları mı var?
Ya da belki bu koşulun bir şekilde programlı olarak ayarlanması gerekiyor?

Filtreyi böyle test etmek için yazdım ...

Eh ... elinden geldiğince yazdı)

" Her tik , gerçek kenelere göre" modunda test edin:

 //+------------------------------------------------------------------+
//| "Tick" event handler function                                    |
//+------------------------------------------------------------------+
void OnTick ()
  {
   double ask  = SymbolInfoDouble ( Symbol (), SYMBOL_ASK );
   double bid  = SymbolInfoDouble ( Symbol (), SYMBOL_BID );
   long spread = SymbolInfoInteger ( Symbol (), SYMBOL_SPREAD );

   if (ask== 0.0 || bid== 0.0 || spread= 0 )
       return ;

   if ( PositionsTotal ()> 0 )
       return ;

   if (spread_points<=InpSpread)
     {
      trade.Buy( 0.1 , Symbol (),ask,ask- 300 * Point (),ask+ 300 * Point ());
     }
  }

InpSpread bir giriş uzun parametresidir.

 
Vladimir Karputov :

"Gerçek tiklere dayalı her onay " modunda test edin:

InpSpread bir giriş uzun parametresidir.

Teşekkürler Vladimir, girişi uzun ayarlayın.

 input long   InpSpread = 5 ;
spread= 0 //поправил, на == это ведь сравнение?
if (spread_points<=InpSpread) // поправил на spread

Her şey çalışıyor, ancak yine de yayılmayı yalnızca 5 ay boyunca filtreliyor. " Her tik gerçek tiklere dayanmaktadır" diye gözlemliyorum.

Belki MetaQuotes alıntılarıdır, şimdi başkalarını deneyeceğim.