Come codificare? - pagina 294

 

OrderSend(Simbolo..... query

int ticket=OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,0, "expert comment",255,0,CLR_NONE);

la mia domanda è questa

la parte symbol() può essere cambiata in modo che dica eurusd, così quando eseguo lo script di acquisto compra solo eurusd ... da qualsiasi grafico lo eseguo?

Qualcosa come:

int ticket=OrderSend(eurusd,OP_BUY,1.0,Ask,3,0,0, "expert comment",255,0,CLR_NONE);

grazie

 

...

Sì, può

Basta fare attenzione all'involucro. Il richiamo dovrebbe assomigliare a questo :

int ticket=OrderSend("EURUSD",OP_BUY,1.0,Ask,3,0,0,"expert comment",255,0,CLR_NONE);
al_shore:
int ticket=OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,0, "expert comment",255,0,CLR_NONE);

La mia domanda è questa:

la parte symbol() può essere cambiata in modo che dica eurusd, così quando eseguo lo script di acquisto compra solo eurusd ... da qualsiasi grafico lo esegua?

Qualcosa come:

int ticket=OrderSend(eurusd,OP_BUY,1.0,Ask,3,0,0, "expert comment",255,0,CLR_NONE);

grazie
 

EA non lavora

Cari amici,

Sono nuovo nel Forex, anche se non ha dato errore durante la compilazione, non l'ho fatto funzionare, per favore qualcuno mi aiuti su ciò che è sbagliato con esso?

grazie in anticipo

File:
test_ea.mq4  128 kb
 

...

Non si può semplicemente copiare un codice da un indicatore a un EA e aspettarsi che funzioni (specialmente gli indicatori di Nikolay Kostisin che non è noto per il codice semplice)

Per iniziare, meglio usare gli indicatori attraverso la chiamata iCustom() e mantenere la logica di trading nell'EA, in questo modo si otterrà un EA molto più facile da scrivere

kemal44:
Cari amici,

Sono nuovo nel Forex, anche se non ha dato errore durante la compilazione, non l'ho fatto funzionare, per favore qualcuno mi aiuti su ciò che è sbagliato con esso?

grazie in anticipo
 

Come codificare la qualità della volatilità EA

Saluto a tutti!

Sono nuovo di metatrader EA. Come faccio a codificare l'indicatore VQ in un EA per fare trading in timeframe M15 ma con un trigger di acquisto e vendita basato sul timeframe selezionato dell'indicatore Volatility Quality?

Molte grazie

File:
vq7.mq4  8 kb
 

Dovrete anche cambiare Ask in MarketInfo("EURUSD", MODE_ASK).

Altrimenti il trade non avrà successo. L'Ask sarà per il simbolo del grafico.

Tenete anche presente che alcuni broker aggiungono altri caratteri prima o dopo il nome del simbolo

come "EURUSDm".

Robert

al_shore:
int ticket=OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,0, "expert comment",255,0,CLR_NONE);

la mia domanda è questa:

la parte symbol() può essere cambiata in modo che dica eurusd, così quando eseguo lo script di acquisto compra solo eurusd... da qualsiasi grafico lo esegua?

Qualcosa come:

int ticket=OrderSend(eurusd,OP_BUY,1.0,Ask,3,0,0, "expert comment",255,0,CLR_NONE);

grazie
 

...

ymkoh

Controlla questo thread: https: //www.mql5.com/en/forum/general

Ci sono parecchie versioni di EA che usano la qualità della volatilità lì

ymkoh:
Un saluto a tutti!

Sono nuovo di metatrader EA. Come posso codificare l'indicatore VQ in un EA per scambiare in timeframe M15 ma comprare, vendere, innescare sulla base dell'indicatore Volatility Quality selezionato timeframe?

Molte grazie
 
mladen:
ymkoh

Controlla questo thread: https: //www.mql5.com/en/forum/general

Ci sono parecchie versioni di EA che utilizzano la qualità della volatilità

Grazie per le informazioni!

Ho provato la maggior parte di loro ma nessuno può funzionare.

esempi:- EA Trading TF H1 VQ input 240.

Funziona solo su Trading TF H1 VQ input 0 default.

Lo screenshot allegato mostra un esempio di trading TF H1 con segnale di acquisto innescato dall'indicatore VQ H4 timeframe. (Nessun EA allegato)

vq7.mq4

 

questo tipo di indicatore sull'esponente di Hurst

Ciao, qualcuno può aiutarmi? Voglio questo tipo di indicatore sull'esponente di Hurst. il codice è programmato con successo dal compilatore, ma non c'è immagine, potete sistemarlo? Grazie!

I valori dell'esponente di Hurst sono compresi tra 0 e 1.

* Un valore dell'esponente di Hurst H vicino a 0,5 indica una passeggiata casuale (una serie temporale browniana). In una passeggiata casuale non c'è correlazione tra qualsiasi elemento e un elemento futuro e c'è una probabilità del 50% che i valori di rendimento futuri salgano o scendano. Le serie di questo tipo sono difficili da prevedere.

