Diskussion zum Artikel "Erstellen und Testen benutzerdefinierter Symbole im MetaTrader 5" - Seite 4

 
In Anbetracht der Tatsache, dass dieses Thema benutzerdefinierten Symbolen gewidmet ist, werde ich hier fragen.
Wenn ich den Berechnungstyp - "Exchange Futures" wie auf dem Bildschirm unten wähle und einen Spread hinzufüge, wird dieser vom Tester während des Testens berücksichtigt oder wird er ignoriert? Die Idee ist, einen möglichen Slippage in seinem eigenen Symbol als Spread hinzuzufügen und ihn im Tester zu testen.
Dateien:
 
AndreyKrivcov:
In Anbetracht der Tatsache, dass dieses Thema benutzerdefinierten Symbolen gewidmet ist, werde ich hier fragen.
Wenn ich die Berechnungsart - "Exchange Futures" wie auf dem Bildschirm unten wähle und einen Spread hinzufüge, wird dieser vom Tester während des Testens berücksichtigt oder wird er ignoriert? Die Idee ist, einen möglichen Slippage in einem eigenen Symbol als Spread hinzuzufügen und ihn im Tester zu testen.

Schreiben Sie die Ticks sofort in die benutzerdefinierten Symbole und testen Sie nur im Modus "durch echte Ticks". Andere Modi für benutzerdefinierte Symbole sind fast immer dumm zu verwenden.

 
fxsaber:

Schreiben Sie Ticks in benutzerdefinierte Symbole auf einmal und testen Sie nur im Modus "durch echte Ticks". Andere Modi für benutzerdefinierte Symbole sind fast immer dumm zu verwenden.


Ich möchte laute Kurse für Stresstests. Natürlich werde ich Ticks schreiben, aber ich denke auch, Charts zu erstellen.

Ja, übrigens, es gibt eine Frage zu CustomSymbolSetInteger, nämlich die Eigenschaft des Hinzufügens und Löschens von MarketWatch :
bool deattach = CustomSymbolSetInteger(Symb,SYMBOL_SELECT,1);
Gibt immer Fehler 5307 - Eigenschaft ist nicht richtig gesetzt. Wie setzen Sie die Eigenschaft für diesen Befehl?

 
AndreyKrivcov:

Ich möchte Notierungen für Stresstests verrauschen. Natürlich werde ich Ticks schreiben, und ich denke, auch Charts zu machen.

Ja, übrigens gibt es eine Frage über CustomSymbolSetInteger, nämlich die Eigenschaft des Hinzufügens und Löschens von MarketWatch :
bool deattach = CustomSymbolSetInteger(Symb,SYMBOL_SELECT,1);
Gibt immer Fehler 5307 - Eigenschaft ist nicht richtig eingestellt. Wie setzen Sie die Eigenschaft für diesen Befehl?

SymbolAuswahl.


Liste der Eigenschaften (rot), die über CustomSymbol* gesetzt werden

    return(CLONE(SYMBOL_BASIS) &&
    CLONE(SYMBOL_CURRENCY_BASE) &&
    CLONE(SYMBOL_CURRENCY_MARGIN) &&
    CLONE(SYMBOL_CURRENCY_PROFIT) &&
    CLONE(SYMBOL_DESCRIPTION) &&
    CLONE(SYMBOL_FORMULA) &&
    CLONE(SYMBOL_ISIN) &&
    CLONE(SYMBOL_PAGE) &&
    CLONE(SYMBOL_PATH) &&

    CLONE(SYMBOL_MARGIN_HEDGED) &&
    CLONE(SYMBOL_MARGIN_INITIAL) &&
    CLONE(SYMBOL_MARGIN_MAINTENANCE) &&
    CLONE(SYMBOL_OPTION_STRIKE) &&
    CLONE(SYMBOL_POINT) &&
    CLONE(SYMBOL_SESSION_PRICE_LIMIT_MAX) &&
    CLONE(SYMBOL_SESSION_PRICE_LIMIT_MIN) &&
    CLONE(SYMBOL_SESSION_PRICE_SETTLEMENT) &&
    CLONE(SYMBOL_SWAP_LONG) &&
    CLONE(SYMBOL_SWAP_SHORT) &&
    CLONE(SYMBOL_TRADE_ACCRUED_INTEREST) &&
    CLONE(SYMBOL_TRADE_CONTRACT_SIZE) &&
    CLONE(SYMBOL_TRADE_FACE_VALUE) &&
    CLONE(SYMBOL_TRADE_LIQUIDITY_RATE) &&
    CLONE(SYMBOL_TRADE_TICK_SIZE) &&
    CLONE(SYMBOL_TRADE_TICK_VALUE) &&
    CLONE(SYMBOL_VOLUME_LIMIT) &&
    CLONE(SYMBOL_VOLUME_MAX) &&
    CLONE(SYMBOL_VOLUME_MIN) &&
    CLONE(SYMBOL_VOLUME_STEP) &&

    CLONE(SYMBOL_BACKGROUND_COLOR) &&
    CLONE(SYMBOL_CHART_MODE) &&
    CLONE(SYMBOL_DIGITS) &&
    CLONE(SYMBOL_EXPIRATION_MODE) &&
    CLONE(SYMBOL_EXPIRATION_TIME) &&
    CLONE(SYMBOL_FILLING_MODE) &&
    CLONE(SYMBOL_MARGIN_HEDGED_USE_LEG) &&
    CLONE(SYMBOL_OPTION_MODE) &&
    CLONE(SYMBOL_OPTION_RIGHT) &&
    CLONE(SYMBOL_ORDER_GTC_MODE) &&
    CLONE(SYMBOL_ORDER_MODE) &&
    CLONE(SYMBOL_SPREAD) &&
    CLONE(SYMBOL_SPREAD_FLOAT) &&
    CLONE(SYMBOL_START_TIME) &&
    CLONE(SYMBOL_SWAP_MODE) &&
    CLONE(SYMBOL_SWAP_ROLLOVER3DAYS) &&
    CLONE(SYMBOL_TICKS_BOOKDEPTH) &&
    CLONE(SYMBOL_TRADE_CALC_MODE) &&
    CLONE(SYMBOL_TRADE_EXEMODE) &&
    CLONE(SYMBOL_TRADE_FREEZE_LEVEL) &&
    CLONE(SYMBOL_TRADE_MODE) &&
    CLONE(SYMBOL_TRADE_STOPS_LEVEL));
