Die Strategie trägt den Namen
Der größte Vorteil besteht darin, 24x7 ohne manuelle Eingriffe zu arbeiten. Außerdem erhöht die Kombination mehrerer Indikatoren die Gewinnrate, insbesondere eine hervorragende Leistung im Bullenmarkt.
Es gibt auch einige Risiken, hauptsächlich durch einen riesigen Preisumschwung, bei dem es schwierig ist, einen Stop-Loss auszuüben.
Die Lösungen sind folgendermaßen:
Hauptaspekte der Optimierung:
Die Strategie kombiniert mehrere Quant-Indikatoren für Handelssignale und realisiert den vollautomatischen Krypto-Handel. Er verbessert den Gewinn durch Optimierung von Parametern und Hinzufügen von mehr Assistenzindikatoren. Es reduziert die manuellen Betriebskosten für die Benutzer erheblich. Es lohnt sich, tiefgreifende Forschung und Anwendung für Quant-Händler durchzuführen.
/*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)