これは比較的単純なマイクロ利益戦略で,主にレンコボックスとTEMA指標を使用して逆転取引のトレンドを特定します.論理は単純で,パラメータ最適化によって安定した利益を生むことができます.
価格動きをより明確に識別するために,ろうそくの代わりにレンコボックスを使用します.
TEMA は EMA に比べて遅延が少なく,傾向の変化を早期に検出できます.
TEMAが短期のSMAを超えるとロングになり,TEMAがSMAを下回るとショートポジション.Renkoボックスによりクロスオーバーがより信頼性がある.
価格が長期SMAより上にあるときに購入を避けるため,過剰なポジションを避ける.
利得基準を設定し,最低利得目標を達成するときにのみ閉じる.
レンコとTEMAの組み合わせは シンプルでも効果的です
明確なトレンドの識別は,対立するウィップソー取引を避ける.
TEMAは,より迅速なエントリのために遅延を減らす.
合理的なストップ・ロストと利益引き取りはリスクをコントロールする.
高周波の小資本取引に適しています
ポジションをすぐに再積むのは難しい 利益の可能性を制限する
不適切なパラメータは 取引機会を見逃す可能性があります
ポジションのサイズを1方向に制御できないので 損失が増えるリスクがあります
十分な利益を得るのは難しい 小規模な頭皮取引に適した
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))