Come codificare? - pagina 53

 

Prova questo...

Metti

double ma_cross;[/CODE] as a global variable.

In the start function :

[CODE]

double ma1=NormalizeDouble(first_ma,Digits);

double ma2=NormalizeDouble(second_ma,Digits);

if(ma1=ma2)

{

ma_cross=ma1;

}

int spread=MarketInfo(Symbol(), MODE_SPREAD);

SLbuy=ma1+spread-SL*Point;

SLsell=ma1+SL*Point;

Spero che questo aiuti

 

Chiudere/Aprire le compravendite a segnale invertito

Ho un piccolo problema:

Nel mio EA ho una BuyCondition e una Sell Condition e un ordine di chiusura per i segnali invertiti. Per evitare di aprire e chiudere trade all'interno della stessa barra ho il seguente codice:

if(OneEntryPerBar==true)

{

if(CheckEntryTime==iTime(NULL,PERIOD_H1,0)) return(0); else CheckEntryTime = iTime(NULL,PERIOD_H1,0);

}

Tutto bene. Ma ora se trova una condizione di vendita durante un'operazione di acquisto aperta, chiude l'acquisto, il che va bene. Ma non apre la vendita perché il codice di cui sopra lo impedisce.

Qualche idea su come farlo chiudere e aprire all'interno di 1 barra... ma solo una volta per barra?

Spero di essere stato chiaro.

Grazie

 

Chiudere e cancellare a una certa ora?

Qualcuno può aiutarmi a impostare l'EA che chiude tutti gli ordini aperti e cancella tutti gli ordini pendenti a una certa ora, cioè alle 5:15 UTC+1?

È anche possibile specificare non solo l'ora ma anche la data?

 
dxtrade:
Ho un piccolo problema qui:

Nel mio EA ho una BuyCondition e una Sell Condition e un ordine di chiusura per i segnali invertiti. Per evitare di aprire e chiudere operazioni all'interno della stessa barra ho il seguente codice:

if(OneEntryPerBar==true)

{

if(CheckEntryTime==iTime(NULL,PERIOD_H1,0)) return(0); else CheckEntryTime = iTime(NULL,PERIOD_H1,0);

}

Tutto bene. Ma ora se trova una condizione di vendita durante un'operazione di acquisto aperta, chiude l'acquisto, il che va bene. Ma non apre la vendita perché il codice di cui sopra lo impedisce.

Qualche idea su come farlo chiudere e aprire all'interno di 1 barra... ma solo una volta per barra?

Spero di essere stato chiaro.

Grazie

non si aprirà a causa del codice che usi sopra... fino all'ora successiva...

puoi provare questo...

if (OrderOpenTime() >= iTime(NULL, PERIOD_H1, 0)) order++;

se (ordine < 1)

{

condizioni dell'ordine

}

spero che questo aiuti... non sono un esperto... ma questo codice non impedisce di farlo più di una volta...

 

Aiutami Ea

Non parlo inglese, voglio aggiungere Maxtrade e Risk.

Grazie

File:
zero.mq4  10 kb
 
wasanmyza:
Non parlo inglese, voglio aggiungere Maxtrade e Risk Mi aiutate Grazie

Ciao,

Hai altri problemi con questo EA. Tu affermi che vorresti fare un acquisto o una vendita quando VAR1, VAR2 o VAR3 ha raggiunto o superato certi valori.

Devi prima definire cos'è VAR1, 2 e 3? Qualche indicatore con impostazioni specifiche?

Grazie,

StrangeGuy

 

Prendere profitto, cancellare tutti gli altri ordini

Qualcuno sa come codificare una volta che l'ordine aperto ha colpito l'obiettivo di profitto, il resto degli ordini pendenti sarà cancellato? È diverso da oco. Ho controllato la sezione elite, ma niente lì.

 

domanda

Non capisco la differenza di due programmi, ma lo insegnerebbe?

int limit = Bars-IndicatorCounted();

int i ;

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

int counted_bars=IndicatorCounted();

//---- controllare eventuali errori

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

//---- l'ultima barra contata sarà ricontata

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

for(i = 0; i <= limite; i++)

 
nakata79087:
Non capisco la differenza tra i due programmi, ma lo insegnerebbe?

int limit = Bars-IndicatorCounted();

int i ;

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

int counted_bars=IndicatorCounted();

//---- controllare eventuali errori

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

//---- l'ultima barra contata sarà ricontata

if(counted_bars>0) counted_bars--;

limite=Bars-counted_bars;

for(i = 0; i <= limite; i++)

La differenza più importante è la direzione del ciclo "for":

Il primo scansiona le barre seguendo il tempo naturale, cioè dalla barra più vecchia a quella più recente.

Il secondo scansiona le barre nella direzione opposta: può funzionare se il calcolo di una barra non coinvolge il risultato della barra precedente;

In generale è meglio usare la stessa direzione del tempo: funziona sempre e non ci sono possibilità di errore.

 

Grazie a voi

Grazie per la vostra gentilezza, Michel!

Sono stato turbato per molto tempo, perché iniziare una firma diversa anche se due queste sono lievi differenze.