[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 1075

 

Hallo zusammen. Ich brauche ein Momentum-Histogramm. Ich habe mich gefragt, ob mir jemand ein Histogramm geben kann.

Ich danke Ihnen.

 
fozi:

Hallo zusammen. Ich brauche ein Momentum-Histogramm. Ich habe mich gefragt, ob mir jemand ein Histogramm geben kann.

Ich danke Ihnen.

https://www.mql5.com/ru/forum/111497/page1075
Linie oder Histogramm, ändert nichts an dem Punkt, außer visuell.
 
Genau das meine ich, wir brauchen Anschauungsmaterial.
 
fozi:
Genau das meine ich, wir brauchen Anschauungsmaterial.
Dateien:
 

Ist diese Funktion, die eine übermäßige Bewegung erkennt, korrekt?

extern int CandleVolume=60 - wenn die Größe der vorherigen Kerze mehr als 60 Pips beträgt

------ Funktion zur Überprüfung des Volumens der vorherigen Kerze

int CheckVolume()
{

int volume=MathAbs(NormalizeDouble(Low[1],Digits)-NormalizeDouble(High[1],Digits));

if (volume <= CandleVolume) return (1);

if (Volumen > CandleVolume) return (-1);

}

-------- Überprüfung beim Start wie folgt

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

{CheckForOpen();}

 

Eine weitere Frage: Ich versuche, den vorherigen Takt zu überprüfen. Buy check - Ask ist höher als das High des vorherigen Bars + Spread. Verkaufscheck - Das Gebot ist niedriger als das Tief des vorherigen Balkens abzüglich des Spreads. Wie korrekt ist diese Funktion? Leider klappt das nicht.

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

Eine weitere Frage: Ich versuche, den vorherigen Takt zu überprüfen. Buy check - Ask ist höher als das High des vorherigen Bars + Spread. Verkaufscheck - Das Gebot ist niedriger als das Tief des vorherigen Balkens abzüglich des Spreads. Wie korrekt ist diese Funktion? Leider funktioniert das nicht.


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:

Eine weitere Frage: Ich versuche, den vorherigen Takt zu überprüfen. Buy check - Ask ist höher als das High des vorherigen Bars + Spread. Verkaufscheck - Das Gebot ist niedriger als das Tief des vorherigen Balkens abzüglich des Spreads. Wie korrekt ist diese Funktion? Leider funktioniert das nicht.

Ich würde den Aufstrich überhaupt nicht verwenden, da er oft aufschwimmt...
 
Vinin:

Ich danke Ihnen vielmals. Es klappt. Hier geht es zu meiner Wissensdatenbank )))) Was ist mit der Funktion zu tun, die die Größe der vorherigen Kerze definiert?

extern int CandleVolume=60 - wenn die Größe der vorherigen Kerze mehr als 60 Pips beträgt

------ Funktion, die das Volumen der vorherigen Kerze überprüft

int CheckVolume()
{

int volume=MathAbs(NormalizeDouble(Low[1],Digits)-NormalizeDouble(High[1],Digits));

if (volume <= CandleVolume) return (1);

if (Volumen > CandleVolume) return (-1);

}

-------- wie folgt prüfen

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

{CheckForOpen();}

 
AlexSTAL:
Ich würde überhaupt keine Spreads verwenden, weil sie oft schweben...


Das ist kein Problem. Bei jedem Tick fordern wir einen neuen Spread an, und das Problem ist gelöst - wir haben bei jedem Tick immer einen frischen Spread. Wenn Sie bei einem Maklerunternehmen mit variablen Spreads arbeiten, kann es nicht schaden, bei jedem Tick nach einem Mini-Level zu fragen.

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