[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 1075

 

Ciao a tutti. Ho bisogno di un istogramma del momento. Mi chiedevo se qualcuno potesse darmi un istogramma.

Grazie.

 
fozi:

Ciao a tutti. Ho bisogno di un istogramma del momento. Mi chiedevo se qualcuno potesse darmi un istogramma.

Grazie.

https://www.mql5.com/ru/forum/111497/page1075
Linea o istogramma, non cambia il punto, se non visivamente.
 
È quello che sto dicendo, le immagini sono necessarie
 
fozi:
È quello che sto dicendo, le immagini sono necessarie
File:
 

Questa funzione che rileva un movimento eccessivo è corretta?

extern int CandleVolume=60 - se la dimensione della candela precedente è più di 60 pip

------ funzione che controlla il volume della candela precedente

int CheckVolume()
{

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

se (volume <= CandleVolume) ritorna (1);

se (volume > CandleVolume) ritorna (-1);

}

-------- controllare come segue

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

{CheckForOpen();}

 

Un'altra domanda: sto cercando di controllare la barra precedente. Buy check - Ask è superiore all'High della barra precedente + spread. Sell check - L'offerta è inferiore al minimo della barra precedente meno lo spread. Quanto è corretta questa funzione? Purtroppo non funziona.

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

Un'altra domanda: sto cercando di controllare la barra precedente. Buy check - Ask è superiore all'High della barra precedente + spread. Sell check - L'offerta è inferiore al minimo della barra precedente meno lo spread. Quanto è corretta questa funzione? Purtroppo non funziona.


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:

Un'altra domanda: sto cercando di controllare la barra precedente. Buy check - Ask è superiore all'High della barra precedente + spread. Sell check - L'offerta è inferiore al minimo della barra precedente meno lo spread. Quanto è corretta questa funzione? Purtroppo non funziona.

Non userei affatto lo spread, perché spesso galleggia...
 
Vinin:

Grazie mille. Funziona. Va alla mia base di conoscenze )))) Per favore, consigliate cosa fare con la funzione che definisce la dimensione della candela precedente?

extern int CandleVolume=60 - se la dimensione della candela precedente è più di 60 pip

------ funzione che controlla il volume della candela precedente

int CheckVolume()
{

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

se (volume <= CandleVolume) ritorna (1);

se (volume > CandleVolume) ritorna (-1);

}

-------- controllare come segue

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

{CheckForOpen();}

 
AlexSTAL:
Non userei affatto gli spread, perché spesso galleggiano...


Questo non è un problema. Con ogni tick richiediamo un nuovo spread, e il problema è risolto - avremo sempre uno spread fresco su ogni tick. Se lavorate in una società di brokeraggio con spread fluttuanti, non sarebbe male chiedere un mini-livello ad ogni tick.

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