[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 25

 

Frage:

Wie schreibt man richtig, um die Werte von Symbol1 und Symbol2 in den Code einzufügen?

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

Wenn Sie Anführungszeichen entfernen, wird es nicht kompiliert, und wenn Sie Anführungszeichen setzen, gibt es Text statt Wert aus.

 
forexnew:

Frage:

wie man die Werte von Symbol1 und Symbol2, die in den Code eingefügt werden sollen, richtig schreibt:

Wenn Sie die Anführungszeichen entfernen, lässt sich der Text nicht kompilieren, und wenn er in Anführungszeichen steht, wird statt des Werts ein Text ausgegeben.



Es gibt verschiedene Optionen

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

oder

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


Es gibt verschiedene Optionen

oder

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

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

Auf diese Weise lässt es sich nicht kompilieren:

'{' - Initialisierung erwartet D:\F\9\experts\ASH_5_102.mq4 (4, 23)
'Symbol1' - Ausdruck im globalen Bereich nicht erlaubt D:\F\9\experts\ASH_5_102.mq4 (4, 31)
'Symbol2' - Ausdruck im globalen Bereich nicht erlaubt D:\F\9\experts\ASH_5_102.mq4 (4, 40)
'}' - unausgeglichene Klammern D:\F\9\experts\ASH_5_102.mq4 (4, 47)


Und die erste Variante passt nicht, man sollte die Namen der Paare aus der Datei nehmen.

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

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

Auf diese Weise lässt es sich nicht kompilieren:

'{' - Initialisierung erwartet D:\F\9\experts\ASH_5_102.mq4 (4, 23)
'Symbol1' - Ausdruck im globalen Bereich nicht zulässig D:\F\9\experts\ASH_5_102.mq4 (4, 31)
'Symbol2' - Ausdruck im globalen Bereich nicht zulässig D:\F\9\experts\ASH_5_102.mq4 (4, 40)
'}' - unausgeglichene Klammern D:\F\9\experts\ASH_5_102.mq4 (4, 47)


Die erste Variante passt nicht, wir sollten die Namen der Paare aus der Datei nehmen.


Ich stimme zu. Ich habe es nicht richtig geschrieben.

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

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

Dies sollte funktionieren

 
Vinin:


Ich stimme zu. Ich habe es nicht richtig geschrieben.

Das sollte funktionieren.

Ich danke Ihnen!!! Diese Option hat funktioniert.
 
Mein EA setzt Aufträge auf das Signal des Indikators, und wenn der Indikator ein Signal gibt, einen bestehenden Auftrag neu zu setzen, z. B. mit 0,1 Lot, dann setzt der EA einen weiteren Auftrag, der mit dem bestehenden Auftrag identisch ist, was die Anzahl der Aufträge unangemessen ansteigen lässt. Frage: Wie kann man erreichen, dass der EA in solchen Fällen einfach die Losgröße des bestehenden Auftrags erhöht? Ist eine solche Änderung prinzipiell möglich?
 
Nein, Sie können nur den alten Auftrag löschen und einen neuen Auftrag mit einer neuen Partie erteilen oder einen weiteren Auftrag hinzufügen.
 
yosuf:
Mein EA setzt Aufträge auf das Signal des Indikators, und wenn der Indikator ein Signal gibt, einen bestehenden Auftrag neu zu setzen, z. B. mit 0,1 Lot, dann setzt der EA einen weiteren Auftrag, der mit dem bestehenden Auftrag identisch ist, was die Anzahl der Aufträge unangemessen ansteigen lässt. Frage: Wie kann man erreichen, dass der EA in solchen Fällen einfach die Losgröße des bestehenden Auftrags erhöht? Ist eine solche Änderung prinzipiell möglich?
Wechseln Sie zu MT5 - dort wird es nur eine aggregierte Position geben. ;))
 

Können Sie mir sagen, warum bei der Ausführung im Testprogramm auf "EURUSD"

MarketInfo("GBPUSD", MODE_BID);

0,0 zurückgibt und wie man den Preis eines anderen Instruments im Tester erhält.

 
T-G:

Können Sie mir sagen, warum bei der Ausführung im Testprogramm auf "EURUSD"

MarketInfo("GBPUSD", MODE_BID);

0,0 zurückgibt und wie man den Preis eines anderen Instruments im Tester erhält.

iClose()
Grund der Beschwerde: