Fehler, Irrtümer, Fragen - Seite 398

 

In mehreren neueren Builds (einschließlich 458) wurden auf einem der beiden Rechner durchweg zwei Testerprobleme beobachtet:

1) Fehler beim Start des Agenten:

EM 0 Core 1 11:44:11 Agentenprozess gestartet
QN 0 Core 1 11:44:11 Verbindung zu 127.0.0.1:3000
KI 0 Kern 1 11:44:15 verbunden
HO 2 Core 1 11:44:17 tester agent Synchronisationsfehler
GM 2 Kern 1 11:44:17 unterbrochen
LK 0 Core 1 11:44:17 Verbindung geschlossen

CQ 0 Tester 11:44:14 MetaTester 5 build 450 (16. Mai 2011)
MP 0 Server 11:44:14:14 MetaTester 5 gestartet auf 127.0.0.1:3000
LI 0 Startup 11:44:14 Initialisierung beendet
MR 2 127.0.0.1 11:44:18 Socket schließen
EI 0 127.0.0.1 11:44:18 Anmeldung (Build 450)
EJ 0 Tester 11:44:19 Tester-Agent heruntergefahren

2) Das Terminal reagiert beim Zugriff auf die Registerkarte "Agenten" etwa 30 Sekunden lang nicht (Sanduhr).

Es wird vermutet, dass die Probleme mit dem Single-Core-Prozessor oder dem Fehlen von Remote-Agenten zusammenhängen.

 
stringo:
Der 458er Build wurde bereits veröffentlicht.

also ja... Aber das Problem bleibt:

2011.05.27 19:19:57 Core 2 langsamer Agent fehlgeschlagen
2011.05.27 19:19:57 Core 2 Verbindung geschlossen
2011.05.27 19:19:57 Core 2 zu langsamer Agent. Die Betriebszeit beträgt 3703 ms. Die durchschnittliche Zeit beträgt 915 ms.
2011.05.27 19:19:55 Core 1 slow agent fehlgeschlagen
2011.05.27 19:19:55 Core 1 Verbindung geschlossen
2011.05.27 19:19:55 Core 2 Gemeinsame Synchronisierung abgeschlossen
2011.05.27 19:19:54 Core 1 zu langsamer Agent. Die Besetzt-Zeit beträgt 3672 ms. Die durchschnittliche Zeit beträgt 915 ms.
2011.05.27 19:19:53 iRU1 slow agent failed
2011.05.27 19:19:53 iRU1 Verbindung geschlossen
2011.05.27 19:19:53 Core 2 autorisiert (Agent Build 458)
2011.05.27 19:19:53 Core 2 verbunden
2011.05.27 19:19:53 iRU1 zu langsamer Agent. Die Besetzt-Zeit beträgt 3672 ms. Die durchschnittliche Zeit beträgt 915 ms.

 
MONTEGRO:

also ja... Aber das Problem bleibt:

Lasst uns weiterdenken.
 

Bitte klären Sie die folgenden Nuancen:

1. Prüf-/Verarbeitungsalgorithmus für SL/TP beim Senden einer zusätzlichen Transaktion. Verdeutlichung durch ein Beispiel.

Hinweis: Alle Handelsaufträge haben den Parameter ORDER_FILLING_AON; es besteht bereits eine Long-Position.

Szenario Nr. 1. Ich möchte mehr kaufen (natürlich für das gleiche Symbol). Ich schicke einen Trade mit zusätzlichem Volumen und angepasstem SL/TP. Wenn die Anfrage erfolgreich ausgeführt wurde, lautet das Ergebnis: zusätzliches Los + aktualisierte SL/TP?

Szenario #2. Ich möchte verkaufen. Ich schicke einen Trade mit einem kleineren Lot ohne Angabe von SL/TP (SL/TP = 0). Die verbleibende Position wird in ihrer Menge reduziert + SL/TP entfernt?

Szenario #3. Wie Szenario 2, nur mit dem Versuch, SL/TP-Limits zu setzen (was bei einer Long-Position wissentlich unmöglich ist). Ergebnis?

2. einen Algorithmus zur Überprüfung des Handelsvolumens anhand eines Beispiels erläutern.

Wird es Änderungen bei der Kombination "minimales Los/minimaler Losschritt" geben?

Anmerkungen: Alle Handelsaufträge haben den Parameter ORDER_FILLING_CANCEL oderORDER_FILLING_RETURN; es gibt bereits eine Long-Position von 1.0; min.lot = 0.1; min.step = 0.01;

