Pyramidenstrategie basierend auf dem OBV-Indikator


Erstellungsdatum: 2023-12-08 15:58:29 zuletzt geändert: 2023-12-08 15:58:29
Kopie: 0 Klicks: 705
1
konzentrieren Sie sich auf
1621
Anhänger

Pyramidenstrategie basierend auf dem OBV-Indikator

Überblick

Diese Strategie, die als “OBV-Pyramiden-Strategie” bezeichnet wird, basiert auf dem OBV-Indikator und nutzt eine Pyramiden-Positionierungsmethode, bei der nach dem Auftreten eines Trends mehrere Positionierungen in Gruppen erfolgen und der Trend verfolgt werden, um zu profitieren.

Strategieprinzip

Die Strategie verwendet die OBV-Anzeige, um die Trendrichtung zu bestimmen. Die OBV-Anzeige basiert auf der Veränderung der Transaktionsmenge, um die Preisentwicklung zu bestimmen. Die Veränderung der Transaktionsmenge spiegelt die Haltung der Marktteilnehmer wider.

Die Strategie bestätigt die Entstehung eines mehrköpfigen Trends, indem sie beurteilt, ob OBV auf der 0-Achse liegt. Bei der Entstehung eines mehrköpfigen Trends wird eine pyramidenartige Aufschlagregel festgelegt, die bis zu 7 Aufschläge zulässt. Um durch Trendverfolgung zu profitieren, wird ein Stop-Loss-Exit-Mechanismus festgelegt.

Analyse der Stärken

Der größte Vorteil dieser Strategie ist die Fähigkeit, Trends zu erfassen, Trends durch eine Pyramide zu verfolgen und Potenzial zu erzielen. Zusätzlich ist die Strategie mit Risikokontrolle und Stop-Loss-Einstellungen ausgestattet.

Die Vorteile bestehen vor allem aus:

  1. Die Verwendung von OBVs zur Ermittlung der richtigen Trendrichtung;
  2. Die Pyramiden-Investitionsmethode ermöglicht es, Trends zu verfolgen und Gewinne zu erzielen.
  3. Einrichtung von Stopp-Loss-Risiken;
  4. Die Strategie ist einfach, klar und verständlich.

Risikoanalyse

Die Hauptrisiken dieser Strategie liegen in zwei Bereichen:

  1. OBV-Fehler bei der Beurteilung, die zu einer Fehlgelegenheit oder einer falschen Positionserstellung führen;
  2. Das ist eine sehr gefährliche Situation.

Entsprechende Lösungen:

  1. Optimierung der OBV-Parameter, um die Genauigkeit der Beurteilung zu gewährleisten;
  2. Die Anzahl der Verlagerungen muss angemessen kontrolliert werden, um sicherzustellen, dass die Risiken kontrolliert werden können.

Optimierungsrichtung

Die wichtigsten Optimierungsmöglichkeiten sind:

  1. Optimierung der OBV-Parameter zur Verbesserung der Genauigkeit der Beurteilung;
  2. Optimierung der Anzahl und Höhe der Einlagen;
  3. Optimierung der Stop-Loss-Punkte;
  4. In Kombination mit anderen Indikatoren, um ein einzelnes OBV-Risiko zu vermeiden.

Die Optimierung dieser Inhalte kann die Strategie stabiler, kontrollierbarer und skalierbarer machen.

Zusammenfassen

Die Strategie als Ganzes ist sehr praktisch. Es verwendet OBV-Indikatoren, um die Trendrichtung zu bestimmen und dann die Trends durch die Pyramide zu verfolgen. Die Strategie-Logik ist einfach und klar, leicht zu verstehen und zu messen. Es hat einen gewissen Einsatzwert in der Praxis.

Strategiequellcode
/*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)