Chiedete! - pagina 104

 
Kalenzo:
Prova ad usare NormalizeDouble(price,Digits). A volte il prezzo di metatrader non è 1.2000 ma 1.20020031023012 e il resto delle cifre è un problema per metatrader quando piazza un ordine in sospeso. Usa NormalizeDouble e sarà ok

Grazie mille Kalenzo, ora funziona.

 

Definire i giorni di negoziazione

Cancellato

Soluzione trovata!

Ciao Codificatori

Cerco di inserire una funzione nel mio EA per scegliere i giorni di trading.

La funzione per le ore di trading funziona bene.

Per le ore di trading uso il seguente:

extern string TradingHours = "TRADING HOURS";

extern bool UseHourTrade = True;

extern int FromHourTrade = 8;

extern int ToHourTrade = 18;

e successivamente dopo int start:

se (UseHourTrade){

if (!(Hour()>=FromHourTrade && Hour()<=ToHourTrade)) {

Comment("L'ora per il commercio non è ancora arrivata!)

return(0);

Ma cosa è necessario per selezionare i giorni di trading?

Quando definisco l'extern come segue

extern string TradingDays = "TRADING Days";

extern bool UseDayTrade = True;

extern int FromDayTrade = DayOfWeek;

extern int ToDayTrade = DayOfWeek;

poi ho due messaggi:

'DayOfWeek'-variabile attesa

cosa fare?

Qualcuno può aiutarmi?

Grazie per qualsiasi aiuto

 

GURU!!! Per favore, aiutatemi!

Nevermind.....

 

Per favore aiutate tutti

Ho avuto un problema, come fare solo 1 posizione aperta e 2 in sospeso.

diciamo solo Buy e Buystop, Sellstop.

Ho avuto un'informazione prima da qualcuno in mql4, lui usa:

if(buystoporder>0 && sellstoporder>0)return(0);

e prima di questo, usa switch(OrderType()).

Sono confuso, dove devo cambiare il codice?

Sono finito nel buystop e sellstop aperto più volte quando cambio il codice, mentre se non, aspetta fino a quando uno è trigerred, raggiungere il loro SL o TP e poi fare un nuovo 2 in sospeso.

Il mio obiettivo è 1 aperto e 2 in sospeso, così quando l'aperto raggiunge lo SL o il TP, uno dei pendenti è trigerred, uno non è trigerred sarà cancellato. e fare un altro 2 in sospeso.

ed è possibile mettere un numero magico nell'opzione switch()?

Grazie mille per il vostro aiuto.

 

Qual è un'istruzione facile da controllare per vedere se 2 medie mobili si sono incrociate entro 5 barre prima della barra corrente? Qualcuno può aiutarmi con questo?

Dave

-OR-

Come si dichiarano 5 dichiarazioni condizionali? Se tutte e 5 sono accettabili, viene dichiarato un buyvalue=1.

Non so se questo funzionerebbe di seguito: Qualcuno può commentare questo per sapere se funzionerebbe, se no, come dovrebbe essere dichiarato?

if(Condizione1)

se(Condizione2)

se(Condizione3)

se(Condizione4)

se(Condizione5)

{

buyvalue=1;

}

Dave

 
if(Condition1)

if(Condition2)

if(Condition3)

if(Condiition4)

if(Condition5)

{

buyvalue=1;

}

Questo è il modo più economico e veloce per scrivere test multicondizionali.

È il più veloce perché se la condizione1 non è soddisfatta, le condizioni 2, 3, ... non vengono valutate, cosa che non avviene se si mette l'operatore "&&" tra di esse.

Quindi iniziate con la condizione più probabile non frequente.

Quindi questo funzionerà senza dubbio.

Ora, dato che state spesso chiedendo se qualcosa funzionerà, la cosa migliore è provare, è anche un buon modo per imparare.

Grazie.

 
Dave137:
Qual è un'istruzione facile da controllare per vedere se 2 medie mobili si sono incrociate entro 5 barre prima della barra corrente? Qualcuno può aiutarmi con questo?

ma1_0 = iMA(....,0);

ma2_0 = iMA(....,0);

ma1_5 = iMA(....,5);

ma2_5 = iMA(....,5);

if((ma1_0 - ma2_0) * (ma1_5 - ma2_5) < 0) cross = true;
 

Come faccio a...

Ciao a tutti,

Per favore, puoi mostrarmi, se vuoi, come faccio a dire:-

"se la posizione precedente ha chiuso sulla candela "0" o sulla candela "1", allora non aprire un'altra posizione su quella stessa candela" oppure, anche se la candela "0" soddisfa le condizioni richieste per aprire un'altra posizione... se la posizione precedente ha chiuso su quella candela allora impedirle di aprire un'altra posizione, aspettare che le condizioni siano nuovamente giuste.

Posso dirlo in inglese ma sono ancora un po' troppo nuovo per mql4.

grazie

amatrader

 

Si potrebbe usare il seguente frammento di codice:

bool last_order_closed_rather_recently = false;

for ( int i = OrdersHistoryTotal() - 1; i >= 0;i-- ) {

if ( ! OrderSelect( i, SELECT_BY_POS, MODE_HISTORY ) ) continue;

if ( OrderCloseTime() >= Time[ 1 ] ) {

last_order_closed_rather_recently = true;

break;

}

}

[/PHP]

after which you have the bool variable "last_order_closed_rather_recently" telling whether there was an order closed after the opening of bar 1. Then somewhere you'd have:

[PHP]if ( last_order_closed_rather_recently ) return( 0 );

prima di entrare in una nuova transazione.

 

Grazie signore, molto apprezzato.