Diese Strategie wird
Diese Strategie verwendet den OBV-Indikator, um die Trendrichtung zu bestimmen. Der OBV-Indikator beurteilt die Preisentwicklungen anhand von Veränderungen des Handelsvolumens, da Veränderungen des Handelsvolumens die Einstellungen der Marktteilnehmer widerspiegeln. Wenn die OBV-Linie über 0 geht, zeigt sie eine Stärkung der Kaufkraft und eine Aufwärtstrendbildung an. Wenn sie unter 0 geht, signalisiert sie eine Stärkung des Verkaufsdrucks und einen Abwärtstrend.
Diese Strategie bestätigt einen Aufwärtstrend, indem der OBV über 0 überschreitet. Wenn sich ein Aufwärtstrend bildet, werden die Pyramiden steigernden Positionsregeln festgelegt, die bis zu 7 zusätzliche Käufe ermöglichen. Ziel ist es, vom Trend zu profitieren, während die Einstellung von Gewinn und Stop-Loss besteht.
Der größte Vorteil dieser Strategie besteht darin, Trends mit dem Pyramidenansatz zu erfassen, um Trends zu verfolgen und von ihnen zu profitieren.
Die wichtigsten Vorteile sind insbesondere:
Die wichtigsten Risiken liegen in zweierlei Hinsicht:
Lösungen:
Hauptoptimierungsrichtungen:
Dies kann die Strategie stabiler, kontrollierbarer und erweiterbarer machen.
Insgesamt ist dies eine sehr praktische Strategie. Es verwendet OBV, um die Trendrichtung zu bestimmen, dann Pyramiden in den Trend für den Gewinn. Die Logik ist einfach und klar für einfaches Backtesting. Es hat Anwendbarkeitswert und mit weiterer Parameter-, Risiko- und Geldmanagementoptimierung kann die Leistung weiter verbessert werden, was zusätzliche Forschung rechtfertigt.
/*backtest start: 2023-11-07 00:00:00 end: 2023-12-07 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/ // © RafaelZioni //@version=4 strategy(title = " OBV Pyr", overlay = true, pyramiding=5,initial_capital = 10000, default_qty_type= strategy.percent_of_equity, default_qty_value = 20, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.075) strat_dir_input = input(title="Strategy Direction", defval="long", options=["long", "short", "all"]) strat_dir_value = strat_dir_input == "long" ? strategy.direction.long : strat_dir_input == "short" ? strategy.direction.short : strategy.direction.all strategy.risk.allow_entry_in(strat_dir_value) // fastLength = input(250, title="Fast filter length ", minval=1) slowLength = input(500,title="Slow filter length", minval=1) source=close v1=ema(source,fastLength) v2=ema(source,slowLength) // filter=true src = close LengthOBV = input(20) nv = change(src) > 0 ? volume : change(src) < 0 ? -volume : 0*volume c = cum(nv) c_tb = c - sma(c,LengthOBV) // Conditions longCond = crossover(c_tb,0) //shortCond =crossunder(cnv_tb,0) // longsignal = (v1 > v2 or filter == false ) and longCond //shortsignal = (v1 < v2 or filter == false ) and shortCond //set take profit ProfitTarget_Percent = input(3) Profit_Ticks = close * (ProfitTarget_Percent / 100) / syminfo.mintick //set take profit LossTarget_Percent = input(10) Loss_Ticks = close * (LossTarget_Percent / 100) / syminfo.mintick ////Order Placing // strategy.entry("Entry 1", strategy.long, when=strategy.opentrades == 0 and longsignal) // strategy.entry("Entry 2", strategy.long, when=strategy.opentrades == 1 and longsignal) // strategy.entry("Entry 3", strategy.long, when=strategy.opentrades == 2 and longsignal) // strategy.entry("Entry 4", strategy.long, when=strategy.opentrades == 3 and longsignal) // strategy.entry("Entry 5", strategy.long, when=strategy.opentrades == 4 and longsignal) // strategy.entry("Entry 6", strategy.long, when=strategy.opentrades == 5 and longsignal) // strategy.entry("Entry 7", strategy.long, when=strategy.opentrades == 6 and longsignal) // // // if strategy.position_size > 0 strategy.exit(id="Exit 1", from_entry="Entry 1", profit=Profit_Ticks, loss=Loss_Ticks) strategy.exit(id="Exit 2", from_entry="Entry 2", profit=Profit_Ticks, loss=Loss_Ticks) strategy.exit(id="Exit 3", from_entry="Entry 3", profit=Profit_Ticks, loss=Loss_Ticks) strategy.exit(id="Exit 4", from_entry="Entry 4", profit=Profit_Ticks, loss=Loss_Ticks) strategy.exit(id="Exit 5", from_entry="Entry 5", profit=Profit_Ticks, loss=Loss_Ticks) strategy.exit(id="Exit 6", from_entry="Entry 6", profit=Profit_Ticks, loss=Loss_Ticks) strategy.exit(id="Exit 7", from_entry="Entry 7", profit=Profit_Ticks, loss=Loss_Ticks)