Fehler, Irrtümer, Fragen - Seite 941

 
Rosh:

Schauen Sie in der integrierten Hilfe des Terminals nach - MetaTrader 5 HelpGetting StartedLaunching the Terminal:

Wenn Sie keine Probleme mit dem Sicherheitssystem haben wollen, installieren Sie das Terminal nicht in/Programme/ .

Lesen Sie auch den Artikel Ein kurzer Blick auf MQL5


Vielen Dank .....
 
Yedelkin:

Ich wollte ein Skript, das die Linie des Indikators (ähnlich wie die MA, aber in einem separaten Fenster und auf 0 zurückgesetzt, aber das ist nicht der Punkt) für die Schaukel auf Null, Kreuzungen, etc. zu erstellen, dann ändert das Skript den Indikator Parameter und Analyse wieder, das Ergebnis ist eine Tabelle mit den Daten, oder vielmehr eine Datei mit den Ergebnissen

Ich kann es nicht als Skript verwenden, also mache ich es jetzt als Eulen, die die Indikatorwerte während der Optimierung durchsehen und sie in der DeInit-Funktion speichern, wobei ich die Daten bei jedem Durchgang hinzufüge. Das Ergebnis ist die gleiche Tabelle mit den gleichen 10000 Werten des Indikators


weitere Vorschläge sind willkommen

 

Alles in allem hat es funktioniert, obwohl es durch den Tester langsamer ist als durch das Skript, aber eine beliebige Anzahl von Indikatoren,

Und beim Testen musste ich alle Kerne deaktivieren, nur auf 1 testen, weil die Ergebnisse in mehrere Teile aufgeteilt sind, aber ich denke, es ist einfacher, alles in 1 Datei zu kopieren als zu warten

 

Warum lädt terminal.exe einen 2x-Kern-Prozessor zu 50%, wenn es 7-10 aktive benutzerdefinierte Indikatoren gibt, MT4 aber nicht?

Переход на новые рельсы: пользовательские индикаторы в MQL5
Переход на новые рельсы: пользовательские индикаторы в MQL5
  • 2009.11.23
  • Андрей
  • www.mql5.com
Я не буду перечислять все новые возможности и особенности нового терминала и языка. Их действительно много, и некоторые новинки вполне достойны освещения в отдельной статье. Вы не увидите здесь кода, написанного по принципам объектно-ориентированного программирования — это слишком серьезная тема для того, чтобы просто быть упомянутой в контексте как дополнительная вкусность для кодописателей. В этой статье остановимся подробней на индикаторах, их строении, отображении, видах, а также особенностях их написания по сравнению с MQL4.
 
dav1977:

Warum lädt terminal.exe einen 2x-Kern-Prozessor zu 50%, wenn es 7-10 aktive benutzerdefinierte Indikatoren gibt, MT4 aber nicht?

Nicht genug Details. Wie vergleichen Sie? Welche Indikatoren genau? Was ist sonst noch im Terminal los? Haben Sie den Quellcode der Indikatoren? Mit welchem Symbol/Zeitraum?

 
Mein Eindruck ist, dass MT5 auf einem einzigen CPU-Agenten läuft. D.h. bei einem 4-Kern-Prozessor würde MT5 25% der Leistung beanspruchen. Wenn ich z.B. teste oder normal auf meinem 2-Kern-System arbeite, sind es auch 50%, aber wenn ich optimiere, lädt es alle Agenten und geht auf 100%.
 

Hallo. Das Problem im MetaTrader FOUR

Problem mit schwebenden Aufträgen im Tester, insbesondere mit dem Verfallsdatum.

   ticket=OrderSend(symb, OP_SELLLIMIT, Lots, price, Slippage, 0, 0, lsComm, mn, TimeCurrent() + 60*60, op_color);

Auf diese Weise wird ein neuer Auftrag eröffnet, d.h. wenn er innerhalb einer Stunde nicht ausgelöst wurde, sollte der Server ihn schließen.

Dann prüfe ich das Verfallsdatum:

   if (ticket>0)
   {
    OrderSelect(ticket, SELECT_BY_TICKET);
    Alert("OrderExpiration = ", TimeToStr(OrderExpiration(), TIME_DATE),":",TimeToStr(OrderExpiration(), TIME_MINUTES)); 
.......
   } 

So sieht es aus, wenn der EA im Testprogramm funktioniert:

2013.03.01 12:45:58 2012.01.11 11:00 #advisor# EURUSD,H1: open #1 sell limit 2.00 EURUSD at 1.27972 ok
2013.03.01 12:45:58 2012.01.11 11:00 #advisor# EURUSD,H1: Alert: OrderExpiration = 2012.01.11:12:00
2013.03.01 12:45:58 2012.01.12 16:29 Tester: Auftrag #1, Verkaufen 2,00 EURUSD wird bei 1,27972 eröffnet

Das heißt, Datum und Uhrzeit des Ablaufs sind korrekt eingestellt, wie ich es möchte, aber es gibt keine Schließung zum Zeitpunkt des Ablaufs - eine Position wird nach 24 Stunden eröffnet.

