Die Strategie für einen offenen Bereich mit dynamischem Gewinnziel

Schriftsteller:ChaoZhang, Datum: 2023-09-10 00:10:22
Tags:

img

Die Open Range Strategie mit Dynamic Profit Target ist eine technische Handelsstrategie, die den Öffnungsbereich des Marktes verwendet, um potenzielle Handelsmöglichkeiten zu identifizieren.

Die Strategie funktioniert, indem sie zunächst den Öffnungsbereich des Marktes berechnet. Der Öffnungsbereich ist die Differenz zwischen dem hohen Preis und dem niedrigen Preis der ersten Bar des Handelstages. Die Strategie identifiziert dann potenzielle Handelsmöglichkeiten, indem sie nach einem Bruch über oder unter dem Öffnungsbereich sucht.

Wenn der Preis über den Eröffnungsbereich bricht, tritt die Strategie in eine Long-Position ein. Wenn der Preis unter den Eröffnungsbereich bricht, tritt die Strategie in eine Short-Position ein. Die Strategie tritt aus der Position aus, wenn der Preis ein vorgegebenes Gewinnziel oder einen Stop-Loss erreicht.

Das Gewinnziel für die Strategie ist dynamisch, was bedeutet, dass es sich mit der Preisbewegung ändert. Das Gewinnziel wird auf der Grundlage der Eröffnungsbreite und des aktuellen Marktpreises berechnet. Die Strategie tritt aus der Position aus, wenn der Preis einen vorgegebenen Prozentsatz der Eröffnungsbreite erreicht.

Der Stop-Loss für die Strategie ist ebenfalls dynamisch, was bedeutet, dass er sich mit der Preisbewegung ändert. Der Stop-Loss wird anhand des aktuellen Marktpreises und des vorgegebenen Prozentsatzes der Eröffnungsbreite berechnet. Die Strategie tritt aus der Position aus, wenn der Preis den Stop-Loss erreicht.

Die Open Range Strategie mit Dynamic Profit Target ist eine relativ einfache Strategie zur Umsetzung, aber sie kann bei der Identifizierung von kurzfristigen Handelsmöglichkeiten wirksam sein.

Die verschiedenen Komponenten der Strategie werden im Folgenden ausführlicher erläutert:

  • Öffnungsbereich: Der Öffnungsbereich ist die Differenz zwischen dem hohen Preis und dem niedrigen Preis des ersten Balkens des Handelstages.
  • Ausbruch: Ein Ausbruch tritt auf, wenn der Preis über oder unter die Eröffnungsgrenze bricht. Dies ist ein Signal dafür, dass sich der Markt wahrscheinlich weiter in die Richtung des Ausbruchs bewegen wird.
  • Gewinnziel: Das Gewinnziel ist der vorgegebene Prozentsatz des Eröffnungsbereichs, den die Strategie vor dem Ausstieg aus der Position zu erreichen versucht.
  • Stop Loss: Der Stop Loss ist der vorgegebene Preis, zu dem die Strategie die Position verlassen wird, wenn sich der Markt gegen den Handel bewegt. Die Open Range Strategie mit Dynamic Profit Target ist eine vielseitige Strategie, die auf einer Vielzahl von Zeitrahmen und Märkten verwendet werden kann.

Hier sind einige Tipps für die Verwendung der Open Range Strategie mit dynamischem Gewinnziel:

  • Verwenden Sie einen Stop-Loss, um Ihre Gewinne zu schützen.
  • Verwenden Sie einen Trailing Stop Loss, um Gewinne zu erzielen, wenn sich der Markt zu Ihren Gunsten bewegt.
  • Testen Sie die Strategie auf historische Daten, bevor Sie sie im Live-Handel verwenden.
  • Verwenden Sie eine Vielzahl anderer Indikatoren, um die Signale zu bestätigen, die durch die Open Range-Strategie mit dynamischem Gewinnziel erzeugt werden. Die Open Range Strategy mit Dynamic Profit Target ist ein leistungsfähiges Tool, mit dem man kurzfristige Handelsmöglichkeiten identifizieren kann. Es ist jedoch wichtig, die Strategie weise zu verwenden und ihre Einschränkungen zu verstehen.

