この戦略は比較的単純な微利戦略で,主にレンコとTEMA指標のトレンド認識を活用して反転取引を行う.戦略の論理は単純で直感的で,パラメータを最適化することで安定した利益を得ることができる.
レンコ線はK線の代わりに使用され,価格の動きをより明確に識別することができる.
TEMAはEMAよりも遅延が小さいので,トレンドの転換を早期に捉えることができます.
TEMA上は短期SMAの穿越時に多めにして,下は穿越時に平仓する。レンコは穿越をより信頼性のあるものにする。
価格が長期SMAより高い場合,負債は引き戻さないで,過重ポジションを避ける.
ストップ条件を設定し,最低リターン要件を満たすのみで平仓する.
レンコとTEMAの組み合わせはシンプルで効果的です.
取引の流れを明確に認識し,反復的な対立取引を回避する.
TEMAは,遅延を軽減し,より早く入場できるようにしました.
合理的な停止停止損失制御リスク
高頻小額取引に適している.
長期にわたって利益を得られず,また,長期にわたって利益を得られず,また,長期にわたって利益を得られず,
パラメータを正しく設定しない場合,取引の機会が逃される可能性があります.
単方向の保有量を制御できないため,損失の拡大の危険性がある.
利潤は十分に得られず,小規模な利回りに適しています.
SMAとTEMAのパラメータを最適化して,最適な組み合わせを見つけます.
異なる停止条件をテストし,利益とリスクをバランスします.
ポジション開設回数制限を追加し,一方向のポジションを制御する.
波動率指数と組み合わせたストップポイントを設定する.
評価は他の戦略と連携し,利益の拡大を実現します.
この戦略は,レンコとTEMA指標を用いてトレンドを判断し,単純に効果的であり,高頻度の小資金アバートに適しているが,拡大収益の余地は限られている.パラメータ最適化とリスク管理手段によって効果を高め,他の戦略と連携して使用することも試すことができる.改善の余地は大きい.
/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("TEMA Cross", overlay = true, precision = 7, overlay=true, pyramiding = 100, commission_type = strategy.commission.percent, commission_value = 0.25)
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, qty = 1, when = longCondition and time > timestamp(2017, 9, 22, 4, 20) and (avg_protection >= 1 ? (na(strategy.position_avg_price) ? true : close <= strategy.position_avg_price) : true))
strategy.close_all(when = shortCondition and time > timestamp(2017, 9, 22, 4, 20) and (gain_protection >=1 ? (close >= gainMultiplier * strategy.position_avg_price) : true))