Ich habe ein paar Foren durchsucht, das Problem tritt schon seit langem auf.

 
alexvd:

Einige wenige Details. Wie vergleichen Sie? Welche Indikatoren? Was ist sonst noch im Terminal los? Haben Sie den Quellcode der Indikatoren? Mit welchem Symbol/Zeitraum?

Vergleich der Indikatoren in MT4 habe ich geschrieben und auf MT5 übertragen. Nur Indikatoren im Terminal. Ich habe Quellen. RTS fuchs ist nicht vom Symbol abhängig. Zeitraum M1

Das Problem ist, dass aufgrund der CPU-Last neue Candlesticks und Preise nicht mehr gezeichnet werden !!!!!!!!!!!!!!!.

(Abbildungen https://www.mql5.com/ru/forum/9926/page4 )

БКС запустила MetaTrader 5 на ФОРТС
БКС запустила MetaTrader 5 на ФОРТС
  • www.mql5.com
MetaTrader 5 - программа, предназначенная для торговли через интернет на рынке ФОРТС и других финансовых рынках.
 
dav1977:

Vergleich der Indikatoren in MT4 habe ich geschrieben und auf MT5 übertragen. Nur Indikatoren im Terminal. Ich habe Quellen. RTS fuchs ist nicht vom Symbol abhängig. Zeitraum M1

Das Problem ist, dass aufgrund der CPU-Last neue Candlesticks und Preise nicht mehr gezeichnet werden !!!!!!!!!!!!!!!

(Abbildungen https://www.mql5.com/ru/forum/9926/page4 )

Ich habe den Verdacht, dass die Übertragung von 4 ohne Berücksichtigung der Merkmale von 5 erfolgt sein könnte. Und die CPU-Belastung und das Rendern von Candlesticks ist nur eine Folge von zu schweren Berechnungen oder Wartezyklen etc. in OnCalculate.
 

Guten Tag zusammen, ich bitte um die Hilfe von erfahrenen Leuten.

Die Situation stellt sich wie folgt dar. Ich versuche einen MT5 auf Forex. Ich habe einen Expert Advisor, der ausstehende Stop-Buy- und Stop-Sell-Orders durch das Signal platziert.

Wenn ich den Expert Advisor im Strategietester ausführe, stelle ich fest, dass eine vom Expert Advisor platzierte Stop-Buy-Order früher ausgelöst wird (ein Geschäft wird eröffnet), als es dem Preis entspricht, zu dem die Order ausgeführt werden muss.

Die Struktur einer Handelsanfrage zur Platzierung eines schwebenden Stop-Buy-Auftrags ist wie folgt:

mrequest.action = TRADE_ACTION_PENDING;                                         
mrequest.symbol=_Symbol;                                                       
mrequest.volume= Lots;                                                         
mrequest.price = NormalizeDouble(mrate[1].close+StopSell*_Point,_Digits);        
mrequest.stoplimit = NormalizeDouble(mrate[1].close+StopSell*_Point,_Digits);    
mrequest.tp = NormalizeDouble(mrate[1].close+StopSellTake*_Point,_Digits);       
mrequest.type = ORDER_TYPE_BUY_STOP;                                            
mrequest.type_filling = ORDER_FILLING_RETURN;                                      
mrequest.type_time = ORDER_TIME_SPECIFIED_DAY;      
mrequest.expiration = TimeCurrent();

In Ausdrücken

mrate[1].close+StopSell

и

mrate[1].close+StopSellTake

Es liegt kein Fehler vor, sie geben uns den Preis , zu dem der Auftrag ausgeführt werden muss, und den Take-Profit-Preis an.


Dementsprechend lautet meine Frage: Zu welchem Kurs prüft MT5 die Bedingungen für die Auslösung von ausstehenden Stop-Buy- und Stop-Sell-Orders - zum Ask- und Bid-Kurs oder zum Kurs des letzten Handels?

Da Sie den Expert Advisor auf den realen FORTS verwenden werden, möchte ich, dass der Auslösepreis der letzte Handelskurs ist.

Ich gehe davon aus, dass der Testauslösepreis entweder ein Kauf- oder ein Verkaufspreis ist; daher ist der entsprechende Auslösepreis auf dem Diagramm nicht zum letzten Handelskurs verfügbar. Ich habe im Handbuch gelesen, dass "die Orderauslösung für Instrumente im "Exchange execution mode" zum Last price (Preis des zuletzt ausgeführten Geschäfts) erfolgt. Ich prüfe den Ausführungsmodus für das benötigte Symbol RIH3

Print("Режим исполнения сделок: ", SymbolInfoInteger(_Symbol, SYMBOL_TRADE_EXEMODE));

sendet das Terminal die Meldung "Handelsausführungsmodus: 3". 3 scheint eine Aktienausführung zu sein, d.h. der Auslösepreis sollte Last sein. Schwebende Aufträge werden jedoch nach wie vor ausgeführt, wenn der Auslösepreis noch nicht auf dem Chart steht.

Ich teste auf dem Demoserver von FORTS Broker.