Ich hoffe, dieser Artikel hat Ihnen geholfen.


/*backtest
start: 2023-08-09 00:00:00
end: 2023-09-08 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
args: [["v_input_10",true]]
*/

//@version=2
//Created by Frenchy/lisfse/Francois Seguin on 2019-01-22"
strategy(title="Open_Range_Strategy_with_dynamic_PT_by_frenchy", shorttitle="O/R Strategy Dynamic PT  ", overlay=true)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2017, title = "From Year", minval = 2010)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2016)
// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"


// === INPUT SESSION RANGE ===
SessionLenght = input('0930-1100',  title="Session Lenght")
res = input('30', title="Length Of Opening Range?")
Notradetime= time('30', '0930-1000')
Tradetime= time('1', '1000-1100')

// === LONG/SHORT STRATEGY AND ALERT SELECTION     ===

Select_long = input(true, title="Long Strategy and alert ?")
Select_short = input(false, title="Short Strategy and alert ?")


//Session Rules
sessToUse = SessionLenght
bartimeSess = time('D', sessToUse)
fr2to17 =  time(timeframe.period, sessToUse) 
newbarSess = bartimeSess != bartimeSess[1]
high_range = valuewhen(newbarSess,high,0)
low_range = valuewhen(newbarSess,low,0)
adopt(r, s) => security(syminfo.tickerid, r, s)


//Formula For Opening Range
highRes = adopt(res, high_range)
lowRes = adopt(res, low_range)
range = highRes - lowRes

//Highlighting Line Rules For Opening Range
highColor = Notradetime  ? red : green
lowColor = Notradetime  ? red : green


//Plot Statements For Opening Range Lines
openRangeHigh = plot(fr2to17 > 0 ? highRes : na, color=highColor, style=linebr, linewidth=4,title="OR High")
openRangeLow = plot(fr2to17 > 0 ? lowRes : na, color=lowColor, style=linebr, linewidth=4,title="OR Low")


//Price definition
price = security(syminfo.tickerid, timeframe.period, close)
haclose = ((open + high + low + close)/4)
//aopen = na(haopen[1]) ? (open + close)/2 : (haopen[1] + haclose[1]) / 2
MA20= sma(price,20)


//Plots For Profit Targe 2
bgcolor(Notradetime? red:na)


///////////////////////////////////////Strategy Definition ///////////////////////////////////////////////////////////////


/////////////////////////////////////////Long Strategy////////////////////////////////////////////////////////////////////
//Enter Strategy Long criteria 
Enterlong = (crossover(price,highRes) and Select_long and Tradetime ? 1:0 ) and (Notradetime ? 0:1) 
plotarrow(Enterlong, color=black, style=shape.triangleup, text="Enter", location=location.belowbar, minheight = 80, maxheight=80, offset=0)

//Exit Strategy Long  criteria
Exitlong  = crossunder(price,highRes) or crossunder(price,MA20) 
//plotshape(Exitlong, color=black, style=shape.triangledown, text="Exit", location=location.abovebar)

/////////////////////////////////////////Long Strategy Excution////////////////////////////////////////////////////////
strategy.entry ("Call", strategy.long, when=Enterlong and window())
strategy.close("Call", when=Exitlong and window())




//////////////////////////////////////////Short Strategy////////////////////////////////////////////////////////////////

//Enter Strategy Short criteria
Entershort = crossunder(price,lowRes) and time(res, SessionLenght) and Select_short ? 1:0

// Exit Strategy short criteria
Exitshort  =  crossover(price,lowRes) or crossover(haclose,MA20)


///////////////////////////////////////Strategy execution Short///////////////////////////////////////////////////////

strategy.entry ("put", strategy.short, when=Entershort and window()) 
strategy.close("put", when=Exitshort and window())



 





Mehr