この戦略は,レンコキャンドルストックチャートに基づいた移動平均クロスオーバー戦略である.これはクロスオーバー信号を構築するためにTEMA指標を使用し,レンコチャートにおけるトレンドを特定し,買い売り信号を生成することを目的としたフィルタリングのための長期移動平均を組み合わせます.
この戦略の主な信号源は,短期TEMA指標とSMA指標の黄金十字と死十字から来ます.具体的には,論理は以下です.
短期TEMAが短期SMAを横切ると,ロング;短期TEMAが短期SMAを下回ると,ポジションを閉じる.
さらに,戦略は,エントリーとストップロスのロジックを調整するために,2つのオプションパラメータ avg_protectionとgain_protectionを設定しています.
avg_protection>0 の場合,閉じる価格が現在の平均保有価格より低い場合にのみ購入し,コストベースを減らすことができます.
gain_protection>0の場合,閉じる価格が入場価格を一定パーセント上回る場合にのみ売却して利益を固定します.
最後に,この戦略は,長期SMMA指標をトレンドフィルターとして使用する.閉じる価格がSMMAを下回る場合にのみ,ロング信号が起動する.
この戦略の主な利点は以下の通りです.
この戦略にはいくつかのリスクもあります:
これらのリスクを軽減するために,適切なパラメータ調整,ストップ損失の設定などを採用することができます.
この戦略の主要な最適化方向は以下の通りである.
一般的に,これは基本的なシンプルな,しかし非常に実践的な移動平均クロスオーバー戦略である.主にレンコバーの優れたノイズ削減効果と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))