レンコブリックとTEMA指標に基づくマイクロ利益戦略


作成日: 2023-09-20 14:36:46 最終変更日: 2023-09-20 14:36:46
コピー: 0 クリック数: 732
1
フォロー
1617
フォロワー

概要

この戦略は比較的単純な微利戦略で,主にレンコとTEMA指標のトレンド認識を活用して反転取引を行う.戦略の論理は単純で直感的で,パラメータを最適化することで安定した利益を得ることができる.

戦略原則

  1. レンコ線はK線の代わりに使用され,価格の動きをより明確に識別することができる.

  2. TEMAはEMAよりも遅延が小さいので,トレンドの転換を早期に捉えることができます.

  3. TEMA上は短期SMAの穿越時に多めにして,下は穿越時に平仓する。レンコは穿越をより信頼性のあるものにする。

  4. 価格が長期SMAより高い場合,負債は引き戻さないで,過重ポジションを避ける.

  5. ストップ条件を設定し,最低リターン要件を満たすのみで平仓する.

優位分析

  1. レンコとTEMAの組み合わせはシンプルで効果的です.

  2. 取引の流れを明確に認識し,反復的な対立取引を回避する.

  3. TEMAは,遅延を軽減し,より早く入場できるようにしました.

  4. 合理的な停止停止損失制御リスク

  5. 高頻小額取引に適している.

リスク分析

  1. 長期にわたって利益を得られず,また,長期にわたって利益を得られず,また,長期にわたって利益を得られず,

  2. パラメータを正しく設定しない場合,取引の機会が逃される可能性があります.

  3. 単方向の保有量を制御できないため,損失の拡大の危険性がある.

  4. 利潤は十分に得られず,小規模な利回りに適しています.

最適化の方向

  1. SMAとTEMAのパラメータを最適化して,最適な組み合わせを見つけます.

  2. 異なる停止条件をテストし,利益とリスクをバランスします.

  3. ポジション開設回数制限を追加し,一方向のポジションを制御する.

  4. 波動率指数と組み合わせたストップポイントを設定する.

  5. 評価は他の戦略と連携し,利益の拡大を実現します.

要約する

この戦略は,レンコと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))