Come codificare? - pagina 212

 

int today=StrToTime("19:59");

int yesterday=StrToTime("19:59")-3600*24;

int twodaysbeforeyesterday=StrToTime("19:59")-3600*24*3;

così

double closetwodaysbeforeyesterday=iClose(Symbol(),PERIOD_M1,iBarShift(Symbol(),PERIOD_M1,StrToTime("19:59")-3600*24*3));

 
Kalenzo:
Prima definisci la funzione getMagic() che ti darà i numeri magici e mettila nella funzione ordersend (come parametro per impostare il numero magico).

Poi, nella funzione get magic, dovreste fare quanto segue:

getMagic()

{

1) impostare il ciclo for(int i = 1;i<21;i++) per controllare i numeri da 1 a 20

2) dopo, fai un altro ciclo (all'interno del primo for) per ogni numero i con un ciclo for da 0 a OrdersTotal controllando se hai trovato il numero magico uguale a i, se non hai trovato il tuo numero magico allora significa che è libero e puoi usarlo come valore di ritorno di questa funzione (getMagic) e passarlo alla funzione orderSend, altrimenti usa la parola chiave contunue per saltare ad un altro controllo del numero magico.

}

Ciao Kalenzo,

Grazie per la risposta!

Se il codice è corretto?

MagicNumber = 1000;

maxRepetitions = 20;

z = maxRipetizioni;

magic = getMagic();

getMagic()

{

findmagic = MagicNumber+i;

for(int i=1;i<=z;i++)

{

for(int n=1;n<=openOrders;n++)

{

OrderSelect(n, SELECT_BY_POS, MODE_TRADES);

if (OrderSymbol()==Symbol())

{

se (OrderMagicNumber() != findmagic) continua;

magic = MagicNumber+i;

}

}

}

return(magic);

}

Grazie e saluti

derumuro

 

derumuro

Se ho capito la tua richiesta questo è più quello che stai cercando.

Dovresti studiare il modo in cui le variabili sono condivise tra le funzioni e l'ambito globale, avrai grossi problemi se non capisci le differenze tra l'ambito locale e quello verbale.

Dovresti determinare come gestire la situazione in cui tutti i 20 ordini sono stati piazzati. vuoi restituire un numero negativo? per far sapere al programma che non sono ammessi altri ordini. Ci deve essere una sicurezza incorporata nel tuo codice.

int MagicNumber = 1000;

int maxRepetitions = 20;

int magic = getMagic( MagicNumber, maxRepetitions );

int getMagic( int StartNumber, int Repeat ) {

// CN!{if an error or no open MagicNumbers are avaible it will return -1}:

int ReturnNumber = -1;

for( int i = 1; i <= Repeat; i ++ ) {

for( int n = 0; n <= OrdersTotal(); n ++ ) {

OrderSelect( n, SELECT_BY_POS, MODE_TRADES );

if( OrderSymbol() == Symbol() ) {

if( OrderMagicNumber() != StartNumber + i ) continue;

ReturnNumber = StartNumber + i;

}

}

}

return( ReturnNumber );

}

derumuro:
Ciao Kalenzo,

Grazie per la risposta!

Se il codice è corretto?

MagicNumber = 1000;

maxRepetitions = 20;

z = maxRipetizioni;

magic = getMagic();

getMagic()

{

findmagic = MagicNumber+i;

for(int i=1;i<=z;i++)

{

for(int n=1;n<=openOrders;n++)

{

OrderSelect(n, SELECT_BY_POS, MODE_TRADES);

if (OrderSymbol()==Symbol())

{

se (OrderMagicNumber() != findmagic) continua;

magic = MagicNumber+i;

}

}

}

return(magic);

}

Grazie e saluti

derumuro
 

Ciao cockeyedcowboy

grazie per il tuo aiuto!

Non sono un programmatore. Cerco di imparare MQL4, ma ho 3 problemi principali.

1. Capisco molto poco l'inglese.

2. Non ho trovato una buona guida per MQL4.

3. Non ho nessuno che mi aiuti.

Domanda: C'è un linguaggio di programmazione che è simile MQL4?

Saluti

derumuro

 
Roger09:
int today=StrToTime("19:59");

int yesterday=StrToTime("19:59")-3600*24;

int twodaysbeforeyesterday=StrToTime("19:59")-3600*24*3;

così

double closetwodaysbeforeyesterday=iClose(Symbol(),PERIOD_M1,iBarShift(Symbol(),PERIOD_M1,StrToTime("19:59")-3600*24*3));

Grazie, Roger09

 

Determinare programmaticamente se l'esecuzione a mercato

Qualcuno sa se c'è un modo per determinare programmaticamente se un ordine deve essere aperto con "esecuzione a mercato" o se sono permessi stoploss / takeprofits nell'ordine iniziale?

 

C.

Se vai su metaquotes.net, potresti trovare metatrader nella tua lingua madre.

derumuro:
Ciao cockeyedcowboy

Grazie per il suo aiuto!

Non sono un programmatore. Cerco di imparare MQL4, ma ho 3 problemi principali.

1. Capisco molto poco l'inglese.

2. Non ho trovato una buona guida per MQL4.

3. Non ho nessuno che mi aiuti.

Domanda: C'è un linguaggio di programmazione che è simile MQL4?

Saluti

derumuro
 

Valore ATR in csv - Script

Ciao, ho un problema. Ho bisogno di importare il valore ATR da metatrader in un file csv.

Purtroppo non so come fare.

Per favore aiutatemi a scrivere lo script.

Ho provato ad usare FileWrite - MQL4 Documentation e iATR - MQL4 Documentation. Ma ho fallito.

 
nondisclosure007:
C. Se vai su metaquotes.net, potresti trovare metatrader nella tua lingua madre.

Grazie!

Sto cercando una buona guida per MQL4

Saluti

derumuro

 
derumuro:
Grazie !

Sto cercando una buona guida per MQL4

Saluti

derumuro

Quella sul sito è ok

MetaQuotes Language 4 - MQL4

Motivazione: