이 전략은 K선 엔터티 크기와 트렌드 동력 지표 EMA를 사용하여 시장 흐름을 판단하여 낮은 가격으로 구매하는 자동 거래 전략입니다. 기본 아이디어는 상승 상황에서 하락을 추적하고, 하락 상황에서 더 많은 것을 보완하는 것입니다.
이 전략의 전체적인 아이디어는 명확하고 이해하기 쉽다. 주요한 특징은 변동량 과 추적 의 두 가지 특징이다. 간단한 EMABOLL 지표를 통해 시장의 주선 방향을 판단하고, K선 엔티티를 판단하여 낮은 흡수 높은 팔을 달성합니다. 전략의 안정성이 높으며, 암호화폐에서 특히 우수한 성능을 보이고 있으며, 추가 테스트 최적화를 할 가치가 있다.
/*backtest
start: 2023-10-23 00:00:00
end: 2023-11-22 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
//Author @divonn1994
strategy(title='Trend Follower Strategy v2 [divonn1994]', shorttitle='TrendFollowStrategyV2', overlay=false, pyramiding=0, default_qty_value=100, default_qty_type=strategy.percent_of_equity, precision=7, currency=currency.USD, commission_value=0.1, commission_type=strategy.commission.percent, initial_capital=100)
//Important Constants for Classifying Candle Size----------------------------------------------------------------------------------------------------------------------------------------------
timesBigger = 2
crumbSize = 1400
crumbSize2 = 2100
bigCandleSize = 3800
//Key Alerts and Classifications of Candle Size and EMAs---------------------------------------------------------------------------------------------------------------------------------------
emaAlert = ta.ema(close, 8) > ta.ema(open, 8) ? 1 : 0
CandleSize = close * 1 - open * 1
previousCandleSize = close[1] * 1 - open[1] * 1
greenCandle = close > open ? 1 : 0
previousGreenCandle = close[1] > open[1] ? 1 : 0
crumb = (greenCandle==1 and CandleSize<=crumbSize) or (greenCandle==0 and -CandleSize<=crumbSize) ? 1 : 0
bigCrumb = (greenCandle==1 and CandleSize<=crumbSize2 and CandleSize>crumbSize) or (greenCandle==0 and -CandleSize<=crumbSize2 and -CandleSize>crumbSize) ? 1 : 0
previousCandleIsSmallCrumb = (previousGreenCandle==1 and previousCandleSize<=crumbSize) or (previousGreenCandle==0 and -previousCandleSize<=crumbSize) ? 1 : 0
previousCandleIsBigCrumb = (previousGreenCandle==1 and previousCandleSize<=crumbSize2 and previousCandleSize>crumbSize) or (previousGreenCandle==0 and -previousCandleSize<=crumbSize2 and -previousCandleSize>crumbSize) ? 1 : 0
bigCandle = (greenCandle==1 and previousCandleIsBigCrumb==1 and CandleSize>=math.abs(timesBigger*previousCandleSize)) or (greenCandle==1 and previousCandleIsSmallCrumb==1 and CandleSize>=bigCandleSize) or (greenCandle==1 and previousCandleIsSmallCrumb==0 and previousCandleIsBigCrumb==0 and CandleSize>=math.abs(timesBigger*previousCandleSize)) ? 1 : 0
//Engine (Secret Sauce)------------------------------------------------------------------------------------------------------------------------------------------------------------------------
buy = (crumb==0 and bigCrumb==0 and greenCandle==0) or (greenCandle==1 and bigCandle==1) or (emaAlert==0) ? 0 : 1
//Strategy-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
if ta.crossover(buy, 0.5)
strategy.entry('long', strategy.long, comment='long')
if ta.crossunder(buy, 0.5)
strategy.close('long')
//Plot Strategy Behavior-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
plot(buy, color=color.new(color.silver, 0))
plot(0.5, color=color.new(color.fuchsia, 0))