이 전략은 기술 지표 MACD, 상대 강도 지표 RSI 및 골든 비율에 기반한 피보나치 리트레이싱 / 확장 이론을 결합하여 비트코인과 다른 암호화폐에 대한 양적 거래를 실현합니다.
가장 큰 장점은 수동 개입 없이 24시간 7시간 운영이 가능하다는 것입니다. 또한 여러 지표의 조합은 특히 황소 시장에서 탁월한 성과로 승률을 높여줍니다. 주요 장점은 다음과 같습니다.
또한 가격의 큰 역전으로 인해 스톱 손실이 발생하기 어렵다는 몇 가지 위험이 있습니다. 또한 장기 보유 기간이 위험을 유발합니다. 주요 위험은 다음과 같습니다.
이에 대한 해결책은 다음과 같습니다.
최적화의 주요 측면:
이 전략은 무역 신호를 위한 여러 양자 지표를 결합하고 완전한 자동 암호화 거래를 실현한다. 매개 변수를 최적화하고 더 많은 보조 지표를 추가함으로써 수익을 더욱 향상시킨다. 이는 사용자에게 수동 운영 비용을 크게 감소시킨다. 양자 거래자에게 심층적인 연구와 응용을 가치가 있다.
/*backtest start: 2023-12-18 00:00:00 end: 2023-12-25 00:00:00 period: 10m basePeriod: 1m 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/ // © onurenginogutcu //@version=4 strategy("STRATEGY R18-F-BTC", overlay=true, margin_long=100, margin_short=100) ///////////default girişler 1 saatlik btc grafiği için geçerli olmak üzere - stop loss'lar %2.5 - long'da %7.6 , short'ta %8.1 sym = input(title="Symbol", type=input.symbol, defval="BINANCE:BTCUSDT") /////////btc'yi indikatör olarak alıyoruz lsl = input(title="Long Stop Loss (%)", minval=0.0, step=0.1, defval=2.5) * 0.01 ssl = input(title="Short Stop Loss (%)", minval=0.0, step=0.1, defval=2.5) * 0.01 longtp = input(title="Long Take Profit (%)", minval=0.0, step=0.1, defval=7.6) * 0.01 shorttp = input(title="Short Take Profit (%)", minval=0.0, step=0.1, defval=7.5) * 0.01 capperc = input(title="Capital Percentage to Invest (%)", minval=0.0, maxval=100, step=0.1, defval=90) * 0.01 choice = input(title="Reverse ?", type=input.bool, defval=false) symClose = security(sym, "", close) symHigh = security(sym, "", high) symLow = security(sym, "", low) i = ema (symClose , 15) - ema (symClose , 30) ///////// ema close 15 ve 30 inanılmaz iyi sonuç verdi (macd standartı 12 26) r = ema (i , 9) sapust = highest (i , 100) * 0.729 //////////0.729 altın oran oldu 09.01.2022 sapalt = lowest (i , 100) * 0.729 //////////0.729 altın oran oldu 09.01.2022 ///////////highx = highest (close , 365) * 0.72 fibo belki dahiledilebilir ///////////lowx = lowest (close , 365) * 1.272 fibo belki dahil edilebilir simRSI = rsi (symClose , 50 ) /////// RSI DAHİL EDİLDİ "50 MUMLUK RSI EN İYİ SONUCU VERİYOR" //////////////fibonacci seviyesi eklenmesi amacı ile koyuldu fakat en iyi sonuç %50 seviyesinin altı ve üstü (low ve high 38 barlık) en iyi sonuç verdi fibvar = 38 fibtop = lowest (symLow , fibvar) + ((highest (symHigh , fibvar) - lowest (symLow , fibvar)) * 0.50) fibbottom = lowest (symLow , fibvar) + ((highest (symHigh , fibvar) - lowest (symLow , fibvar)) * 0.50) ///////////////////////////////////////////////////////////// INDICATOR CONDITIONS longCondition = crossover(i, r) and i < sapalt and symClose < sma (symClose , 50) and simRSI < sma (simRSI , 50) and symClose < fibbottom shortCondition = crossunder(i, r) and i > sapust and symClose > sma (symClose , 50) and simRSI > sma (simRSI , 50) and symClose > fibtop //////////////////////////////////////////////////////////////// ///////////////////////////////////////////STRATEGY ENTRIES AND STOP LOSSES /////stratejilerde kalan capital için strategy.equity kullan (bunun üzerinden işlem yap) if (choice == false and longCondition) strategy.entry("Long", strategy.long , qty = capperc * strategy.equity / close , when = strategy.position_size == 0) if (choice == false and shortCondition) strategy.entry("Short" , strategy.short , qty = capperc * strategy.equity / close , when = strategy.position_size == 0) if (choice == true and longCondition) strategy.entry("Short" , strategy.short , qty = capperc * strategy.equity / close , when = strategy.position_size == 0) if (choice == true and shortCondition) strategy.entry("Long", strategy.long , qty = capperc * strategy.equity / close , when = strategy.position_size == 0) if (strategy.position_size > 0) strategy.exit("Exit Long", "Long", stop=strategy.position_avg_price*(1 - lsl) , limit=strategy.position_avg_price*(1 + longtp)) if (strategy.position_size < 0) strategy.exit("Exit Short", "Short", stop=strategy.position_avg_price*(1 + ssl) , limit=strategy.position_avg_price*(1 - shorttp)) ////////////////////////vertical colouring signals bgcolor(color=longCondition ? color.new (color.green , 70) : na) bgcolor(color=shortCondition ? color.new (color.red , 70) : na)