Ah questo è un metodo molto migliore. Stavo giocherellando con if (Ask == OrderTakeProfit()) {..} che scorre in bicicletta attraverso ogni ordine aperto, il che credo fosse un po' difettoso durante il back testing. Grazie!
In mql il nome di una variabile non può essere un numero né può iniziare con un numero, quindi l'unica soluzione è aggiungere qualche lettera, underscore o qualche carattere consentito davanti al "2"
1Dave7: stringa 2;
2="EURUSD";
COME FACCIO A CREARE UN COMMENTO DOVE 2 COMMENTERÀ COME EURUSD SUL GRAFICO?
Ho provato ad ottenere un valore per a,b e a visualizzarlo, ma mostra solo 0 per a, e 0 per b e tutti gli altri valori c-f. Speravo di ottenere un ordine ascendente delle valute. Potete aiutarmi a capire perché questo non funziona?
Vorrei poterti offrire una birra per il tuo aiuto!
Quella linea significa che hai un indicatore chiamato "EURUSD" e che lo stai chiamando per ottenere un valore e assegnarlo al primo elemento di "array". Se non esiste (l'indicatore con quel nome, che presumo sia vero) assegnerà il valore 0 all'elemento dell'array. Cosa stai cercando di recuperare esattamente con quella linea?
Ho provato a ottenere un valore per a,b e a visualizzarlo, ma mostra solo 0 per a, e 0 per b e tutti gli altri valori c-f. Speravo di ottenere un ordine ascendente delle valute. Potete aiutarmi a capire perché questo non funziona?
Vorrei poterti offrire una birra per il tuo aiuto!
Quella linea significa che hai un indicatore chiamato "EURUSD" e che lo stai chiamando per ottenere un valore e assegnarlo al primo elemento dell'"array". Se non esiste (l'indicatore con quel nome, che presumo sia vero) assegnerà il valore 0 all'elemento dell'array. Cosa stai cercando di recuperare esattamente con quella linea?
L'array è quello di ottenere un valore da "EURUSD", poi di fare un ordine ascendente dal basso verso l'alto rispetto alle altre valute, e poi di visualizzare la classifica del basso sullo schermo. EURUSD come le altre valute mi dà solo un 0.00? Cosa sto facendo di sbagliato qui?
and so on. That way array will be filled with close prices for symbols you select. If you are using a custom indicator then the form is the following :
1Dave7: L'array è quello di ottenere un valore da "EURUSD", poi di fare un ordine ascendente dal basso verso l'alto rispetto alle altre valute, e poi di visualizzare la classifica del basso sullo schermo. EURUSD come le altre valute mi dà solo un 0.00? Cosa sto facendo di sbagliato qui?
Ah questo è un metodo molto migliore. Stavo giocherellando con if (Ask == OrderTakeProfit()) {..} che scorre in bicicletta attraverso ogni ordine aperto, il che credo fosse un po' difettoso durante il back testing. Grazie!
Come si commenta un numero che commenterà una stringa?
stringa 2;
2="EURUSD";
COME FACCIO A CREARE UN COMMENTO DOVE 2 COMMENTERÀ COME EURUSD SUL GRAFICO?
PER FAVORE AIUTATEMI - CONFUSO!
DAVE
Non è possibile farlo in mql.
In mql il nome di una variabile non può essere un numero né può iniziare con un numero, quindi l'unica soluzione è aggiungere qualche lettera, underscore o qualche carattere consentito davanti al "2"
stringa 2;
2="EURUSD";
COME FACCIO A CREARE UN COMMENTO DOVE 2 COMMENTERÀ COME EURUSD SUL GRAFICO?
PER FAVORE AIUTATEMI - CONFUSO!
DAVECome faccio a fare un array in ordine decrescente su quanto segue:
double D0=0,D1=0,D2=0,D3=0,D4=0,D5=0,D6=0,D7=0);
D0=iCustom(NULL,0, "XYZ",0,0);
D1=iCustom(NULL,0, "XYZ",1,0);
D2=iCustom(NULL,0, "XYZ",2,0);
D3=iCustom(NULL,0, "XYZ",3,0);
D4=iCustom(NULL,0, "XYZ",4,0);
D5=iCustom(NULL,0, "XYZ",5,0);
D6=iCustom(NULL,0, "XYZ",6,0);
D7=iCustom(NULL,0, "XYZ",7,0);
COME FACCIO A INIZIALIZZARE UN ARRAY DISCENDENTE DEI VALORI DI (D0,D1,D2,D3,D4,D5,D6,D7)? COME FACCIO A INDIRIZZARE I RISULTATI DELL'ARRAY NEL MIO EA?
APPREZZO IL VOSTRO AIUTO - SARÒ MOLTO FELICE SE RIESCO A SUPERARE QUESTO COLLO DI BOTTIGLIA!
Dave
Se avete bisogno solo dei valori ordinati, potete fare qualcosa del genere:
array[0]=iCustom(NULL,0,"XYZ",0,0);
array[1]=iCustom(NULL,0,"XYZ",1,0);
array[2]=iCustom(NULL,0,"XYZ",2,0);
array[3]=iCustom(NULL,0,"XYZ",3,0);
array[4]=iCustom(NULL,0,"XYZ",4,0);
array[5]=iCustom(NULL,0,"XYZ",5,0);
array[6]=iCustom(NULL,0,"XYZ",6,0);
array[7]=iCustom(NULL,0,"XYZ",7,0);
ArraySort(array,WHOLE_ARRAY,0,MODE_ASCEND);
e poi i valori ordinati saranno nell'array "array"
double D0=0,D1=0,D2=0,D3=0,D4=0,D5=0,D6=0,D7=0);
D0=iCustom(NULL,0, "XYZ",0,0);
D1=iCustom(NULL,0, "XYZ",1,0);
D2=iCustom(NULL,0, "XYZ",2,0);
D3=iCustom(NULL,0, "XYZ",3,0);
D4=iCustom(NULL,0, "XYZ",4,0);
D5=iCustom(NULL,0, "XYZ",5,0);
D6=iCustom(NULL,0, "XYZ",6,0);
D7=iCustom(NULL,0, "XYZ",7,0);
COME FACCIO A INIZIALIZZARE UN ARRAY DISCENDENTE DEI VALORI DI (D0,D1,D2,D3,D4,D5,D6,D7)? COME FACCIO A INDIRIZZARE I RISULTATI DELL'ARRAY NEL MIO EA?
APPREZZO IL VOSTRO AIUTO - SARÒ MOLTO FELICE SE RIESCO A SUPERARE QUESTO COLLO DI BOTTIGLIA!
DaveSe hai bisogno solo dei valori ordinati, puoi fare qualcosa del genere:
array[0]=iCustom(NULL,0,"XYZ",0,0);
array[1]=iCustom(NULL,0,"XYZ",1,0);
array[2]=iCustom(NULL,0,"XYZ",2,0);
array[3]=iCustom(NULL,0,"XYZ",3,0);
array[4]=iCustom(NULL,0,"XYZ",4,0);
array[5]=iCustom(NULL,0,"XYZ",5,0);
array[6]=iCustom(NULL,0,"XYZ",6,0);
array[7]=iCustom(NULL,0,"XYZ",7,0);
ArraySort(array,WHOLE_ARRAY,0,MODE_ASCEND);
WOW!!!!!!!!!!!! Non l'avrei mai capito - Grazie mille!!!
Per favore aiutatemi a far funzionare questo array - Perplesso!!!
GBP=(iMA("GBPUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i)-iMA("GBPUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i+Delta)); //LIME
double array[7];
array[0]=iCustom(NULL,0,"EURUSD",0,0);
array[1]=iCustom(NULL,0,"GBPUSD",1,0);
array[2]=iCustom(NULL,0,"AUDUSD",2,0);
array[3]=iCustom(NULL,0,"USDCHF",3,0);
array[4]=iCustom(NULL,0,"USDJPY",4,0);
array[5]=iCustom(NULL,0,"NZDUSD",5,0);
array[6]=iCustom(NULL,0,"USDCAD",6,0);
ArraySort(array,WHOLE_ARRAY,0,MODE_ASCEND);
a=array[0];b=array[1];c=array[2];d=array[3];e=array[4];f=array[5];g=array[6];
{
ObjectCreate("DISPLAY10", OBJ_LABEL, 1, 0, 0);
ObjectSetText("DISPLAY10", DoubleToStr(a,0), 10, "ArialBold", Red);//"EURUSD =" ,
ObjectSet("DISPLAY10", OBJPROP_CORNER, 1);
ObjectSet("DISPLAY10", OBJPROP_XDISTANCE, 80);
ObjectSet("DISPLAY10", OBJPROP_YDISTANCE, 20);
//return(0);
}
{
ObjectCreate("DISPLAY20", OBJ_LABEL, 1, 0, 0);
ObjectSetText("DISPLAY20", DoubleToStr(b,0), 10, "ArialBold", Lime);//"GBPUSD =" ,
ObjectSet("DISPLAY20", OBJPROP_CORNER, 1);
ObjectSet("DISPLAY20", OBJPROP_XDISTANCE, 80);
ObjectSet("DISPLAY20", OBJPROP_YDISTANCE, 40);
//return(0);
}
[PHP]Ho provato ad ottenere un valore per a,b e a visualizzarlo, ma mostra solo 0 per a, e 0 per b e tutti gli altri valori c-f. Speravo di ottenere un ordine ascendente delle valute. Potete aiutarmi a capire perché questo non funziona?
Vorrei poterti offrire una birra per il tuo aiuto!
Controllate le linee che vanno così:
Quella linea significa che hai un indicatore chiamato "EURUSD" e che lo stai chiamando per ottenere un valore e assegnarlo al primo elemento di "array". Se non esiste (l'indicatore con quel nome, che presumo sia vero) assegnerà il valore 0 all'elemento dell'array. Cosa stai cercando di recuperare esattamente con quella linea?
EUR=(iMA("EURUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i)-iMA("EURUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i+Delta)); //RED
GBP=(iMA("GBPUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i)-iMA("GBPUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i+Delta)); //LIME
doppio array[7];
array[0]=iCustom(NULL,0, "EURUSD",0,0);
array[1]=iCustom(NULL,0, "GBPUSD",1,0);
array[2]=iCustom(NULL,0, "AUDUSD",2,0);
array[3]=iCustom(NULL,0, "USDCHF",3,0);
array[4]=iCustom(NULL,0, "USDJPY",4,0);
array[5]=iCustom(NULL,0, "NZDUSD",5,0);
array[6]=iCustom(NULL,0, "USDCAD",6,0);
ArraySort(array,WHOLE_ARRAY,0,MODE_ASCEND);
a=array[0];b=array[1];c=array[2];d=array[3];e=array[4];f=array[5];g=array[6];
{
ObjectCreate("DISPLAY10", OBJ_LABEL, 1, 0, 0);
ObjectSetText("DISPLAY10", DoubleToStr(a,0), 10, "ArialBold", Rosso); //"EURUSD =" ,
ObjectSet("DISPLAY10", OBJPROP_CORNER, 1);
ObjectSet("DISPLAY10", OBJPROP_XDISTANCE, 80);
ObjectSet("DISPLAY10", OBJPROP_YDISTANCE, 20);
//return(0);
}
{
ObjectCreate("DISPLAY20", OBJ_LABEL, 1, 0, 0);
ObjectSetText("DISPLAY20", DoubleToStr(b,0), 10, "ArialBold", Lime);//"GBPUSD =" ,
ObjectSet("DISPLAY20", OBJPROP_CORNER, 1);
ObjectSet("DISPLAY20", OBJPROP_XDISTANCE, 80);
ObjectSet("DISPLAY20", OBJPROP_YDISTANCE, 40);
//return(0);
}
Ho provato a ottenere un valore per a,b e a visualizzarlo, ma mostra solo 0 per a, e 0 per b e tutti gli altri valori c-f. Speravo di ottenere un ordine ascendente delle valute. Potete aiutarmi a capire perché questo non funziona?
Vorrei poterti offrire una birra per il tuo aiuto!Controlla le linee che vanno così:
L'array è quello di ottenere un valore da "EURUSD", poi di fare un ordine ascendente dal basso verso l'alto rispetto alle altre valute, e poi di visualizzare la classifica del basso sullo schermo. EURUSD come le altre valute mi dà solo un 0.00? Cosa sto facendo di sbagliato qui?
Fallo in questo modo:
and so on. That way array will be filled with close prices for symbols you select. If you are using a custom indicator then the form is the following :
[PHP]array[0]=iCustom("EURUSD",0,"indicator name",0,0);L'array è quello di ottenere un valore da "EURUSD", poi di fare un ordine ascendente dal basso verso l'alto rispetto alle altre valute, e poi di visualizzare la classifica del basso sullo schermo. EURUSD come le altre valute mi dà solo un 0.00? Cosa sto facendo di sbagliato qui?