[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 43

 
sting-igor:
C'è una sorta di blocco che impedisce loro di intromettersi nei vostri affari?
Certo che c'è! È nella tua testa. Dovete bloccarli lì dentro. Non lasciateli andare da nessuna parte!
 
Se apro una posizione come questa
if (OrderSend(Symbol(),OP_SELL,...)==true)
{ Print ("ok"); return(0); }
e il dc non apre il trade per qualche motivo, l'EA invierà un trade al dc su ogni tick? Non voglio incorrere nell'errore 8 (richieste troppo frequenti). O è più ragionevole senza controllare true, ma vedere qual è l'errore e mettere l'EA a dormire?
 

ShamanK, grazie! Tutto funziona. Molto utile.


Puoi anche commentare la linea


if (symbols1[i2]==OneSymbol) {textNew = textNew + symbols2[ i2 ] ; i2=ArraySize(symbols1) ; }

Se troviamo un singolo carattere in un array, il nuovo testo è uguale a...

Che ruolo ha il punto e virgola?

 

Salve.

Non ho ancora familiarità con MQL, ma voglio scrivere un EA basato sull'indicatore cluster CCFp. Funziona con otto valute, io ho bisogno solo di EURUSD o più precisamente solo di EUR. Sto cercando di prendere i valori dall'indicatore nel modo seguente:

for (cnt=0;cnt<3;cnt++)

{
ccfp[1,1]=iCustom(NULL,0, "CCFp",1,0,3,5,1,0); //ccfp [numero di simbolo (contando da zero 1 è EUR), numero di cella buffer] 1,0,3,5 parametri indicatori
ccfp_old[1,1]=iCustom(NULL,0,"CCFp",1,0,3,5,1,5);//Valore precedente
Print("Ccfpnow:",ccfp[1,1]);
Print("Ccfpold:",ccfp_old[1,1]);

}

Cioè, voglio ottenere dei valori che sono resi dall'indicatore dal movimento dell'eur.

Il problema è che l'indicatore terminale mostra valori di 0,0001, ma il mio Expert Advisor mostra 0,0093 o -0,0025 e il valore precedente 0,0013. Ho provato a scrivere un simbolo specifico, un intervallo di tempo, un numero di linea, ma ancora una specie di nonsenso.

Domanda: come faccio a ottenere i valori corretti (gli stessi del terminale) dell'indicatore per una determinata valuta?

File:
ccfp.mq4  19 kb
 


alsu
:

134 - niente soldi, 4051 - parametri di funzione di merda trasferiti.

Per quanto riguarda il punto - controlla che la variabile magick sia assegnata solo 1 volta, preferibilmente nella funzione init(), altrimenti ogni ordine avrà il proprio magick e il risultato sarà qualcosa come quello che descrivi.


Capito, grazie!

"4051 - parametri di merda passati a una funzione" - puoi essere un po' più specifico?)

 
Compagni come faccio a ottenere la storia di M5,M15 per cinque mesi, ecc?))) Ho un Expert Advisor che scarica i dati in Excel, ma i dati a cinque minuti solo per 1 giorno scaricare ...
 
orb:
Compagni come faccio a ottenere la storia di M5,M15 per cinque mesi, ecc?))) Ho un Expert Advisor che scarica i dati in Excel, ma i dati a cinque minuti solo per 1 giorno scaricare ...

È M15 invece di M5 e cinque mesi invece di 1 giorno...)

_ _ _ _ _ _ _ _ _ _ _ _

la gente per favore consiglia il codice =>> come eseguire la condizione solo una volta alla candela aperta?

cioè la condizione dovrebbe essere soddisfatta all'apertura di una nuova candela.

 
w_ersoc:

Devi mettere M15 invece di M5 e cinque mesi invece di 1 giorno...)

_ _ _ _ _ _ _ _ _ _ _ _

si prega di consigliare il codice =>> come eseguire la condizione solo una volta quando si forma una candela aperta?

Cioè, quando si apre una nuova candela la condizione dovrebbe essere soddisfatta.

capito, esperto appena coniato)))

la risposta alla tua domanda

all'inizio scrivi

se Volume[0]<2

{

il tuo algoritmo

}

 
Fox_RM:
Dimmi perché hai la funzione iMAOnArray in un ciclo separato?

Non funziona in nessun altro modo
 
Lians:

ShamanK, grazie! Tutto funziona. Molto utile.


Puoi anche commentare la linea


if (symbols1[i2]==OneSymbol) {textNew = textNew + symbols2[ i2 ] ; i2=ArraySize(symbols1) ; }

Se troviamo un singolo carattere in un array, il nuovo testo è uguale a...

Che ruolo ha il punto e virgola?

Se trovate un singolo carattere nell'array, è il carattere che state aggiungendo al testo.

esempio:

stringa txt1 = "123";

stringa txt2 = "456 ";

stringa txt3 =txt1 +txt2 ;

come risultato, otteniamo "123456" nella variabile txt3

Il punto e virgola è una sintassi del linguaggio di programmazione che indica la fine di una linea di codice.