Документация по MQL5: Получение рыночной информации / SymbolInfoInteger
Документация по MQL5: Получение рыночной информации / SymbolInfoInteger
  • www.mql5.com
2. Возвращает true или false в зависимости от успешности выполнения функции.  В случае успеха значение свойства помещается в приемную переменную, передаваемую по ссылке последним параметром. Если функция используется для получения информации о последнем тике, то лучше использовать SymbolInfoTick(). Вполне возможно, что по данному символу с...
 
fxsaber:

https://www.mql5.com/de/docs/marketinformation/symbolinfointeger


Liste der Eigenschaften (rot), die über CustomSymbol* eingestellt werden.


Ich danke Ihnen. Ist der Rest der Funktionalität noch nicht fertig, oder wird er gar nicht hinzugefügt?

 
AndreyKrivcov:

Ich danke Ihnen. Ist der Rest der Funktionalität noch nicht fertig, oder wird er noch hinzugefügt?

Die Funktionalität ist zu 90% fertig. Natürlich nicht ohne Bugs.

 
AndreyKrivcov:
In Anbetracht der Tatsache, dass dieses Thema benutzerdefinierten Symbolen gewidmet ist, werde ich hier fragen.
Wenn ich die Berechnungsart - "Exchange Futures" wie auf dem Bildschirm unten wähle und einen Spread hinzufüge, wird dieser vom Tester während des Testens berücksichtigt oder wird er ignoriert? Die Idee ist, einen möglichen Slippage zu seinem eigenen Symbol als Spread hinzuzufügen und ihn im Tester zu testen.

Und der in den Tester eingebaute Modus mit zufälligem oder festem Slippage ist nicht geeignet?

 
Stanislav Korotky:

Ist der im Tester eingebaute Modus mit zufälligem oder festem Schlupf nicht geeignet?


Dort ist der Slippage zeitbasiert, und ich interessiere mich mehr für den Slippage nicht wegen des Ping-Lags, sondern allgemein. Wenn das Volumen steigt, zum Beispiel (zum Beispiel, Handel auf Sber oder Gazprom...).

 
fxsaber:

Die Funktionalität ist zu 90% vorhanden. Natürlich nicht ohne Bugs.


Ich habe ein wenig recherchiert und es hat sich herausgestellt, dass weniger als 90% der Funktionalität verfügbar ist, aber das ist okay, die Hauptsache ist, dass sie sie erweitern.

Übrigens, die Funktion CustomTicksUpdate(customSymbol,ticks) funktioniert noch nicht, aber stattdessen kann man eine Krücke verwenden(CustomTicksReplace(customSymbol,from,till*1000,ticks)).

Unten habe ich die Dateien angehängt, die mir mein Skript zur Überprüfung der Funktionalität geliefert hat, und auch das Skript selbst.

 
AndreyKrivcov:

Übrigens, die Funktion CustomTicksUpdate(customSymbol,ticks) funktioniert noch nicht, aber Sie können stattdessen eine Krücke verwenden (CustomTicksReplace(customSymbol,from,till*1000,ticks)).

Die Funktion hat einen anderen Namen. Wenn man sie durch eine Replace-Funktion ersetzt, ist nicht ganz klar, wozu TicksAdd dient: zum Auslösen der entsprechenden Tick-Ereignisse.