Strategi Julat Terbuka dengan Sasaran Keuntungan Dinamik adalah strategi perdagangan teknikal yang menggunakan julat pembukaan pasaran untuk mengenal pasti peluang perdagangan yang berpotensi.
Strategi ini berfungsi dengan pertama kali mengira julat pembukaan pasaran. Julat pembukaan adalah perbezaan antara harga tinggi dan harga rendah bar pertama hari dagangan. Strategi kemudian mengenal pasti peluang perdagangan yang berpotensi dengan mencari rehat di atas atau di bawah julat pembukaan.
Jika harga memecahkan di atas julat pembukaan, strategi akan memasuki kedudukan panjang. Jika harga memecahkan di bawah julat pembukaan, strategi akan memasuki kedudukan pendek. Strategi akan keluar dari kedudukan apabila harga mencapai sasaran keuntungan atau stop loss yang telah ditentukan.
Sasaran keuntungan untuk strategi adalah dinamik, yang bermaksud ia berubah apabila harga bergerak. Sasaran keuntungan dikira berdasarkan julat pembukaan dan harga semasa pasaran. Strategi akan keluar dari kedudukan apabila harga mencapai peratusan julat pembukaan yang telah ditentukan.
Stop loss untuk strategi ini juga dinamik, yang bermaksud bahawa ia berubah apabila harga bergerak. Stop loss dikira berdasarkan harga semasa pasaran dan peratusan julat pembukaan yang telah ditentukan. Strategi akan keluar dari kedudukan jika harga mencapai stop loss.
Strategi Julat Terbuka dengan Sasaran Keuntungan Dinamik adalah strategi yang agak mudah untuk dilaksanakan, tetapi ia boleh menjadi berkesan dalam mengenal pasti peluang perdagangan jangka pendek.
Berikut adalah penjelasan yang lebih terperinci mengenai komponen strategi yang berbeza:
Berikut adalah beberapa petua untuk menggunakan Strategi Julat Terbuka dengan Sasaran Keuntungan Dinamik:
Saya harap artikel ini membantu. Beritahu saya jika anda mempunyai soalan lain.
/*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())