* Un valore dell'esponente di Hurst H compreso tra 0 e 0,5 esiste per le serie temporali con "comportamento anti-persistente". Questo significa che un aumento tenderà ad essere seguito da una diminuzione (o una diminuzione sarà seguita da un aumento). Questo comportamento è talvolta chiamato "mean reversion", il che significa che i valori futuri avranno la tendenza a tornare a un valore medio a lungo termine. La forza di questa inversione media aumenta man mano che H si avvicina a 0.

* Un valore dell'esponente di Hurst H compreso tra 0,5 e 1 indica un "comportamento persistente", cioè la serie temporale è in tendenza. Se c'è un aumento dal passo temporale [t-1] a [t] ci sarà probabilmente un aumento da [t] a [t+1]. Lo stesso vale per le diminuzioni, dove una diminuzione tenderà a seguire una diminuzione. Più grande è il valore di H, più forte è la tendenza. Le serie di questo tipo sono più facili da prevedere delle serie che rientrano nelle altre due categorie.

Il calcolo è il seguente

Step_A、X= MathLog(Close/Close)

{ il valore di H da un singolo R/S

Step1、E = (1/n)*[X(0)+X(1)+X(2)+...+X(n-1) ]

Passo2、A(0) = X(0) - E

A(1) = X(1) - E

A(2) = X(2) - E

...

A(n-1) = X(n-1) - E

Step3、SOMMA(0) = A(0)

SOMMA(1) = A(0)+ A(1)

SOMMA(2) = A(0)+A(1) + A(2)

...

SOMMA(n-1) = A(0)+A(1) + A(2) + ...+ A(n-1)

Passo4、R= Massimo(SUM,n) - Minimo (somma, n)

Step5、H = log(R/S)/log(n/2) // Sia la deviazione standard dell'insieme di { X(0),X(1), X(2), ... X(n-1)}

}

Step_B、calcola H dall'insieme di { X(i),X(i+1), X(i+2), ... X(i+n-1)}

Step_C, calcolare H_SMA, che sia liscio, se H_SMA=0.5 allora allerta

il codice è il seguente

//+------------------------------------------------------------------+

//| #HURST.mq4

//| chenairbin. |

//| MetaTrader 4 Trading Platform / MetaQuotes Software Corp. |

//+------------------------------------------------------------------+

#proprietà copyright "chenairbin."

#property link "http://www.metaquotes.net"

#proprietà indicator_separate_window

#proprietà indicatore_minimo 0

#proprietà indicatore_massimo 1

#proprietà indicator_buffers 7

#proprietà indicator_color7 Giallo

extern int n=21,S_EMA=8;

extern double Natural=0.5;

double X[],E[],S[],A[],SUM[],H[],C[];

int init()

{

IndicatorBuffers(7);

SetIndexBuffer(0,X);

SetIndexBuffer(1,E);

SetIndexBuffer(2,S);

SetIndexBuffer(3,A);

SetIndexBuffer(4,SUM);

SetIndexBuffer(5,H);

SetIndexStyle(6,DRAW_LINE);

SetIndexBuffer(6,C);

return(0);

}

int start()

{

int i;

int limite;

int counted_bars=IndicatorCounted();

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

for (i=limite-1;i>=0;i--)

{

X= MathLog(Close/Close);

}

for (i=limit-1;i>=0;i--)

{

E=iMAOnArray(X,0,n,0,MODE_EMA,i);

S=iStdDevOnArray(X,0,n,0,MODE_EMA,i);

}

for (i=limit-1;i>=0;i--)

{

A=X-E;

}

for (i=limit-1;i>=0;i--)

{

for (int j=0;j<n;j--)

{

for (i=limit-1;0<=i<=j;i--)

{

doppio B=0,SUM[];

B=B+A;

SOMMA[j]=B;

}

}

H=MathLog((SUM[ArrayMaximum(SUM,n,0)]-SUM[ArrayMinimum(SUM,n,0)])/S)/MathLog(n/2);

}

for (i=limite-1;i>=0;i--)

{

C=iMAOnArray(H,0,S_EMA,0,MODE_EMA,i);

}

return(0);

}

//-----------------------------------------------------------

 

Questa parte :

for (i=limit-1;i>=0;i--)

{

for (int j=0;j<n;j--)

{

for (i=limit-1;0<=i<=j;i--) // you are alrady using "i" variable in in the outer loop

{

double B=0,SUM[]; // Sum is an un-initialized array and shoulde be created out of this loop.

B=B+A;

SUM[j]=B;

}

}

H=MathLog((SUM[ArrayMaximum(SUM,n,0)]-SUM[ArrayMinimum(SUM,n,0)])/S)/MathLog(n/2);

}

