seltsam, so Print gibt falsch, obwohl der Screenshot zeigt, dass AAPL ist in der Marktübersicht ps Ich habe bereits oben geschrieben: der Punkt ist, auf einem Instrument laufen und erhalten Daten von einem anderen... wenn ich wollte AAPL Daten von AAPL Ich würde _Symbol direkt geschrieben haben
Seltsam, dass Print eine falsche Meldung ausgibt, obwohl auf dem Screenshot zu sehen ist, dass es in der Marktübersicht ein aapl gibt. ps Ich habe bereits oben geschrieben: Die Idee ist, auf einem Instrument zu laufen und die Daten von einem anderen zu erhalten. Wenn ich AAPL-Daten von AAPL wollte, hätte ich _Symbol geschrieben
Die Kontonummer und das Anlegerpasswort stammen von Ihnen. Aber ich gebe 99,9%, dass das Symbol "AAPL" auf dem Handelsserver einfach nicht existiert :)
Beim Erstellen einer History-Datei, MT4 Tester setzt TickValue=0, TickSize=0 in der Kopfzeile und die Parameter im Zusammenhang mit der Kommission, ich verstehe nicht, was und wo? Die Werte der Margin-Felder werden ebenfalls ausgefüllt oder nicht - das ist bei den verschiedenen Brokern unterschiedlich.
Handelt es sich dabei um einen Fehler oder um die falsche Headerstruktur? So steht es in der Hilfe auf der Website. Ich habe festgestellt, dass sie veraltet ist, und verwende daher diese.
#property strict
#property show_inputs
input string symb="AUDCHF";
#define TOSTRING(A) #A+" = "+(string)(A)
struct TestHistoryHeader
{
intversion; // 405charcopyright[64]; // copyrightchardescription[128]; // server name// 196char symbol[12];
int period;
int model; // for what modeling type was the ticks sequence generatedint bars; // amount of bars in historyint fromdate;
int todate;
int totalTicks;
double modelquality; // modeling quality// 240//---- general parameterschar currency[12]; // currency baseint spread;
int digits;
int unknown1;
double point;
int lot_min; // minimum lot sizeint lot_max; // maximum lot sizeint lot_step;
int stops_level; // stops level valueint gtc_pendings; // instruction to close pending orders at the end of day// 292//---- profit calculation parametersint unknown2;
double contract_size; // contract sizedouble tick_value; // value of one tickdouble tick_size; // size of one tickint profit_mode; // profit calculation mode { PROFIT_CALC_FOREX, PROFIT_CALC_CFD, PROFIT_CALC_FUTURES }// 324 //---- swap calculationint swap_enable; // enable swapint swap_type; // type of swap { SWAP_BY_POINTS, SWAP_BY_DOLLARS, SWAP_BY_INTEREST }int unknown3;
double swap_long;
double swap_short; // swap overnight valueint swap_rollover3days; // three-days swap rollover// 356 //---- margin calculationint leverage; // leverageint free_margin_mode; // free margin calculation mode { MARGIN_DONT_USE, MARGIN_USE_ALL, MARGIN_USE_PROFIT, MARGIN_USE_LOSS }int margin_mode; // margin calculation mode { MARGIN_CALC_FOREX,MARGIN_CALC_CFD,MARGIN_CALC_FUTURES,MARGIN_CALC_CFDINDEX };int margin_stopout; // margin stopout levelint margin_stopout_mode;// stop out check mode { MARGIN_TYPE_PERCENT, MARGIN_TYPE_CURRENCY }double margin_initial; // margin requirementsdouble margin_maintenance; // margin maintenance requirementsdouble margin_hedged; // margin requirements for hedged positionsdouble margin_divider; // margin dividerchar margin_currency[12];// margin currency// 420 //---- commission calculationdouble comm_base; // basic commissionint comm_type; // basic commission type { COMM_TYPE_MONEY, COMM_TYPE_PIPS, COMM_TYPE_PERCENT }int comm_lots; // commission per lot or per deal { COMMISSION_PER_LOT, COMMISSION_PER_DEAL }// 436 //---- for internal useint from_bar; // fromdate bar numberint to_bar; // todate bar numberint start_period[6]; // number of bar at which the smaller period modeling startedint set_from; // begin date from tester settingsint set_to; // end date from tester settings// 476//----int end_of_test;
int freeze_level; // order's freeze level in pointsint generating_errors;
// 488 //----int reserved[60];
};
void OnStart()
{
//---
int dig=(int)MarketInfo(symb,MODE_DIGITS);
TestHistoryHeader header={0};
ResetLastError();
int handle=FileOpen(symb+"1_0.fxt",FILE_READ|FILE_BIN);
if(handle!=INVALID_HANDLE)
{
FileReadStruct(handle,header);
FileClose(handle);
}
else {Print("Ошибка открытия файла ",GetLastError()); return;}
Print(CharArrayToString(header.description));
Print(CharArrayToString(header.margin_currency));
Print(TOSTRING(header.set_from));
Print(TOSTRING((datetime)header.set_to));
Print(TOSTRING((datetime)header.end_of_test));
Print(TOSTRING(header.tick_value)," Должно быть ", TOSTRING(DoubleToStr(NormalizeDouble(SymbolInfoDouble(symb,SYMBOL_TRADE_TICK_VALUE),dig),dig)));
Print(TOSTRING(header.tick_size)," Должно быть ", TOSTRING(DoubleToStr(NormalizeDouble(SymbolInfoDouble(symb,SYMBOL_TRADE_TICK_SIZE),dig),dig)));
Print(TOSTRING(header.comm_base));
Print(TOSTRING(header.comm_type));
Print(TOSTRING(header.comm_lots));
Print(TOSTRING(AccountCurrency()));
}
Beim Erstellen einer History-Datei, MT4 Tester setzt TickValue=0, TickSize=0 in der Kopfzeile und die Parameter im Zusammenhang mit der Kommission, ich verstehe nicht, was und wo? Auch die Werte der Margin-Felder werden mal ausgefüllt, mal nicht - das ist bei den verschiedenen Brokern unterschiedlich.
...
Ich vermute, das Problem liegt an diesem seltsamen Feld:
//---- profit calculation parametersint unknown2;
Im Original war er nicht vorhanden, woher kommt er?
Auf dem Bildschirmfoto ist kein AAPL zu sehen. Und Sie überprüfen den SymbolSelect-Rückgabecode nicht.
seltsam, so Print gibt falsch, obwohl der Screenshot zeigt, dass AAPL ist in der Marktübersicht
ps Ich habe bereits oben geschrieben: der Punkt ist, auf einem Instrument laufen und erhalten Daten von einem anderen... wenn ich wollte AAPL Daten von AAPL Ich würde _Symbol direkt geschrieben haben
Seltsam, dass Print eine falsche Meldung ausgibt, obwohl auf dem Screenshot zu sehen ist, dass es in der Marktübersicht ein aapl gibt.
ps Ich habe bereits oben geschrieben: Die Idee ist, auf einem Instrument zu laufen und die Daten von einem anderen zu erhalten. Wenn ich AAPL-Daten von AAPL wollte, hätte ich _Symbol geschrieben
Die Kontonummer und das Anlegerpasswort stammen von Ihnen. Aber ich gebe 99,9%, dass das Symbol "AAPL" auf dem Handelsserver einfach nicht existiert :)
Es wird der Fehler 4305 angezeigt.
Der Fehler 4305 wird folgendermaßen angezeigt
Auf dem Handelsserver, mit dem Sie sich verbinden, gibt es kein "AAPL"-Symbol. Ganz und gar nicht.
Schreiben Sie "Apple" statt "AAPL" wie in Ihrer Marktübersicht
aaaaaaaaaaaca )))
wurde aufgehalten(((.
Entschuldigung)
muss daran liegen, dass ich mehr als ein Terminal geöffnet habe
Vielen Dank an alle, die geantwortet haben
Beim Erstellen einer History-Datei, MT4 Tester setzt TickValue=0, TickSize=0 in der Kopfzeile und die Parameter im Zusammenhang mit der Kommission, ich verstehe nicht, was und wo? Die Werte der Margin-Felder werden ebenfalls ausgefüllt oder nicht - das ist bei den verschiedenen Brokern unterschiedlich.
Handelt es sich dabei um einen Fehler oder um die falsche Headerstruktur? So steht es in der Hilfe auf der Website. Ich habe festgestellt, dass sie veraltet ist, und verwende daher diese.
Problematische Stellen habe ich gelb markiert.
Hier ist ein Ausdruck der MetaQuotes Demo
Robo-Forex-Ausdruck verwenden (Suffix ".e")
Jetzt werden wir eine Verbindung zu einem beliebigen Broker herstellen.
Vergrößern Sie den Symbolverlauf.
Führen Sie einen beliebigen EA im Tester auf M1 aus (ein beliebiges Testintervall, und es ist nicht notwendig, auf dessen Abschluss zu warten).
Kopieren Sie nach dem Test die vom Tester erstellte Verlaufsdateisymb+"1_0.fxt " aus dem Testerordnerin das Verzeichnis MQL4/Files
Führen Sie das Skript in einem beliebigen Diagramm aus.
Wir sehen uns das Protokoll an.
Gelegentlich kommt es im MT5 zu einem Abspielen des Home-Buttons im Chart, d.h. der Chart verschiebt sich willkürlich an den Anfang - woran liegt das?
Der "Home"-Button auf dem Chart im MT5 hat sich gelegentlich wiederholt, d.h. der Chart verschiebt sich willkürlich an den Anfang - woran liegt das?
Graben Sie die "Home"-Taste mit einem Schraubenzieher aus :)
Beim Erstellen einer History-Datei, MT4 Tester setzt TickValue=0, TickSize=0 in der Kopfzeile und die Parameter im Zusammenhang mit der Kommission, ich verstehe nicht, was und wo? Auch die Werte der Margin-Felder werden mal ausgefüllt, mal nicht - das ist bei den verschiedenen Brokern unterschiedlich.
...
Ich vermute, das Problem liegt an diesem seltsamen Feld:
Im Original war er nicht vorhanden, woher kommt er?