이 전략은 트렌드 방향을 결정하기 위해 EMA와 적응적 피보나치 리트레이싱을 사용하여 전환점을 자동으로 식별하며, 트렌드를 잡음으로써 높은 판매와 낮은 구매를 목표로합니다. 단기 거래에 적합한 빈번한 거래를 포함합니다.
트렌드 방향을 결정하기 위해 9일 EMA와 21일 EMA 황금 십자와 죽음의 십자 를 사용하십시오. 21일 EMA가 55일 EMA 아래로 넘어가는 것은 하락 트렌드 시작을 나타냅니다.
100개의 기간을 가진 적응적 피보나치 리트레이싱을 구현하여 최근 가격 변동에 기초한 주요 리트레이싱 수준을 자동으로 결정합니다.
0.236 피보나치 리트레이스는 반전을 나타내고 기존 포지션을 닫습니다.
9일 EMA가 21일 EMA 아래로 넘어가고 가격이 적응적 피보나치 마이너스보다 낮을 때
긴 수익 목표는 200일 EMA 이상의 크로스오버입니다. 짧은 스톱 손실은 0.236 피보나치 리트레이싱을 깨고 있습니다.
EMA는 명확한 트렌드 신호를 제공하고 실행하기 쉽습니다.
적응적인 피보나치로 수동 매개 변수를 조정하지 않습니다.
빈번한 거래는 높은 빈도 전략에 대한 단기 움직임을 잡습니다.
적시에 스톱 로스를 위한 주요 리트랙스 레벨
사이클에 걸쳐 최적화를 위한 구성 가능한 매개 변수
EMA의 지연은 다른 지표로부터 확인이 필요합니다.
적응적인 피보나치 위험은 불안정한 수준에 지나치게 적합합니다.
고주파 거래는 수수료와 미끄러짐으로 인한 비용을 증가시킵니다.
범위를 제한하는 트렌드의 비효율적 인 필터링은 잘못된 신호로 이어집니다.
사용 관리 및 리스크 보상 통제 개선 필요
가격과 부피의 오차로 인한 잘못된 신호를 피하기 위해 부피 지표를 추가합니다.
현재 시장 조건에 더 잘 맞게 EMA 기간을 최적화
더 나은 위험 통제를 위해 동적 스톱 손실을 구현하십시오.
트렌드 강도 인덱스를 포함 하 여 윙사 를 피 합니다.
거래 비용의 영향을 고려하고 최소 수익 목표를 설정
이 전략은 트렌드 방향을 EMA와 함께 식별하고 적응적 인 피보나치 리트레이싱을 사용하여 역전 수준을 동적으로 결정하며, 이는 자동으로 다른 시장 조건에 적응합니다. 그러나 트렌드 세그먼테이션과 엘리엇 웨브 논리가없는 지표 신호에 더 많이 의존하며 최적화를 할 수 있습니다. 전반적으로, 높은 빈도 단기 거래 전략으로 빠른 가격 변화를 포착 할 수 있지만 거래자가 관리해야하는 빈번한 스톱 러스 및 오버 트레이딩의 위험이 있습니다.
/*backtest start: 2023-08-21 00:00:00 end: 2023-09-20 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © CheatCode1 //@version=5 strategy("CC-Trend strategy 2", overlay=true, initial_capital = 10000, commission_type = strategy.commission.percent, commission_value = 0.01, default_qty_type = strategy.percent_of_equity, default_qty_value = 100 ) ema9 = ta.ema(close, 9) ema21 = ta.ema(close, 21) ema55 = ta.ema(close, 55) ema200 = ta.ema(close, 200) plot(ema200, '22', color.blue, 2) FibL = input.int(100, 'Fibonacci Length', 1, 500, group = 'Automatic Fibonacci Retracement') len1 = input.int(1, 'Show Last', 0, 1000, group = 'Automatic Fibonacci Retracement') len2 = input.int(5, 'Offset Length', 0, 1000, group = 'Automatic Fibonacci Retracement') highF = ta.highest(ema55 >= ema9 ? ema55:ema9, FibL) lowF = ta.lowest(ema55 >= ema9 ? ema9:ema55, FibL) AvgFib = highF - lowF //Fibonacci Executions LL2 = highF + .618 * AvgFib LL1 = highF + .272 * AvgFib L1 = highF L236 = highF - 0.236 * AvgFib L382 = highF - 0.382 * AvgFib Mid = highF - 0.50 * AvgFib S382 = lowF + 0.382 * AvgFib S236 = lowF + 0.236 * AvgFib S1 = lowF SS1 = lowF - .272 * AvgFib SS2 = lowF - .618 * AvgFib //Fibonacci Plot's high2FP = plot(LL2, 'Highe2', color.red,offset = len2, show_last = len1, trackprice = true) high1FP = plot(LL1, 'Highe1', color.red,offset = len2, show_last = len1, trackprice = true) highFP = plot(highF, 'High', color.red,offset = len2, show_last = len1, trackprice = true) L236P = plot(L236, "0.764", #ED381C, offset = len2, show_last = len1, trackprice = true ) L382P = plot(L382, "0.618", color.white,offset = len2, show_last = len1, trackprice = true ) MidP = plot(Mid, "0.5", color.orange,offset = len2, show_last = len1, trackprice = true ) S382P = plot(S382, "0.382", color.yellow ,offset = len2, show_last = len1, trackprice = true) S236P = plot(S236, "0.236", color.lime ,offset = len2, show_last = len1, trackprice = true) lowFP = plot(lowF, 'Low', color.green,offset = len2, show_last = len1, trackprice = true) low1FP = plot(SS1, 'Lowe1', color.green,offset = len2, show_last = len1, trackprice = true) low2FP = plot(SS2, 'Lowe2', color.green,offset = len2, show_last = len1, trackprice = true) plot(ema9, '22', color.yellow, 2) plot(ema55, '55', color.aqua, 2) plot(ema200, '200', color.maroon, 2) shortCondition = close[1] < highF and ema21 < ema55 if (shortCondition) strategy.entry("Short", strategy.short) shorttp = ta.crossover(close, ema200) and strategy.openprofit >= 0 if (shorttp) strategy.close('Short', 'Short TP', qty_percent = 100) shortclose2 = close[1] > L236 and not (shortCondition) if(shortclose2) strategy.close('Short', 'Short RM', qty_percent = 100)