Wie kann das Skript programmatisch alle Instrumente durchgehen, die im Fenster Market Watch ausgewählt sind? - Seite 5

 
eevviill:

Die letzte.

Ich habe sie auch an einen Kunden geschickt, und er hat dasselbe getan.

Ich musste die

if(SymbolsTotal(true)!=ArraySize(symbols))

Welches ist das letztere? Können Sie ein Bildschirmfoto vor und nach der Ausführung des Skripts anhängen? Wie viele Symbole gibt es in marketwatch?
 
alexey_pak:
Was ist die letzte? Können Sie einen Screenshot anhängen, bevor Sie das Skript ausführen und danach? Wie viele Zeichen enthält marketwatch?

890

Es ist kein Drehbuch. Es ist ein EA.

Ich werde jetzt versuchen, den Fehler erneut zu beheben.

 

Legen Sie hier den EA auf den Chart und vergleichen Sie, was er öffnet mit dem, was in der Übersicht steht.

Dateien:
 
eevviill:

Legen Sie hier den EA auf den Chart und vergleichen Sie, was er öffnet mit dem, was in der Übersicht steht.

Warum werden Aufträge eröffnet, die nicht in der Marktbeobachtung enthalten sind?
 
eevviill:
Warum sind Aufträge, die nicht in Market Watch enthalten sind, offen?

Was steht nicht in MarketWatch? Befehle oder Symbole?

Sie haben einen offenen Auftrag für AUDCHF. Die Einzahlungswährung ist wahrscheinlich USD. Zur Berechnung des Gewinns und der Margin-Anforderungen werden in MarketWatch implizit 2 andere Paare - AUDUSD und USDCHF - ausgewählt, nachdem eine Position im AUDCHF eröffnet wurde.

 
stringo:

Was steht nicht in MarketWatch? Befehle oder Symbole?

Sie haben einen offenen Auftrag für AUDCHF. Die Einzahlungswährung ist wahrscheinlich USD. Um die Gewinn- und Margin-Anforderungen für jeden Tick in MarketWatch zu berechnen, werden nach der Eröffnung einer Position auf AUDCHF implizit zwei weitere Paare ausgewählt - AUDUSD und USDCHF

И? Ist das etwa mein Fehler?

Das steht alles im Code. Es gehört also Ihnen.

P.S. Bestellungen.

 
Werden Sie diesen Fehler beheben?
 
eevviill:
Werden Sie diesen Fehler beheben?

Was soll das bringen? Wenn Sie eine begrenzte Anzahl von Instrumenten handeln möchten, legen Sie diese explizit fest, indem Sie sie in einer Zeile auflisten.

Nun, sie werden diesen Fehler beheben. Sie wird das Problem nicht lösen. Mir sind andere Varianten bekannt, bei denen sich die Liste der Symbole in der Übersicht in Situationen ändern kann, die sich der Kontrolle des Händlers entziehen.

 
Mislaid:

Nun, sie werden den Fehler beheben. Das wird das Problem nicht lösen.

Vielleicht muss also alles repariert werden.

 

Da Rustam dies bereits gepostet hat, möchte ich es wiederholen:

FAQ 18.12.2012 19:13


Übergeben Sie ein sauberes Array an die Funktion, erhalten Sie eine Liste von Symbolen aus dem Panel "Marktübersicht".

//+------------------------------------------------------------------+

Beschreibung: //|

//+------------------------------------------------------------------+

int SymbolsList(string &Symbols[], bool Selected)

{

string SymbolsFileName;

int Versatz, SymbolsNumber;

if(Selected) SymbolsFileName = "symbols.sel;

sonst SymbolsFileName = "symbols.raw";

int hFile = FileOpenHistory(SymbolsFileName, FILE_BIN|FILE_READ);

if(hFile < 0) return(-1);

if(Selected) { SymbolsNumber = (FileSize(hFile) - 4) / 128; Offset = 116; }

else { SymbolsNumber = FileSize(hFile) / 1936; Offset = 1924; }

ArrayResize(Symbole, SymbolsNumber);

if(Selected) FileSeek(hFile, 4, SEEK_SET);

for(int i = 0; i < SymbolsNumber; i++){

Symbols[i] = FileReadString(hFile, 12);

FileSeek(hFile, Offset, SEEK_CUR);

}

FileClose(hFile);

return(SymbolsNumber);

}

//+------------------------------------------------------------------+