[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 14
keekkenen . È quello che mi incuriosisce nella tua funzione start() while(!openOrder(...)){} non riveli cosa viene fatto lì in {}. Limita il numero di tentativi di riquotazione?
Dato che avete scritto che l'ordine dovrebbe aprirsi, ho dato una costruzione così "rigida", se deve aprirsi, si aprirà indipendentemente da quanti tentativi ci vogliono... Se apriamo gli ordini normalmente, allora mentre non è necessario, possiamo passare il numero di tentativi in try e nella funzione determinare già se reagire agli errori critici o ignorarli e provare solo ad aprire l'ordine try once...
Il punto di while(!openOrder(...)){} è che creiamo un ciclo eterno, cioè, funzionerà finché l'ordine non sarà aperto.
In realtà, definire quali tattiche dovrebbero essere utilizzate quando si aprono gli ordini, vi aiuteremo...
int init(){double A=AccountBalance()//Определяем балансdouble B=NormalizeDouble( A/50,0)//Выполняем вычисления и делаем результат целым числомdouble Lots= B*0.01//Вычисление лота.if( Lots>0)Alert("Лот будет ", Lots )return(0);}
Qual è l'errore qui e come può essere implementato?
la funzione stessa smetterà di funzionare, se c'è un requote dalla condizione else
try = 0, così il ciclo while si ferma e openOrder() restituisce false
Ma se usiamo il costrutto while(!openOrder(...)){}, allora continuerà ad andare avanti finché non apre un ordine
Dato che avete scritto che l'ordine dovrebbe aprirsi, ho dato una costruzione così "rigida", se deve aprirsi, si aprirà indipendentemente da quanti tentativi ci vogliono... Se apriamo gli ordini normalmente, allora mentre non è necessario, possiamo passare il numero di tentativi in try e nella funzione determinare già se reagire agli errori critici o ignorarli e provare solo ad aprire l'ordine try once...
Il punto di while(!openOrder(...)){} è che creiamo un ciclo eterno, cioè, funzionerà finché l'ordine non sarà aperto.
In realtà, definire quali tattiche dovrebbero essere utilizzate quando si aprono gli ordini, vi aiuteremo...
Ecco la domanda:
Non posso lavorare con un array.
Inizializzo l'array, lo riempio con qualsiasi dato, ma quando lo leggo, ci sono degli zeri.
Cosa sto facendo di sbagliato?
Non posso lavorare con un array.
Dovete specificare la dimensione dell'array, per esempio quando lo dichiarate:
O allora:
Cosa succede se non so che dimensioni avrà il mio array?
E anche se lo faccio, non si compila:
Inserisco una variabile esterna:
E il resto del testo:
L'uscita è:
'Razmer' - numero intero atteso C:\Program Files\MetaTrader - Alpari2\experts\temp.mq4 (36, 16)
']' - virgola o punto e virgola attesi C:\Program Files\MetaTrader - Alpari2\experts\temp.mq4 (36, 22)
'MASS' - variabile non definita C:\Program Files\MetaTrader - Alpari2\experts\temp.mq4 (40, 3)
'MASS' - variabile non definita C:\Program Files\MetaTrader - Alpari2\experts\temp.mq4 (44, 9)
Cosa succede se non so che dimensione avrà il mio array?
Quindi dovete usare la funzione ArrayResize quando sapete quanti elementi ci saranno nell'array.
Con una variabile esterna, come potete vedere, non funziona:)
Si può fare in questo modo:
Grazie, caro chirurgo.
Funziona tutto :)
Cosa sta cercando di ottenere esattamente?