Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
803 bauen. Das Konto ist real 10267.
Da es so viele Fragen gibt, bin ich wohl der Einzige mit 'mnj?
Erst vor 3-4 Wochen war der Tester etwas korrekter, was die Streuung angeht, aber was das Verhalten angeht...
Das Problem bestand darin, dass sich praktisch jede Kerze innerhalb von 20 Ticks bildete und dann 50-100 Ticks oder 10 Punkte nach oben/unten am Extremum oder nahe dem Schlusskurs lag. Und dieser Schlag wurde von einem Tester, der den Scalper optimiert hat, leicht gefunden.
Generell ist der Tester nicht für Scalper/Pipsewing-Strategien geeignet.
Ich verstehe die Langsamkeit des Tick-Testers. Aber für den Austausch, meiner Meinung nach, können Sie nicht ohne sie tun.
Wie kann ich das tun?
Öffnen Sie das Diagramm. Öffnen Sie das Fenster Daten. Blättern Sie im Diagramm bis zum gewünschten Zeitpunkt. Bewegen Sie die Maus auf dem Diagramm und sehen Sie die Streuwerte im Datenfenster.
Ich habe es mir bereits angesehen. Bei einer großen Anzahl von Balken - Nullspanne. Das heißt, die Daten sind unvollständig. Bei einem Streuwert von Null wird der letzte Wert, der nicht Null ist, verwendet.
Lassen Sie mich anhand von Bildern erklären, was im Prüfgerät passiert.
Der Prüfer lädt vor Beginn der Prüfung die historischen Daten mindestens des Vorjahres herunter und analysiert die Streuung. Wenn der Test mit dem 01.01.2013 beginnt, dann wurde der letzte Nicht-Null-Spread im Jahr 2012 am 10.12.2012 um 10:09 Uhr aufgezeichnet und betrug 2990 Pips.
Der nächste Nicht-Null-Spread wird 2013.03.15 um 18:49 in Höhe von 1190 aufgezeichnet
Zwischen diesen Zeiten beträgt die Spanne 0. Das heißt, vom ersten Januar 2013 bis zum Abend des 15. März war die letzte bekannte Spanne 2990 (was ich als "den letzten Wert ungleich Null" bezeichnet habe). Bis aus dem letzten Wert ungleich Null 1190 wurde.
Danach haben wir wieder Null-Spread-Werte, deshalb haben wir 1190 verwendet. Dies wurde bis 2013.03.18 18:46 aufgezeichnet.
nach weiteren 3 Minuten.
Dann gab es viel weniger Nullen als zu Beginn des Jahres. Dennoch blieb die Reihe der Nullen bestehen.
Dies erklärt die Reihe von identischen Streuungen
Die Situation ist unangenehm, wir werden sie lösen. Die Spreizung im Prüfgerät ist ausreichend.
Die Spreads werden aussortiert, wir stellen sie korrekt ein, auch wenn der Broker keine detaillierten Spreads in seine Historie importiert hat.
Dies ermöglicht normale Tests.
Lassen Sie mich anhand von Bildern erklären, was im Prüfgerät passiert.
Der Prüfer lädt vor Beginn der Prüfung die historischen Daten mindestens des letzten Jahres und analysiert die Streuung. Wenn der Test am 01.01.2013 beginnt, dann wurde die letzte Spanne, die nicht Null war, am 10.12.2012 um 10:09 Uhr aufgezeichnet, und zwar mit 2990 Punkten.
Der nächste Nicht-Null-Spread wird 2013.03.15 um 18:49 in Höhe von 1190 aufgezeichnet
Zwischen diesen Zeiten beträgt die Spanne 0. Das heißt, vom ersten Januar 2013 bis zum Abend des 15. März war die letzte bekannte Spanne 2990 (was ich als "den letzten Wert ungleich Null" bezeichnet habe). Bis aus dem letzten Wert ungleich Null 1190 wurde.
Danach haben wir wieder eine Nullspanne, deshalb haben wir 1190 verwendet. Dies wurde bis 2013.03.18 18:46 aufgezeichnet.
nach weiteren 3 Minuten.
Dann gab es viel weniger Nullen als zu Beginn des Jahres. Dennoch blieb die Reihe der Nullen bestehen.
Dies erklärt die Reihe von identischen Spreads.
Die Situation ist unangenehm, wir werden sie lösen. Die Spreizung im Prüfgerät ist ausreichend.
Es macht keinen Sinn, die Futures vom Jahresanfang zu testen, weil jeder den März gehandelt hat.
Es wäre sinnvoller, die durchschnittliche Spanne mit einer entsprechenden Rundung zu berechnen.
Bitte reduzieren Sie auch die Lautstärke für den Tester. Die meisten Ticks entstehen, wenn sich der Kurs in Wirklichkeit überhaupt nicht bewegt. Im Tester trifft der Preis viele Male auf das Extremum, was sich in unzureichenden Tests niederschlägt. Und die Zeit der Optimierung wird verkürzt.
1. a) Über geklebte Futures... nicht wirklich verstanden, aber meiner Meinung nach der Tester nicht mit ihnen arbeiten (nicht ein einziger Handel, habe ich versucht, Standard-EAs, die im Terminal sind zu testen).
b) In mt5 von bx sind bereits Futures von großen Blue Chips geklebt, hinken Sie nicht hinterher.
c) Es wäre toll, wenn man die Spreads im Tester manuell einstellen könnte, das würde die Optimierung der Strategien erheblich erleichtern.
2. a) Über den Feed... es würde nicht schaden, ihn als eine Tabelle von Geschäften wie in Quicksilver zu haben (als ein steckbares und abschaltbares Tool natürlich), und auch die Möglichkeit, Filter in der Tabelle wie in Quicksilver zu setzen (zum Beispiel möchte ich nur große Geschäfte mit einem Volumen von 100 Lots sehen und wie sie passiert sind, nach Bid oder Ask)... ich wiederhole - es würde nicht schaden, aber nicht so notwendig.
b) Aber zu erhalten MqlTick Struktur (SymbolInfoTick(_Symbol,latest_price)) einen weiteren Parameter über, wie Deal eröffnet am Bid oder Ask - ich denke, es ist notwendig, oder als eine separate Anforderung für Marktinformationen, diese Informationen werden von der Börse übergeben und es ist für viele Roboter, einschließlich meiner erforderlich. Zu berechnen, ob eine Transaktion ein Kauf oder ein Verkauf war, ist nicht realistisch... weil es außerbörsliche Transaktionen mit großen Volumina gibt, die den Markt nicht direkt bewegen, und viele andere Nuancen... Die Aufnahme dieses Parameters in die Struktur wird meiner Meinung nach für Entwickler nicht schwierig sein und viele Vorteile bringen.
3. Beim Versuch, schwebende Aufträge zu platzieren, meldet ein EA die Fehlermeldung "Invalid order expiry date in request". Ich habe zum Beispiel einen EA erstellt, der nur Pending Orders platziert, aber sonst nichts macht... Im MT5 auf Forex platziert er Pending Orders normal, aber auf FORTS kommt der Fehler. Das Ablaufdatum der Order ist angemessen - ich habe es überprüft, indem ich es auf dem Bildschirm angezeigt habe. Bin ich der Einzige, der ein solches Problem hat? Was ist der Grund dafür? Expert Advisor Code unten
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link "http://www.mql5.com"
#property version "1.00"
input int tp=150;
input int Deviation=5;
MqlTradeRequest mrequest;
MqlTradeResult mresult;
int OnInit()
{
return(0);
}
void OnDeinit(const int reason)
{
}
void OnTick()
{
Open_Pending_Order(1,SymbolInfoDouble(_Symbol,SYMBOL_BID)+NormalizeDouble(tp*_Point,_Digits), 1, 111);
Sleep(500);
return;
}
//+------------------------------------------------------------------+
void Open_Pending_Order(int type, double prise, double lot, long magic)
{
ZeroMemory(mrequest);
mrequest.action = TRADE_ACTION_PENDING;
mrequest.magic = magic;
mrequest.symbol = _Symbol;
mrequest.type_filling = ORDER_FILLING_RETURN;
mrequest.deviation=NormalizeDouble(Deviation*_Point,_Digits);
mrequest.type_time=ORDER_TIME_SPECIFIED;
mrequest.expiration=TimeCurrent()+6000;
mrequest.volume = lot;
mrequest.sl = 0;
mrequest.tp = 0;
mrequest.price = prise;
Print(" время экспирации ",mrequest.expiration," тип экспирации ",mrequest.type_time," цена ",mrequest.price);
if(type==1)
{
mrequest.type = ORDER_TYPE_BUY_STOP;
OrderSend(mrequest,mresult);
// анализируем код возврата торгового сервера
if(mresult.retcode==10009 || mresult.retcode==10008) Print("Ордер Buy по символу ",_Symbol, " с маджиком ",magic," успешно помещен, тикет ордера #:",mresult.order," !!");
else Print("Запрос на установку ордера Buy по символу ",_Symbol, " с маджиком ",magic," не выполнен - ответ сервера:" , mresult.retcode," код ошибки " ,GetLastError());
}
if(type==2)
{
mrequest.type = ORDER_TYPE_SELL_LIMIT;
OrderSend(mrequest,mresult);
// анализируем код возврата торгового сервера
if(mresult.retcode==10009 || mresult.retcode==10008) Print("Ордер Sell по символу ",_Symbol, " с маджиком ",magic," успешно помещен, тикет ордера #:",mresult.order,"!!");
else Print("Запрос на установку ордера Sell по символу ",_Symbol, " с маджиком ",magic," не выполнен - код ошибки:" , mresult.retcode," " ,GetLastError());
}
return;
}
Es heißt (ich habe versucht, die Ablaufzeit zu ändern):
2013.04.24 17:40:05 udalit (SBRF-6.13,M1) Kaufauftragsanfrage von SBRF-6.13 mit magischer Nummer 111 fehlgeschlagen - Serverantwort: 10022 Fehlercode 4756
2013.04.24 17:40:05 udalit (SBRF-6.13,M1) Verfallszeit 2013.04.25 17:00:00 Verfallsart 2 Preis 10016.0