이것은 상대적으로 간단한 마이크로-이익 전략으로, 주로 렌코 박스와 TEMA 지표를 사용하여 반전 거래의 트렌드를 식별합니다. 논리는 간단하며 매개 변수 최적화를 통해 안정적인 이익을 창출 할 수 있습니다.
촛불 대신 렌코 상자를 사용해서 가격 움직임을 더 명확하게 파악할 수 있습니다.
TEMA는 EMA에 비해 더 적은 지연을 가지고 있으며, 트렌드 변화를 더 일찍 감지할 수 있습니다.
TEMA가 단기 SMA를 넘을 때 긴 포지션을 취하고, TEMA가 SMA를 넘을 때 긴 포지션을 취합니다. 렌코 박스는 크로스오버를 더 신뢰할 수 있습니다.
가격이 장기 SMA보다 높을 때 구매를 피하고, 너무 큰 포지션을 피하십시오.
수익 기준을 설정하면 최소한의 수익 목표를 달성할 때만 포지션을 닫습니다.
렌코와 테마 조합은 간단하지만 효과적입니다.
명확한 트렌드 식별은 서로 충돌하는 윙사 트레이드를 피합니다.
TEMA는 보다 신속한 입력을 위해 지연을 줄입니다.
합리적인 스톱 로스 및 영업 리스크를 통제합니다.
고주파 소액 자본 거래에 적합합니다
순식간에 재배치하기 어렵고, 수익 잠재력을 제한합니다.
부적절한 매개 변수는 거래 기회를 놓칠 수 있습니다.
한 방향의 포지션 크기에 대한 통제가 없어 손실이 커질 위험이 있습니다.
적당한 수익을 얻기 어렵고, 작은 스칼핑에 더 적합합니다.
가장 좋은 조합을 찾기 위해 SMA와 TEMA 매개 변수를 최적화합니다.
수익성과 위험을 균형 잡기 위해 다른 수익 기준을 테스트합니다.
한 방향 위치 크기를 제어하기 위해 오픈 카운트 제한을 추가합니다.
스톱 로스를 설정하기 위해 변동성 지표를 포함합니다.
이윤 증대를 위한 다른 전략과 결합하는 것을 평가합니다.
이 전략은 Renko와 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))