In meinem MKL schließt ein ähnliches Skript zunächst alle profitablen Positionen.
Können Sie das auch in Ihrem Skript tun?
Viel Glück!
PS: Sie haben es getan. Hatte gesehen.
Und dieses Skript für die Aufrechnung von Konten?
Normalerweise priorisiere ich die Positionsschließung auf der Grundlage des Risikos (Positionsgröße), aber wenn Sie die Schließung auf der Grundlage des Gesamtgewinns wünschen, müssen Sie nur die Sortierung der Symbole ändern.
def open_position_symbols():
positions = {}
for p in mt5.positions_get():
positions.setdefault(p.symbol, []).append(p.profit)
symbols = sorted(
positions,
key=lambda s: sum(positions[s]),
reverse=True
)
return symbols
Normalerweise priorisiere ich das Schließen von Positionen auf der Grundlage des Risikos (Positionsgröße), aber wenn Sie das Schließen auf der Grundlage des Gesamtgewinns wünschen, müssen Sie nur die Sortierung der Symbole ändern.
MetaQuotes: Nein, sie funktionieren nur als Skripte auf der Karte in einem separaten Thread.
Können Sie eine Funktion hinzufügen, mit der das Terminal das Diagrammsymbol und den Zeitrahmen als Befehlszeilenargumente übergibt, wenn ein Python-Skript aufgerufen wird, indem es auf dem Diagramm abgelegt wird? Wenn Sie beispielsweise das Python-Skript auf dem EURUSD M15-Chart ablegen, lautet der Befehl zum Aufrufen des Skripts
python mt5_script.py EURUSD 15
Damit wir das Symbol und den Zeitrahmen aus dem Python-Skript heraus erkennen können
import sys
if len(sys.argv) == 3:
chart_symbol, chart_tf = sys.argv[1:3]
Können Sie eine Funktion hinzufügen, mit der das Terminal das Diagrammsymbol und den Zeitrahmen als Befehlszeilenargumente übergibt, wenn ein Python-Skript aufgerufen wird, indem es auf dem Diagramm abgelegt wird? Wenn Sie beispielsweise das Python-Skript auf dem EURUSD M15-Chart ablegen, lautet der Befehl zum Aufrufen des Skripts
Damit wir das Symbol und den Zeitrahmen aus dem Python-Skript heraus erkennen können
Die nächste Beta-Version wird heute Abend verfügbar sein:
import sys
chart_symbol='unknown'
chart_tf=1
if len(sys.argv) == 3:
chart_symbol, chart_tf = sys.argv[1:3];
print("Hello world from", chart_symbol, chart_tf)
>> Hello world from T.NYSE 15
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Vielen Dank für den Hinweis. Ich habe die Materialien auf Ihrem Link gelesen. Es ist ein bisschen kompliziert.
Guten Tag, wie arbeite ich mit TRADE_ACTION_CLOSE_BY oder wer und wie schließt alle offenen Positionen?
https://www.mql5.com/en/forum/306742/page10#comment_15577952
https://www.mql5.com/en/forum/306742/page10#comment_15577952
Danke für das Beispiel.
Ich habe ein ähnliches Skript in MKL, das alle profitablen Positionen zuerst schließt.
Können wir das auch in Ihrem Skript tun?
Viel Glück!
PS: Sie haben es getan. Säge.
Und dieses Skript ist für Verrechnungskonten?Danke für das Beispiel.
In meinem MKL schließt ein ähnliches Skript zunächst alle profitablen Positionen.
Können Sie das auch in Ihrem Skript tun?
Viel Glück!
PS: Sie haben es getan. Hatte gesehen.
Und dieses Skript für die Aufrechnung von Konten?Normalerweise priorisiere ich die Positionsschließung auf der Grundlage des Risikos (Positionsgröße), aber wenn Sie die Schließung auf der Grundlage des Gesamtgewinns wünschen, müssen Sie nur die Sortierung der Symbole ändern.
def open_position_symbols(): positions = {} for p in mt5.positions_get(): positions.setdefault(p.symbol, []).append(p.profit) symbols = sorted( positions, key=lambda s: sum(positions[s]), reverse=True ) return symbolsNormalerweise priorisiere ich das Schließen von Positionen auf der Grundlage des Risikos (Positionsgröße), aber wenn Sie das Schließen auf der Grundlage des Gesamtgewinns wünschen, müssen Sie nur die Sortierung der Symbole ändern.
Dankeschön
BackTrader: https://github.com/backtrader/backtrader
PyAlgoTrade https://github.com/gbeced/pyalgotrade
Zipline https://github.com/quantopian/zipline
Ultra-Finanz https://code.google.com/p/ultra-finance/
ProfitPy https://code.google.com/p/profitpy/
pybacktest https://github.com/ematvey/pybacktest
Prophet https://github.com/Emsu/prophet
Quant https://github.com/maihde/quant
AlephNull https://github.com/CarterBain/AlephNull
Handel mit Python http://www.tradingwithpython.com/
Wohlstand visualisieren https://github.com/benjaminmgross/visualize-wealth
tia Toolkit für Integration und Analyse https://github.com/bpsmith/tia
QuantSoftware Toolkit http://wiki.quantsoftware.org/index.php?title=QuantSoftware_ToolKit
Rosa Fisch http://fja05680.github.io/pinkfish/
bt http://pmorissette.github.io/bt/index.html
PyThalesianer https://github.com/thalesians/pythalesians
QSTrader https://github.com/mhallsmoore/qstrader/
QSForex https://github.com/mhallsmoore/qsforex
pysystemtrade https://github.com/robcarver17/pysystemtrade
QTPyLib https://github.com/ranaroussi/qtpylib
RQalpha https://github.com/ricequant/rqalpha
Können Python-Skripte für das Backtesting im Terminal verwendet werden?
Nein, sie funktionieren nur als Skripte auf der Karte in einem separaten Thread.
Können Sie eine Funktion hinzufügen, mit der das Terminal das Diagrammsymbol und den Zeitrahmen als Befehlszeilenargumente übergibt, wenn ein Python-Skript aufgerufen wird, indem es auf dem Diagramm abgelegt wird? Wenn Sie beispielsweise das Python-Skript auf dem EURUSD M15-Chart ablegen, lautet der Befehl zum Aufrufen des Skripts
python mt5_script.py EURUSD 15Damit wir das Symbol und den Zeitrahmen aus dem Python-Skript heraus erkennen können
Können Sie eine Funktion hinzufügen, mit der das Terminal das Diagrammsymbol und den Zeitrahmen als Befehlszeilenargumente übergibt, wenn ein Python-Skript aufgerufen wird, indem es auf dem Diagramm abgelegt wird? Wenn Sie beispielsweise das Python-Skript auf dem EURUSD M15-Chart ablegen, lautet der Befehl zum Aufrufen des Skripts
Damit wir das Symbol und den Zeitrahmen aus dem Python-Skript heraus erkennen können
Die nächste Beta-Version wird heute Abend verfügbar sein:
import sys chart_symbol='unknown' chart_tf=1 if len(sys.argv) == 3: chart_symbol, chart_tf = sys.argv[1:3]; print("Hello world from", chart_symbol, chart_tf) >> Hello world from T.NYSE 15