Szenario 1. Ich versuche, aus dem Markt auszusteigen (Schließung einer bestehenden Position mit einem umgekehrten Handel in gleicher Höhe). Da es sich um einen Nachrichtenmarkt handelt, versuche ich, zumindest einen kleinen Teil zurückzuziehen (ORDER_FILLING_CANCEL oder ORDER_FILLING_RETURN), da der gesamte Betrag requotiert ist. Das Geschäft liegt teilweise bei 0,99 Lots, d.h. um die Position vollständig zu schließen, muss ich ein Geschäft mit 0,01 Lots senden, was aber nicht möglich ist, da das Mindestlos 0,1 beträgt. D.h. sollte ich zuerst 0,09 Lot hinzufügen, um 0,1 zu erhalten und dann versuchen, es zu schließen (bereits mit ORDER_FILLING_AON)?

Szenario #2. Wenn ein Geschäft teilweise geschlossen wurde und das verbleibende Positionsvolumen unter dem Mindestschritt liegt (Teilabschluss bei 0,999 Lot, und 0,001 Lot bleibt "hängen"). Wird es eine solche Situation geben?

P.S. Im Idealfall würde ich mir eine einheitliche Logik zur Festlegung der Reihenfolge wünschen, die alle theoretisch möglichen Fälle "abschließt". Ich konnte es in der Dokumentation nicht finden, vielleicht habe ich es übersehen...

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
uncleVic:

In der Bibliothek liegt kein Fehler vor. Bei der Arbeit mit Indikatordaten unter Verwendung der Klasse gibt es zwei Feinheiten (die in der Hilfe möglicherweise nicht vollständig beschrieben sind).

1. Um Indikatordaten über die Klasse verfügbar zu machen, sollte die Klasse diese Daten aus dem Indikator kopieren. Rufen Sie dazu die Methode Refresh(int) auf, wenn Sie den leisesten Verdacht haben, dass sich die Daten geändert haben. In Ihrem Fall:

2. Um Indikatordaten über die Klasse in ausreichender "Tiefe" verfügbar zu machen, müssen Sie die Puffergrößen festlegen (standardmäßig sind die Puffergrößen 256). Rufen Sie dazu nach der Erstellung des Objekts die Methode BufferResize(int) auf. In Ihrem Fall:

Tut mir leid, wenn das verwirrend ist. Ich werde weitere Fragen beantworten.

Können Sie mir wenigstens einen einfachen Code für einen Indikator geben, der die Standardbibliothek verwendet, da ich wegen des Mangels an Dokumentation und Beispielen nicht verstehen kann, wie er funktioniert. Zum Beispiel werden unter jedem Balken grüne Pfeile gezeichnet, wenn tenkan sen>kijun sen und über der Wolke sind und rote, wenn tenkan sen<kijun sen und unter der Wolke sind.
Как использовать торговые классы Стандартной библиотеки при написании советника
Как использовать торговые классы Стандартной библиотеки при написании советника
  • 2010.11.10
  • Samuel
  • www.mql5.com
В статье рассказывается о том, как использовать основной функционал торговых классов Стандартной библиотеки при написании советников, в которых применяется открытие, закрытие и модификация позиции, проверка свободной маржи перед размещением торговых ордеров, размещение и удаление отложенных ордеров. Показано, как использовать торговые классы для получения свойств ордеров и сделок.
 

Flexibilität der Interface-Einstellungen - es gibt einen Vorschlag, mt5 flexibler für den Benutzer zu machen, in Bezug auf die Einstellungen für die Anzeige von Symbolnamen, genauer gesagt - die Möglichkeit, jeden Namen umzubenennen, d.h. nicht - nicht gbpusd - sondern ... - Zum Beispiel - nicht gbpusd, sondern ... Pfund," sowie die Einführung der Trennung von Panels wie - Währung und Pfeil nach unten, Metalle, Aktien, was nicht alle in einem Stapel gewesen, in den Bars, die Trennung kann sogar hinzufügen, Mini-Symbole, wie Währung, das Zeichen eines Pfund oder ein kleines grünes Papier, Metalle - auch Gold kleine Bars, usw. Ca. solche Flexibilität Einstellungen Farben, Schieberegler und Scheiben in der Plattform "Pro Trader", ich hoffe, nicht wie Werbung klingen, weil Ihre im Moment sicherlich einfacher und besser... :)
Es wäre auch schön, wenn Sie den Hintergrund, unter dem Symbol in der Liste der Symbole, sowie die Farbe shifft, zum Beispiel ein großes Highlight einen schwarzen Hintergrund und weiße Schrift, mittel, blau und weiß und völlig unwichtig, da es schwarz auf weiß ...

 
Graff:
Können Sie mir wenigstens den einfachsten Code eines Indikators geben, der die Standardbibliothek verwendet, denn aufgrund des Mangels an Dokumentation und Beispielen kann ich nicht verstehen, wie er funktioniert. Zum Beispiel werden unter jedem Balken grüne Pfeile gezeichnet, wenn tenkan sen>kijun sen und über der Wolke sind und rote, wenn tenkan sen<kijun sen und unter der Wolke sind.
Bringen Sie Ihren "Fisch" an und äußern Sie kurz Ihre Wünsche. Wenn möglich (ich kann nicht versprechen, dass es schnell geht), werde ich einen Blick darauf werfen.
 

