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

 

Domanda:

Come scrivere correttamente per inserire i valori Symbol1 e Symbol2 nel codice:

string SymbolMax[35] = {"Symbol1", "Symbol2"}

Se rimuovete le virgolette, il codice non verrà compilato, e se ci mettete delle virgolette, darà del testo al posto del valore.

 
forexnew:

Domanda:

come scrivere correttamente i valori Symbol1 e Symbol2 da inserire nel codice:

Se rimuovete le virgolette, non compilerà, e se è tra virgolette, emette testo invece di valore.



Ci sono diverse opzioni

string SymbolMax[35] = {EURUSD, .....}

o

string Symbol1 = EURUSD;
........
string SymbolMax[35] = {Symbol1, Symbol2,.....}
 
Vinin:


Ci sono diverse opzioni

o

stringa Symbol1 ="EURUSD";
stringa Symbol2 ="AUDUSD";

stringa SymbolMax[2] = {Symbol1, Symbol2};

Non si compila in questo modo:

'{' - inizializzazione prevista D:\F\9\experts\ASH_5_102.mq4 (4, 23)
'Symbol1' - espressione nello scopo globale non permessa D:\F\9\experts\ASH_5_102.mq4 (4, 31)
'Symbol2' - espressione nello scopo globale non permessa D:\F\9\experts\ASH_5_102.mq4 (4, 40)
'}' - parentesi sbilanciate D:\F\9\esperti_ASH_5_102.mq4 (4, 47)


E la prima variante non va bene, dovresti prendere i nomi delle coppie dal file.

 
forexnew:
stringa Symbol1 ="EURUSD";
stringa Symbol2 ="AUDUSD";

stringa SymbolMax[2] = {Symbol1, Symbol2};

Non si compila in questo modo:

'{' - inizializzazione attesa D:-F\9\esperti_ASH_5_102.mq4 (4, 23)
'Symbol1' - espressione sull'ambito globale non consentita D:\F\9\esperti_ASH_5_102.mq4 (4, 31)
'Symbol2' - espressione sull'ambito globale non consentita D:\F\9\esperti_ASH_5_102.mq4 (4, 40)
'}' - parentesi sbilanciate D:\F\9\esperti_ASH_5_102.mq4 (4, 47)


La prima variante non va bene, dovremmo prendere i nomi delle coppie dal file.


Sono d'accordo. Non l'ho scritto correttamente.

string Symbol1 ="EURUSD";
string Symbol2 ="AUDUSD";
string SymbolMax[2];

SymbolMax[0] = Symbol1;
SymbolMax[1] = Symbol2;

Questo dovrebbe funzionare

 
Vinin:


Sono d'accordo. Non l'ho scritto correttamente.

Questo dovrebbe funzionare.

Grazie!!! Questa opzione ha funzionato.
 
Il mio EA imposta gli ordini sul segnale dell'indicatore, e se l'indicatore dà un segnale per reimpostare un ordine esistente, per esempio con 0,1 lotti, allora l'EA imposta un altro ordine che è identico all'ordine esistente, il che fa aumentare irragionevolmente il numero di ordini. Domanda: come fare in modo che l'EA aumenti semplicemente la dimensione del lotto dell'ordine esistente in questi casi? Una tale modifica è possibile in linea di principio?
 
no, solo cancellare il vecchio e metterne uno nuovo con un nuovo lotto, o aggiungere un altro ordine
 
yosuf:
Il mio EA imposta gli ordini sul segnale dell'indicatore, e se l'indicatore dà un segnale per reimpostare un ordine esistente, per esempio con 0,1 lotti, allora l'EA imposta un altro ordine che è identico a quello esistente, il che fa aumentare irragionevolmente il numero di ordini. Domanda: come fare in modo che l'EA aumenti semplicemente la dimensione del lotto dell'ordine esistente in questi casi? Una tale modifica è possibile in linea di principio?
Passare a MT5 - ci sarà solo una posizione aggregata. ;))
 

Puoi dirmi perché quando si esegue nel tester su "EURUSD"

MarketInfo("GBPUSD", MODE_BID);

restituisce 0,0 e come ottenere il prezzo di un altro strumento nel tester.

 
T-G:

Puoi dirmi perché quando si esegue nel tester su "EURUSD"

MarketInfo("GBPUSD", MODE_BID);

restituisce 0,0 e come ottenere il prezzo di un altro strumento nel tester.

iClose()
Motivazione: