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

 

Per Roger.

Non venderò, non venderò, sono a posto con i soldi. Voglio condividere le idee e capire la ragione della mia stupidità ))

 

Si prega di consigliare come chiamare indicatori AO e AC personalizzati tramite iCustom. E come scrivere la seguente condizione attraverso iCustom. Grazie in anticipo.


if (iAO(NULL,0,i) > iAO(NULL,0,i+1) && iAC(NULL,0,i)> iAC(NULL,0,i+1))
{ }
else
if (iAO(NULL,0,i) < iAO(NULL,0,i+1) && iAC(NULL,0,i) < iAC(NULL,0,i+1))

 
Stepan241 >> :

Gente, buon pomeriggio.

Mi sono imbattuto in un rilevatore di tendenze su uno dei forum. L'autore ha affermato che mostra la tendenza molto bene e può aiutarmi a creare un sistema di oscillatori. Ma l'ha implementato direttamente nel suo Expert Advisor. Ho provato a fare un indicatore basato su di esso. Voglio vedere se calcola correttamente.

Cito l'autore:

-----------------------------------------------

Non mi aspettavo un risultato così buono da questa mia scoperta. Accidentalmente l'ho accecato - mettilo su. Ed è anche saltato in piedi dalla sorpresa!

Questo metodo è stato anche leggermente discusso qui - qui https://www.mql5.com/ru/forum/105321/page11



 

Buon pomeriggio a tutti.

Potreste dirmi come calcolare il numero di incroci del prezzo di un certo livello? Voglio che il mio ordine si apra dopo 3 (4,5...), ma non dopo il primo incrocio.

Grazie.

 
Per favore, ditemi come scrivere le seguenti condizioni. Se il prezzo corrente è inferiore al prezzo medio del giorno, allora.... e secondo, se il prezzo alle 14.56 (per esempio) del giorno corrente è superiore al prezzo attuale, allora... Sarebbe molto interessante avere una risposta. Non posso ancora risolvere il problema da solo. Grazie in anticipo.
 
future >> :
Per favore, ditemi come scrivere le seguenti condizioni. Se il prezzo corrente è inferiore al prezzo medio del giorno, allora.... e secondo, se il prezzo alle 14.56 (per esempio) del giorno corrente è superiore al prezzo attuale, allora... Sarebbe molto interessante avere una risposta. Non posso ancora risolvere il problema da solo. Grazie in anticipo.
extern string xxxxxxxxxxxxx="x=0 сегодня х=1 вчера итд";
extern int х=0;
int середина=(iHigh(0,PERIOD_D1, х)-iLow(0,PERIOD_D1, х))/2;
if(Bid> середина)...;
if(Ask< середина)...;


extern datetime some_time=D'14:56';
int середина_some_time=(iHigh(0,0,iBarShift(0,0, some_time))-iLow(0,0,iBarShift(0,0, some_time)))/2;
if(Bid> середина_some_time)...;
if(Ask< середина_some_time)...;
 
skifodessa >> :

Buon pomeriggio a tutti.

Potresti dirmi come calcolare quante volte il prezzo ha attraversato un certo livello? Voglio aprire l'ordine dopo 3 (4,5...), ma non dopo il primo passaggio di livello.

Grazie.

Capisco che le condizioni saranno limitate nel tempo! (la terza traversata arriverà domani ))))

Consiglio di aggiungere alle condizioni i dati della fama senior. (se M5..M30 allora H1..H4)

Per esempio

if(ССI(M5)>0 && CCI(H1)>0 ) OpenB();
 
Stepan241 писал(а) >>

Gente, buon pomeriggio.

Su uno dei forum, mi sono imbattuto in un INDICATORE DI TREND...

https://www.mql5.com/ru/forum/105321/page11#53278

 
Necron >> :

Si prega di consigliare come chiamare gli indicatori personalizzati AO e AC attraverso iCustom. E come specificare la seguente condizione attraverso iCustom. Grazie in anticipo.


if (iAO(NULL,0,i) > iAO(NULL,0,i+1) && iAC(NULL,0,i)> iAC(NULL,0,i+1))
{ }
else
if (iAO(NULL,0,i) < iAO(NULL,0,i+1) && iAC(NULL,0,i) < iAC(NULL,0,i+1))

Perché avete bisogno di chiamarli attraverso iCast? È per l'unificazione? Bene, scrivi un indicatore-wrapper separato per ognuno di loro e usa iCustom per chiamarli...

 
skifodessa >> :

Buon pomeriggio a tutti.

Potete dirmi come calcolare quante volte il prezzo ha attraversato un certo livello? Voglio che il mio ordine si apra dopo 3 (4,5...), ma non dopo il primo passaggio di livello.

Grazie.

Per esempio, ecco una variante universale. A proposito, sarebbe utile avere una funzione per rilevare gli incroci:

int Cross(double a[], double level, int pos)
{
   if( a[ pos]< level&& a[ pos+1]> level) return(-1);
   if( a[ pos]> level&& a[ pos+1]< level) return(1);
   return(0);
}

cioè se l'incrocio è su, è 1, se è giù -1, altrimenti è 0

Ora conta (bar_limit - tempo massimo di diffusione)

int count=0;
for ( i=0; i< bars_limit; i++)
{
   if( Cross( a, level, i)==1) count++;// ну или -1 если пересечения вниз считаем
}

if( count>=3) //4,5,...
{
...
}