papaklass:

Algorithmus 2:

1. Positionen in Vielfachen des zulässigen Mindestvolumens schließen. Ihr Beispiel mit 0,99 Losen ist nicht möglich, da das Mindestlos 0,1 Lose beträgt. Andere Marktteilnehmer legen ihre Aufträge als Vielfaches von 0,1 Lot fest. Ihr Beispiel ist also nicht möglich.

2. siehe Punkt 1.

Sie wollen also sagen, dass dieser Auftrag abgelehnt wird, wenn das Positionsvolumen nach der Auftragsausführung unter dem Mindestvolumen liegt.

Auf MQ-Servern ist der Schritt=Minimum Lot=0,01. Gibt es andere Beispiele, bei denen der Schritt<Minimum Lot ist? Um das Verhalten des Terminals zu überprüfen.

Sie können keine Antwort von den Entwicklern erwarten.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
Graff:
Können Sie mir wenigstens den einfachsten Code eines Indikators geben, der die Standardbibliothek verwendet, denn aufgrund des Mangels an Dokumentation und Beispielen kann ich nicht verstehen, wie er funktioniert. So werden beispielsweise unter jedem Balken grüne Pfeile gezeichnet, wenn tenkan sen>kijun sen und über der Wolke liegen, und rote, wenn tenkan sen<kijun sen und unter der Wolke liegen.

dieses Beispiel der Arbeit mit bibla - bauen Sie einfach die tenkan Linie
Von hier aus wird es für Sie einfacher sein, analog 4 weitere Puffer hinzuzufügen und sie zu analysieren (für die Pfeile).

Hinweis: Es gibt mindestens zwei weitere Möglichkeiten, um die Werte des Indikatorpuffers zu ermitteln, außer der oben gezeigten. Die gezeigte Variante ist nicht die einzige, die möglich ist.

#property indicator_chart_window
#property indicator_buffers  1
#property indicator_plots    1
#property indicator_color1   clrRed
#property indicator_type1    DRAW_LINE

#include <Indicators\Trend.mqh>  // подключили библу

input int tenkan=9;
input int kijun=26;
input int senkou=52;

CiIchimoku ichi; // объект индюка
int h; // его хендл

double Tenkan[]; // буфер для тенкана
//------------------------------------------------------------------
int OnInit()
{
  SetIndexBuffer(0, Tenkan, INDICATOR_DATA);
  ArraySetAsSeries(Tenkan, true);

  ichi.Create(Symbol(), Period(), tenkan, kijun, senkou); // создали буфера
  h=ichi.Handle(); // получили хендл
  return(0);
}
//------------------------------------------------------------------
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
  ichi.Refresh(0); // обновили индюк

  if(BarsCalculated(h)<rates_total) return(0); // если расчет не нужен
        
  int to_copy; // определяем число баров для копирования
  if(prev_calculated>rates_total || prev_calculated<=0) to_copy=rates_total; 
  else { to_copy=rates_total-prev_calculated; to_copy++; }

  // Номера буферов: 0 - TENKANSEN_LINE, 1 - KIJUNSEN_LINE, 2 - SENKOUSPANA_LINE, 3 - SENKOUSPANB_LINE, 4 - CHINKOUSPAN_LINE.
  if (CopyBuffer(h,0, 0,to_copy, Tenkan)<=0) { Print("ошибка"); return(0); }

  return(rates_total);
}
 
uncleVic:

es gibt einen Fehler in den Klassen und der Hilfe - die Refresh-Funktionen werden nicht beschrieben
Grund der Beschwerde: