Open Range Strategy with Dynamic Profit Target adalah strategi perdagangan teknis yang menggunakan opening range pasar untuk mengidentifikasi peluang perdagangan potensial. Strategi ini didasarkan pada gagasan bahwa opening range pasar dapat memberikan informasi berharga tentang arah pasar dalam jangka pendek.
Strategi ini bekerja dengan pertama menghitung rentang pembukaan pasar. rentang pembukaan adalah perbedaan antara harga tinggi dan harga rendah dari bar pertama hari perdagangan. strategi kemudian mengidentifikasi peluang perdagangan potensial dengan mencari istirahat di atas atau di bawah rentang pembukaan.
Jika harga melanggar di atas kisaran pembukaan, strategi akan memasuki posisi panjang. Jika harga melanggar di bawah kisaran pembukaan, strategi akan memasuki posisi pendek. Strategi akan keluar dari posisi ketika harga mencapai target keuntungan atau stop loss yang telah ditentukan sebelumnya.
Target keuntungan untuk strategi adalah dinamis, yang berarti bahwa hal itu berubah sebagai harga bergerak. target keuntungan dihitung berdasarkan rentang pembukaan dan harga saat ini dari pasar. strategi akan keluar dari posisi ketika harga mencapai persentase yang telah ditentukan dari rentang pembukaan.
Stop loss untuk strategi ini juga dinamis, yang berarti bahwa hal itu berubah seiring pergerakan harga. Stop loss dihitung berdasarkan harga saat ini dari pasar dan persentase yang telah ditentukan sebelumnya dari kisaran pembukaan. Strategi akan keluar dari posisi jika harga mencapai stop loss.
Strategi Open Range dengan Dynamic Profit Target adalah strategi yang relatif sederhana untuk diterapkan, tetapi dapat efektif dalam mengidentifikasi peluang perdagangan jangka pendek. Namun, penting untuk diingat bahwa tidak ada strategi perdagangan yang dijamin menguntungkan.
Berikut ini penjelasan yang lebih rinci tentang berbagai komponen strategi:
Berikut adalah beberapa tips untuk menggunakan Open Range Strategy dengan Dynamic Profit Target:
Saya harap artikel ini bermanfaat. Beri tahu saya jika ada pertanyaan 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())