
このシリーズの前の章を学習することで、さまざまなタイプの視覚化モジュールの使用方法を基本的に習得しました。 この章では、視覚化モジュールを使用して構築されたシンプルだが興味深い戦略を使用します。
戦略の核心は上昇を追い、下落時に売ることであり、市場はBTCなどのデジタル通貨スポット市場です。_USDTは、戦略実行時の現在の価格に基づいて、価格が一定の割合で上昇した場合、現在の資産(分母通貨)の一定の割合が購入されます。同様に、価格が一定の割合で下落した場合、一定の割合が購入されます。現在の資産(コイン)の割合が売却されます。主題。
構築を始める前に、再利用可能なモジュールをいくつか追加しましょう。

上の図に示すように:
クラス ライブラリ列には、再利用可能なパッケージ化されたクラス ライブラリがいくつかあり、確認後に使用できます。 選定した「仮想通貨スポット取引ライブラリ」は、仮想通貨スポット市場向けの取引ライブラリです。注文後の複雑な検出や再試行ロジック(例えば、注文を出した後に約定しなかった注文への対処方法など)を扱います。 )。 戦略を構築するときに、多くの複雑な処理ロジックが省略されるため、非常に便利です。

戦略のアイデアは非常に単純なので、戦略モジュールを組み合わせればそれほど大きくなりません。 私たちのバックテストは 2018 年 10 月に開始されました。1 年も経たないうちに、大小さまざまなショックとトレンド市場が出現し、戦略の予備テストが行われました。 バックテストパラメータ:

この戦略のバックテストのパフォーマンスを見てみましょう。

同等の JavaScript 言語戦略もここで公開されており、興味のある学生はそれを学習することができます。 ビジュアルモジュールを使用して戦略を構築する方法、戦略を考案してさまざまなインターフェースを使用する方法を学ぶことで、プログラムによる取引を非常に簡単に始めることができました。
この戦略には他のインターフェース パラメーターはなく、興味のある学生はこれを最適化および拡張できます。
function main() {
var basePrice = -1
var addRatio = 0.02
while (true) {
var ticker = exchange.GetTicker()
if (basePrice == -1) {
basePrice = ticker.Last
}
if ((ticker.Last - basePrice) > 0 && ((ticker.Last - basePrice) / basePrice > addRatio)) {
var acc = exchange.GetAccount()
var amount = acc.Balance * addRatio / ticker.Last
$.Buy(amount)
basePrice = ticker.Last
}
if ((ticker.Last - basePrice) < 0 && ((basePrice - ticker.Last) / basePrice > addRatio)) {
var acc = exchange.GetAccount()
var amount = acc.Stocks * addRatio
$.Sell(amount)
basePrice = ticker.Last
}
}
}
この戦略の興味深い点は、アカウント資産が最初に BTC などの通貨の価値と等しくなるように設定されていることです。_USDT取引ペア、現在のBTC価格は10,000、アカウント通貨は5に割り当てられ、その後USDTは50,000に割り当てられます
この戦略は、市場の状況や価格変動に対して中立的な姿勢をとります。 USDT を減らしてコインを増やしてみてください。 例えば:

バックテストでは顕著な変化がありました。
USDTを増やしてコインを減らすこともできます。

モジュールを組み合わせて、プログラムされた取引の独自のアイデアを試してみてください。
視覚化の例の戦略:
その他の戦略については、https://www.fmz.com/square をご覧ください。
このシリーズの他の記事
退屈なプログラミングは、ビルディングブロックを使用すると簡単に完了できます。ぜひ試してみてください。とても面白いですよ!