この戦略は"モメントインディケーターに基づく短期取引戦略"と呼ばれる.市場動向の転換点を特定し,短期的な取引機会を把握するためにモメントインディケーターマスインデックスを利用する.
この戦略は,最も高い価格と最も低い価格の違いを均等化するために異なるパラメータを持つ2つの指数的な移動平均値 (EMA) を使用し,マスインデックス指標を取得する.マスインデックスが限界値を超えるとショートになり,限界値を下回るとロングする.
具体的には,最初に最高値と最低値xPriceの差を計算する.次に,xPriceの9期と25期 EMAを計算し,それぞれxEMAとxSmoothXAvgと命名する.その後,これらの2つの EMAの比率を合計して質量指数を得る.質量指数が限界値を超えるとショートになる.限界値を下回るとロングになる.
この戦略は,マスインデックスのクロスオーバーによってトレンド逆転点を特定し,したがって短期取引を行う.市場の変動が激化するにつれて,マスインデックスは上昇する.市場の変動が低下するにつれて,マスインデックスは低下する.一定のレベルの突破を監視することで,短期間の取引機会を効果的に捉えることができます.
この戦略には以下の利点があります.
この戦略にはいくつかのリスクもあります:
戦略は以下の側面で最適化できます.
この戦略は,マスインデックス指標に基づいて簡単な短期取引戦略を設計し,正確な長期および短期取引の市場転換点を効果的に特定することができます. 取引戦略とパラメータ設定はシンプルで直感的で,実装しやすく,異なる市場環境に調整可能で,非常に実用的です. しかし,指標の過剰なフィットメントおよび失敗のリスクも注意する必要があります. 市場不確実性に対処するために,トレンド分析とストップロスは組み合わせなければなりません.
/*backtest start: 2023-02-20 00:00:00 end: 2024-02-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 12/09/2017 // The Mass Index was designed to identify trend reversals by measuring // the narrowing and widening of the range between the high and low prices. // As this range widens, the Mass Index increases; as the range narrows // the Mass Index decreases. // The Mass Index was developed by Donald Dorsey. // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="MASS Index", shorttitle="MASS Index") Length1 = input(9, minval=1) Length2 = input(25, minval=1) Trigger = input(26.5, step = 0.01) reverse = input(false, title="Trade reverse") hline(27, color=blue, linestyle=line, title = "Setup") hline(Trigger, color=red, linestyle=line, title = "Trigger") xPrice = high - low xEMA = ema(xPrice, Length1) xSmoothXAvg = ema(xEMA, Length1) nRes = sum(iff(xSmoothXAvg != 0, xEMA / xSmoothXAvg, 0), Length2) pos = iff(nRes > Trigger, -1, iff(nRes < Trigger, 1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(nRes, color=red, title="MASS Index")