[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 1075

 

Merhaba. Bir histogram şeklinde momentuma ihtiyacımız var. Belki biri seslenir.

Teşekkür ederim.

 
fozi :

Merhaba. Bir histogram şeklinde momentuma ihtiyacımız var. Belki biri seslenir.

Teşekkür ederim.

https://www.mql5.com/ru/forum/111497/page1075
Bir çizgi veya histogram, görsel dışında özü değiştirmez.
 
bundan bahsediyorum, görselleştirme gerekli
 
fozi :
bundan bahsediyorum, görselleştirme gerekli
Dosyalar:
 

Aşırı hareketi tanımlayan bu işlevin doğru olup olmayacağı.

extern int CandleVolume=60 - önceki mumun boyutu 60 pipten fazlaysa

------ önceki mumun hacmini kontrol etme işlevi

int CheckVolume()
{

int hacim=MathAbs( NormalizeDouble (Düşük[1],Digits)-NormalizeDouble(Yüksek[1],Digits));

if (hacim <= Mum Hacmi) dönüş (1);

if (hacim > CandleVolume) dönerse (-1);

}

-------- başlangıçta kontrol aşağıdaki gibidir

if(CalculateCurrentOrders(Symbol())==0 && CheckVolume()==1 )

{CheckForOpen();}

 

Başka bir soru: Önceki çubuğu kontrol etmeye çalışıyorum. Satın almak için kontrol edin - Bir önceki çubuk + spread'in en yüksek değerinden daha fazlasını isteyin. Satış kontrolü - Bir önceki çubuğun Düşük değerinin altında, spread eksi olarak teklif verin. Bu fonksiyon ne kadar doğru? Maalesef çalışmıyor.

int Kontrol Çubuğu()
{
double Spread=MarketInfo( Symbol() ,MODE_SPREAD);
çift FiyatBuy=Sor;
double PriceSell=Teklif;
if(FiyatSatış<(Düşük[1]-Spread)) return(-1);
if(PriceBuy>(Yüksek[1]+Spread)) return(1);
}
 
dzhini :

Başka bir soru: Önceki çubuğu kontrol etmeye çalışıyorum. Satın almak için kontrol edin - Bir önceki çubuk + spread'in en yüksek değerinden daha fazlasını isteyin. Satış kontrolü - Bir önceki çubuğun Düşük değerinin altında, spread eksi olarak teklif verin. Bu fonksiyon ne kadar doğru? Maalesef çalışmıyor.


 int CheckBar(){   
   double Spread=MarketInfo( Symbol (),MODE_SPREAD);   
   double PriceBuy=Ask;   
   double PriceSell=Bid;   
   if (PriceSell   < (Low[ 1 ]  - Spread* Point )) return (- 1 );   
   if (PriceBuy  > (High[ 1 ] + Spread* Point )) return ( 1 );
   return ( 0 );
}
 
dzhini :

Başka bir soru: Önceki çubuğu kontrol etmeye çalışıyorum. Satın almak için kontrol edin - Bir önceki çubuk + spread'in en yüksek değerinden daha fazlasını isteyin. Satış kontrolü - Bir önceki çubuğun Düşük değerinin altında, spread eksi olarak teklif verin. Bu fonksiyon ne kadar doğru? Maalesef çalışmıyor.

Sık sık yüzdüğü için bir forma kullanmazdım ...
 
Vinin :

Çok teşekkürler. kazanıldı. İlim hazinesine gider))) Söyle bana, önceki mumun boyutunu belirleyen fonksiyonla ne yapılmalı?

extern int CandleVolume=60 - önceki mumun boyutu 60 pipten fazlaysa

------ önceki mumun hacmini kontrol etme işlevi

int CheckVolume()
{

int hacim=MathAbs( NormalizeDouble (Düşük[1],Digits)-NormalizeDouble(Yüksek[1],Digits));

if (hacim <= Mum Hacmi) dönüş (1);

if (hacim > CandleVolume) dönerse (-1);

}

-------- başlangıçta kontrol aşağıdaki gibidir

if(CalculateCurrentOrders(Symbol())==0 && CheckVolume()==1 )

{CheckForOpen();}

 
AlexSTAL :
Sık sık yüzdüğü için bir forma kullanmazdım ...


Problem değil. Her tikte yeni bir şekilde yayılma talep ediyoruz ve sorun ortadan kalkıyor - her tikte elimizde her zaman taze bir yayılım olacak. Değişken spreadlere sahip bir DC'de çalışıyorsanız, her onay için minimum seviyeyi yeni bir şekilde istemek de zarar vermez.

SPR=MarketInfo( Symbol (),MODE_SPREAD);
MinLevel=MarketInfo( Symbol (),MODE_STOPLEVEL);
Neden: