
この戦略は,レンコのグラフに基づいた移動平均の交差策である.これは,TEMA指標を使用して交差信号を構築し,長期平均線と組み合わせてフィルタリングを行い,レンコのグラフ上のトレンドを識別し,買入と売却の信号を発信することを目的としている.
この戦略の主な信号源は,短期TEMA指数とSMA指数の金叉死叉である.具体的論理は以下の通りである.
短期TEMAで短期SMAを突破するときは,多めに;短期TEMAの下で短期SMAを突破するときは,平仓する.
さらに,このポリシーは,入場と停止のロジックを調節するために,avg_protectionとgain_protectionの2つのオプションのパラメータを設定しています.
avg_protection>0の場合は,現在の保有平均価格より低い閉店価格でのみ購入し,そうすることで保有コストを削減します.
gain_protection>0の場合,閉じる価格が入場価格の一定パーセントを超えた場合にのみストップを販売し,利益をロックします.
最後に,戦略は,長期SMMA指標をトレンドフィルターとして使用します. 閉じる価格がSMMAより低い場合にのみ,多信号を発信します.
この戦略の利点は以下の通りです.
この戦略にはいくつかのリスクがあります.
これらのリスクに対して,適切なパラメータの調整,停止位置の設定などの方法で回避することができます.
この戦略は,以下のような点で最適化できます.
この策略は,全体として,基本的にはシンプルだが実用性が高い移動均線交差策である.それは,主に,Renko K線の優れた消音効果とTEMA指標の高感度性による信号生成に依存している.同時に,長期短期均線の配合も,そのトレンドフォロー能力を強化している.パラメータ調整と適切な最適化により,この策略は,量化取引の有効な選択肢になることができる.
/*backtest
start: 2023-01-17 00:00:00
end: 2024-01-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("TEMA Cross", overlay = true)
tema(src, len) =>
3*ema(src, len) - 3*ema(ema(src, len), len) + ema(ema(ema(src, len),len),len)
smma(src, len) =>
sa = 0.0
sa := na(sa[1]) ? sma(src, len) : (sa[1] * (len - 1) + src) / len
sa
temaLength = input(5)
smaLength = input(3)
smmaLength = input(30)
tema1 = tema(close, temaLength)
sma1 = sma(tema1, smaLength)
smma1 = smma(close,smmaLength)
plot(tema1, color = green, title = "TEMA")
plot(sma1, color = orange, title = "SMA")
plot(smma1, color = red, title = "SMMA")
minGainPercent = input(2)
gainMultiplier = minGainPercent * 0.01 + 1
avg_protection = input(1)
gain_protection = input(1)
longCondition = crossover(tema1, sma1) and tema1 < smma1
shortCondition = crossunder(tema1, sma1)
strategy.entry("Buy", strategy.long, when = longCondition and (avg_protection >= 1 ? (na(strategy.position_avg_price) ? true : close <= strategy.position_avg_price) : true))
strategy.close_all(when = shortCondition and (gain_protection >=1 ? (close >= gainMultiplier * strategy.position_avg_price) : true))