[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 25

 

Question :

Comment orthographier correctement l'insertion des valeurs Symbol1 et Symbol2 dans le code :

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

Si vous enlevez les guillemets, le code ne compile pas, et si vous y mettez des guillemets, il donne du texte au lieu de la valeur.

 
forexnew:

Question :

comment écrire correctement les valeurs de Symbol1 et Symbol2 à insérer dans le code :

Si vous supprimez les guillemets, il ne compile pas, et s'il est entre guillemets, il produit du texte au lieu d'une valeur.



Il existe différentes options

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

ou

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


Il existe différentes options

ou

string Symbol1 = "EURUSD" ;
string Symbol2 = "AUDUSD" ;

chaîne SymbolMax[2] = {Symbole1, Symbole2} ;

Il ne compilera pas de cette façon :

'{' - initialisation attendue D:\F\9\experts\ASH_5_102.mq4 (4, 23)
'Symbol1' - expression sur la portée globale non autorisée D:\F\9\experts\ASH_5_102.mq4 (4, 31)
'Symbol2' - expression sur la portée globale non autorisée D:\F\9\experts\ASH_5_102.mq4 (4, 40)
'}' - parenthèses non équilibrées D:\F\9\experts\ASH_5_102.mq4 (4, 47)


Et la première variante ne convient pas, vous devez prendre les noms des paires dans le fichier.

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

chaîne SymbolMax[2] = {Symbole1, Symbole2} ;

Il ne se compile pas de cette façon :

'{' - initialisation attendue D:\F\9\experts\ASH_5_102.mq4 (4, 23)
'Symbol1' - l'expression sur la portée globale n'est pas autorisée D:\F\9\experts\ASH_5_102.mq4 (4, 31)
'Symbol2' - l'expression sur la portée globale n'est pas autorisée D:\F\9\experts\ASH_5_102.mq4 (4, 40)
'}' - parenthèses non équilibrées D:\F\9\experts\ASH_5_102.mq4 (4, 47)


La première variante ne convient pas, nous devrions prendre les noms des paires dans le fichier.


Je suis d'accord. Je ne l'ai pas écrit correctement.

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

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

Cela devrait fonctionner

 
Vinin:


Je suis d'accord. Je ne l'ai pas écrit correctement.

Ça devrait marcher.

Merci ! !! Cette option a fonctionné.
 
Mon EA place des ordres sur le signal de l'indicateur, et si l'indicateur donne un signal pour redéfinir un ordre existant, par exemple avec 0.1 lot, alors l'EA place un ordre de plus qui est identique à l'ordre existant, ce qui fait que le nombre d'ordres augmente déraisonnablement. Question : Comment faire pour que l'EA augmente simplement la taille du lot de l'ordre existant dans de tels cas ? Une telle modification est-elle possible en principe ?
 
non, il suffit de supprimer l'ancien et d'en mettre un nouveau avec un nouveau lot, ou d'ajouter un autre ordre.
 
yosuf:
Mon EA place des ordres sur le signal de l'indicateur, et si l'indicateur donne un signal pour redéfinir un ordre existant, par exemple avec 0.1 lot, alors l'EA place un ordre de plus qui est identique à celui existant, ce qui fait que le nombre d'ordres augmente déraisonnablement. Question : Comment faire pour que l'EA augmente simplement la taille du lot de l'ordre existant dans de tels cas ? Une telle modification est-elle possible en principe ?
Passez à MT5 - il n'y aura qu'une seule position agrégée. ;))
 

Pouvez-vous me dire pourquoi lorsque vous exécutez dans le testeur sur "EURUSD"

MarketInfo("GBPUSD", MODE_BID);

retourne 0.0 et comment obtenir le prix d'un autre instrument dans le testeur.

 
T-G:

Pouvez-vous me dire pourquoi lorsque vous exécutez dans le testeur sur "EURUSD"

MarketInfo("GBPUSD", MODE_BID);

retourne 0.0 et comment obtenir le prix d'un autre instrument dans le testeur.

iClose()