Commentate dove si trova l'errore. Senza descrizione non posso dire cosa state cercando di ottenere con quel codice, quindi non posso modificarlo.

chenairbin:
Ciao, qualcuno può aiutarmi? Voglio questo tipo di indicatore sull'esponente di Hurst. il codice è programmato con successo dal compilatore, ma nessuna immagine, potete sistemarlo? Grazie!

I valori dell'esponente di Hurst sono compresi tra 0 e 1.

* Un valore dell'esponente di Hurst H vicino a 0,5 indica una passeggiata casuale (una serie temporale browniana). In una passeggiata casuale non c'è correlazione tra qualsiasi elemento e un elemento futuro e c'è una probabilità del 50% che i valori di rendimento futuri salgano o scendano. Le serie di questo tipo sono difficili da prevedere.

* Un valore dell'esponente di Hurst H compreso tra 0 e 0,5 esiste per le serie temporali con "comportamento anti-persistente". Questo significa che un aumento tenderà ad essere seguito da una diminuzione (o una diminuzione sarà seguita da un aumento). Questo comportamento è talvolta chiamato "mean reversion", il che significa che i valori futuri avranno la tendenza a tornare a un valore medio a lungo termine. La forza di questa inversione media aumenta man mano che H si avvicina a 0.

* Un valore dell'esponente di Hurst H compreso tra 0,5 e 1 indica un "comportamento persistente", cioè la serie temporale è in tendenza. Se c'è un aumento dal passo temporale [t-1] a [t] ci sarà probabilmente un aumento da [t] a [t+1]. Lo stesso vale per le diminuzioni, dove una diminuzione tenderà a seguire una diminuzione. Più grande è il valore di H, più forte è la tendenza. Le serie di questo tipo sono più facili da prevedere delle serie che rientrano nelle altre due categorie.

Il calcolo è il seguente

Step_A、X= MathLog(Close/Close)

{ il valore di H da un singolo R/S

Step1、E = (1/n)*[X(0)+X(1)+X(2)+...+X(n-1) ]

Passo2、A(0) = X(0) - E

A(1) = X(1) - E

A(2) = X(2) - E

...

A(n-1) = X(n-1) - E

Step3、SOMMA(0) = A(0)

SOMMA(1) = A(0)+ A(1)

SOMMA(2) = A(0)+A(1) + A(2)

...

SOMMA(n-1) = A(0)+A(1) + A(2) + ...+ A(n-1)

Passo4、R= Massimo(SUM,n) - Minimo (somma, n)

Step5、H = log(R/S)/log(n/2) // Sia la deviazione standard dell'insieme di { X(0),X(1), X(2), ... X(n-1)}

}

Step_B、calcola H dall'insieme di { X(i),X(i+1), X(i+2), ... X(i+n-1)}

Step_C, calcolare H_SMA, che sia liscio, se H_SMA=0.5 allora allerta

il codice è il seguente

//+------------------------------------------------------------------+

//| #HURST.mq4

//| chenairbin. |

//| MetaTrader 4 Trading Platform / MetaQuotes Software Corp. |

//+------------------------------------------------------------------+

#proprietà copyright "chenairbin."

#property link "http://www.metaquotes.net"

#proprietà indicator_separate_window

#proprietà indicatore_minimo 0

#proprietà indicatore_massimo 1

#proprietà indicator_buffers 7

#proprietà indicator_color7 Giallo

extern int n=21,S_EMA=8;

extern double Natural=0.5;

double X[],E[],S[],A[],SUM[],H[],C[];

int init()

{

IndicatorBuffers(7);

SetIndexBuffer(0,X);

SetIndexBuffer(1,E);

SetIndexBuffer(2,S);

SetIndexBuffer(3,A);

SetIndexBuffer(4,SUM);

SetIndexBuffer(5,H);

SetIndexStyle(6,DRAW_LINE);

SetIndexBuffer(6,C);

return(0);

}

int start()

{

int i;

int limite;

int counted_bars=IndicatorCounted();

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

for (i=limite-1;i>=0;i--)

{

X= MathLog(Close/Close);

}

for (i=limit-1;i>=0;i--)

{

E=iMAOnArray(X,0,n,0,MODE_EMA,i);

S=iStdDevOnArray(X,0,n,0,MODE_EMA,i);

}

for (i=limit-1;i>=0;i--)

{

A=X-E;

}

for (i=limit-1;i>=0;i--)

{

for (int j=0;j<n;j--)

{

for (i=limit-1;0<=i<=j;i--)

{

doppio B=0,SUM[]

B=B+A;

SOMMA[j]=B;

}

}

H=MathLog((SUM[ArrayMaximum(SUM,n,0)]-SUM[ArrayMinimum(SUM,n,0)])/S)/MathLog(n/2);

}

for (i=limite-1;i>=0;i--)

{

C=iMAOnArray(H,0,S_EMA,0,MODE_EMA,i);

}

return(0);

}

//-----------------------------------------------------------