
この戦略は,適応的正規化移動平均を計算することによって,異なる市場間の値取引を実現する.この戦略は,クロスマーケットの値,動的パラメータ調整,リスク制御などの特徴を有する.
この策略は,まず,タイムシーケンスを指定範囲に標準化するためのscaleMinimax関数を定義する。それから,自主正規化移動平均rema関数を定義し,滑らかな信号線sigを計算する。その信号線の計算方法は:
信号線を手に入れた後,戦略は信号線と価格の金叉死叉を判断して多空を決定する.具体的には:
さらに,この策略は,滑らかな因子と表示信号ラインのshow_lineを調整可能なパラメータとして追加し,策略の柔軟性を高めます.
従来の移動平均策略と比較して,この策略は以下の利点があります.
この戦略にはいくつかのリスクがあります.
双面交差で誤信号が発生する確率は高い. 解決策は,適切な平滑パラメータを調整し,信号線の振動を避けることである.
市場間レバレッジは,価格関係性があり,動きが一致していることを確認する必要があります. 解決策は,高い関連性のある市場を選択してレバレッジを行うことです.
パラメータの最適化には,十分な歴史データを蓄積し,それを反省する必要があります. 解決策は,実際の取引でパラメータを慎重に調整することです.
この戦略は,以下の点で最適化できます.
参数選択では,機械学習アルゴリズムを導入して,自動的に最適化する参数组を導入することができる.
信号生成では,より多くの指標を組み合わせて,より安定した取引信号を構築することができます.
リスク管理では,単一の損失を制御するためにストップ・ローンを設定できます.
市場横断の利回りでは,より多くの関連性のある取引品種に拡張できます.
この戦略は,自主的に移動平均を計算することで,市場間でのレバレッジ取引を可能にします.従来の移動平均戦略と比較して,パラメータ自主化,スムーズな処理,市場間でのレバレッジなどの利点があります.次に,機械学習,組合せシグナル,リスク管理などの方法で戦略をさらに最適化します.
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Crossover82%", overlay=true)
//
// Functions
//
scaleMinimax(X, p, min, max) =>
hi = highest(X, p), lo = lowest(X, p)
(max - min) * (X - lo)/(hi - lo) + min
rema(ts, p) => // regularized ma
rm = 0.0, lambda = .5, a = 2 / (p + 1)
rm := (nz(rm[1]) + a * (ts - nz(rm[1])) + lambda * (2 * nz(rm[1]) - nz(rm[2]))) / (lambda + 1)
rm
//
// Inputs
//
X = input(close, title="Data source")
smooth = input(2, title="REMA smooth factor")
show_line = input(true, title="Show signal line")
//
// Main
//
p = 5
sig = rema(scaleMinimax(pow(X*p,-X) - 0.1, 100, lowest(X, 100), highest(X, 100)), smooth)
plot(show_line ? sig : na, linewidth=1)
plot(cross(sig, X) ? ohlc4 : na, style=circles, linewidth=8, color=blue, transp=50)
longCondition = crossover(sig, X)
if (longCondition)
strategy.entry("LE", strategy.long)
shortCondition = crossunder(sig, X)
if (shortCondition)
strategy.entry("SE", strategy.short)