
Da sich quantitative Handelsstrategien ständig verbessern, haben Benutzer immer höhere Anforderungen an Push-Benachrichtigungen in Echtzeit über Positionsänderungen. Beispielsweise müssen Online-Webprotokolle, mobile Apps, WeChat usw. Änderungen der Kontopositionen proaktiv an die Plattform übermitteln. in Echtzeit. Browser, Mobiltelefone usw. Zu diesem Zweck verwendet dieser Artikel die My-Language-Strategie von Inventor Quantitative (FMZ.COM), um die Echtzeit-Übertragung von Positionen an mobile Apps und WeChat zu realisieren.
Klicken Sie bitte auf https://www.fmz.com/strategy/305785, um den vollständigen Quellcode dieses Artikels anzuzeigen. Ich schlage vor, Sie probieren den Code aus.
Zur Veranschaulichung wird in diesem Artikel auf die vorherige Handelsstrategie von William W%R Bezug genommen. Die Linkadresse der Strategie lautet: https://www.fmz.com/strategy/283024. Die Strategielogik besteht aus William-Wert und gleitendem Durchschnitt. Die vollständige Strategie und die Testkonfiguration für Renditen können Sie über diesen Link abrufen. Unten finden Sie den Code für diese Strategie:
HC := HHV(HIGH, 14) - CLOSE;
HL := HHV(HIGH, 14) - LLV(LOW, 14);
WR := -100 * HC / HL;
MA20 : EMA2(C, 14);
C1 := WR < -60 && C > MA20;
C2 := WR > -15 && C < MA20;
C1, BPK;
C2, SPK;
Die My-Sprache von FMZ.COM ist eine weitere Kapselung der JavaScript-Sprache, die quantitativen Anfängern den Einstieg erleichtern soll. Meine Sprache hat die Eigenschaften einer prägnanten Syntax und kann einige einfache Strategielogiken verarbeiten, ist jedoch nicht für einige komplexe Die Strategie wird ausgeweitet. Zu diesem Zweck hat der Erfinder Quantized Sprachverbesserungsfunktionen auf Basis der My-Sprache eingeführt. Wie im folgenden Codebeispiel gezeigt:
%%
// 这里面可以调用发明者量化的任何API
scope.TEST = function(obj) {
return obj.val * 100;
}
%%
收盘价:C;
收盘价放大100倍:TEST(C);
上一个收盘价放大100倍:TEST(REF(C, 1)); // 鼠标移动到回测的K线上就会提示变量值
Wie im obigen Code gezeigt, ermöglicht die Spracherweiterungsfunktion eine gemischte Programmierung in meiner Sprache und in JavaScript. Spezifische Erklärungen finden Sie unter dem Dokumentlink: https://www.fmz.com/doc/2569#%E8%AF %AD%E8 %A8%80%E5%A2%9E%E5%BC%BA
In:
1. Scope-Objekt Im Bereichsobjekt können Sie Eigenschaften hinzufügen und Eigenschaften anonyme Funktionen zuweisen. Im Mai-Sprachcodeteil können Sie die anonyme Funktion aufrufen, auf die dieses Attribut verweist.
2、scope.get_locals(‘name’) Diese Funktion kann die Variablen der Sprache „Meine“ abrufen und so die Interaktion zwischen der Sprache „Meine“ und der JavaScript-Sprache realisieren.
In der Strategie „Meine Sprache“ kann die Funktion BKVOL die Anzahl der Kaufsignal-Lots ermitteln, d. h. die aktuelle Long-Position. Mit der Funktion SKVOL lässt sich die Anzahl der Verkaufssignal-Lots ermitteln, also die aktuelle Short-Position. Dann können wir den aktuellen Positionsänderungsstatus berechnen, indem wir SKVOL von BKVOL abziehen. Wie im folgenden Code gezeigt:
HC := HHV(HIGH, 14) - CLOSE;
HL := HHV(HIGH, 14) - LLV(LOW, 14);
WR := -100 * HC / HL;
MA20 : EMA2(C, 14);
C1 := WR < -60 && C > MA20;
C2 := WR > -15 && C < MA20;
C1, BPK;
C2, SPK;
%%
// 下面代码附加到任何My语言策略最后都可以实现仓位变化推送到手机App与微信
if (typeof(scope._tmp) !== 'number') {
scope._tmp = 0;
}
var pos = scope.get_locals('BKVOL') - scope.get_locals('SKVOL');
if (pos != scope._tmp) {
scope._tmp = pos;
Log('通知仓位变化:', scope.symbol, pos, '@');
}
%%
Im obigen Code haben wir die Handelsstrategie von William W%R und die Push-Funktion für Positionsänderungen zusammengeführt, um eine Echtzeitsynchronisierung der Auftragserteilung und der Positionsänderungen der Handelsstrategie zu erreichen und diese an die mobile App und WeChat zu übertragen.
Als nächstes führen wir eine Echtzeittransaktion aus, um diese Funktion zu überprüfen. Wählen Sie beim Erstellen einer Echtzeittransaktion OKEX Spot und stellen Sie das Währungspaar auf LTC_USDT ein (Rohstoff-Futures und digitale Währungs-Futures können diese Funktion ebenfalls verwenden, und der Vorgang ist ähnlich )
1. Signalauslöser, webseitiges Protokoll
2. Signalauslöser, Push-Nachricht über die mobile App
3. Signalauslöser, WeChat-Informations-Push

Im obigen Beispiel verwenden wir eine einfache My Language William W%R-Handelsstrategie, kombiniert mit dem vom Sprachverbesserungsmodul in My Language entwickelten Nachrichten-Push-Modul, um ein Pushen von Positionsänderungen in Echtzeit an mobile Apps und WeChat zu erreichen. Dieser Modulcode kann an jede „Meine Sprache“-Strategie angehängt werden, um Positionsänderungen an mobile Apps und WeChat zu übertragen und verschiedene Push-Typen für unterschiedliche Szenarien zu starten, um Ihren personalisierten Push-Anforderungen gerecht zu werden.