定量的な取引戦略の継続的な改善により,ユーザーはポジション変更のリアルタイムプッシュの要求がますます高まっています.例えば: Webオンラインログ,モバイルアプリ,WeChatなどすべてがアカウントポジションの変更をリアルタイムに必要とし,ブラウザや携帯電話に送信された変更の自動プッシュを必要とします.この理由のために,この記事はFMZ Quant (FMZ.COM) マイランゲージ戦略は,モバイルアプリとWeChatにポジションをリアルタイムにプッシュすることを達成します.
記事のソースコードを表示するには,リンクをクリックしてください:https://www.fmz.com/strategy/305785コードを読むだけでは不十分です. プログラミングを学ぶことは,
この記事では,Williams % R の前回の取引戦略を参照します.戦略のリンクアドレスは:https://www.fmz.com/strategy/283024. 戦略ロジックは,ウィリアムズ値と移動平均から構成されています. 完全な戦略とバックテスト設定については,このリンクをクリックして取得できます. この戦略のコードは以下のとおり表示されます:
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;
FMZ Quant (FMZ) でのMylanguageはFMZ.COM) はJavaScript言語のさらなるエンカプスレーションであり,量化初心者がよりうまくスタートするのを助けることを目的としています.Mylanguageは単純な構文を有し,いくつかの単純な戦略の論理に対処することができます.複雑な戦略に対処するときに,言語はいくつかの問題を示します.したがって,FMZ QuantはMylanguageに基づいた言語強化機能を推進しました.以下のコード例のように:
%%
// here we can call any API of FMZ Quant
scope.TEST = function(obj) {
return obj.val * 100;
}
%%
close price:C;
Zoom 100 times of close price:TEST(C);
Zoom 100 times of last close price:TEST(REF(C, 1)); // move the mouse to the backtested K-line, and the variable value will prompt
上記のコードに示すように,言語強化機能は,MylanguageとJavaScriptのプログラミングを混合できるようにします.具体的な説明については,ドキュメントを参照してください:https://www.fmz.com/doc/2569#语�%A8%80%E5%A2%9E%E5%BC%BA
含め:
1.対象範囲scope object; にプロパティを追加し,プロパティに匿名関数を割り当てることができます.このプロパティで参照される匿名関数は,Mylanguageのコード部分で呼び出されます.
2.scope.get_locals ((
Mylanguage 戦略では,BKVOL 関数は購入信号・ロット,すなわち現在のロングポジションを取得することができます.SKVOL 関数は販売信号・ロット,すなわち現在のショートポジションを取得できます.次に,SKVOL を BKVOL から引いて現在のポジション変化の状態を計算できます.以下のコードのように:
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;
%%
// adding the following code in any Mylanguage strategy can realize the push of position changes to mobile phone App and WeChat
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('Push position changes:', scope.symbol, pos, '@');
}
%%
上記のコードでは,William W%R
次にこの機能を検証するためにボットを実行します ボットを作成し,OKEXスポットを選択し,通貨ペアを LTC_USDT に設定します (商品先物と暗号通貨先物もこの機能を使用できます.操作は同じです)
1.信号が発信され Web ログへ移動 2.シグナルが起動すると,携帯電話アプリに押します. 3.シグナルが起動, WeChat へのメッセージを押す
上記では,シンプルなMylanguage William W%R取引戦略と,Mylanguageの言語強化モジュールによって開発されたメッセージプッシュモジュールを使用し,リアルタイムでモバイルアプリとWeChatへのポジション変更をプッシュする戦略を実現します.モジュールコードは,モバイルアプリとWeChatへのポジション変更をプッシュする任意のMylanguage戦略に付加され,個人化されたプッシュ需要を満たすためにさまざまなシナリオのためのさまざまなプッシュタイプを起動できます.