Chiến lược mở với mục tiêu lợi nhuận năng động

Tác giả:ChaoZhang, Ngày: 2023-09-10
Tags:

img

Chiến lược mở phạm vi với mục tiêu lợi nhuận động là một chiến lược giao dịch kỹ thuật sử dụng phạm vi mở của thị trường để xác định các cơ hội giao dịch tiềm năng.

Chiến lược này hoạt động bằng cách đầu tiên tính toán phạm vi mở cửa của thị trường. Phạm vi mở cửa là sự khác biệt giữa giá cao và giá thấp của thanh đầu tiên trong ngày giao dịch. Chiến lược sau đó xác định các cơ hội giao dịch tiềm năng bằng cách tìm kiếm một sự phá vỡ trên hoặc dưới phạm vi mở cửa.

Nếu giá vượt quá phạm vi mở, chiến lược sẽ vào vị trí dài. Nếu giá vượt dưới phạm vi mở, chiến lược sẽ vào vị trí ngắn. Chiến lược sẽ thoát khỏi vị trí khi giá đạt được mục tiêu lợi nhuận hoặc dừng lỗ đã xác định trước.

Mục tiêu lợi nhuận cho chiến lược là năng động, có nghĩa là nó thay đổi khi giá di chuyển. Mục tiêu lợi nhuận được tính dựa trên phạm vi mở và giá hiện tại của thị trường. Chiến lược sẽ thoát khỏi vị trí khi giá đạt một tỷ lệ phần trăm được xác định trước của phạm vi mở.

Stop loss cho chiến lược cũng là năng động, có nghĩa là nó thay đổi khi giá di chuyển. Stop loss được tính dựa trên giá hiện tại của thị trường và tỷ lệ phần trăm được xác định trước của phạm vi mở. Chiến lược sẽ thoát khỏi vị trí nếu giá đạt đến stop loss.

Chiến lược mở phạm vi với mục tiêu lợi nhuận động là một chiến lược tương đối đơn giản để thực hiện, nhưng nó có thể có hiệu quả trong việc xác định các cơ hội giao dịch ngắn hạn. Tuy nhiên, điều quan trọng cần nhớ là không có chiến lược giao dịch nào được đảm bảo là có lợi.

Dưới đây là một lời giải thích chi tiết hơn về các thành phần khác nhau của chiến lược:

  • Phạm vi mở cửa: Phạm vi mở cửa là sự khác biệt giữa giá cao và giá thấp của thanh đầu tiên của ngày giao dịch.
  • Breakout: Một sự đột phá xảy ra khi giá phá vỡ trên hoặc dưới phạm vi mở cửa. Đây là một tín hiệu cho thấy thị trường có thể tiếp tục di chuyển theo hướng đột phá.
  • Mục tiêu lợi nhuận: Mục tiêu lợi nhuận là tỷ lệ phần trăm được xác định trước của phạm vi mở mà chiến lược sẽ cố gắng đạt được trước khi thoát khỏi vị trí.
  • Dừng Loss: Dừng Loss là giá đã xác định trước mà chiến lược sẽ thoát khỏi vị trí nếu thị trường di chuyển chống lại giao dịch. Chiến lược mở với mục tiêu lợi nhuận động là một chiến lược linh hoạt có thể được sử dụng trên nhiều khung thời gian và thị trường khác nhau. Tuy nhiên, điều quan trọng cần lưu ý là chiến lược có hiệu quả nhất trong các thị trường xu hướng. Trong các thị trường hỗn loạn, chiến lược có thể tạo ra rất nhiều tín hiệu sai.

Dưới đây là một số mẹo để sử dụng Chiến lược phạm vi mở với mục tiêu lợi nhuận động:

  • Sử dụng lệnh dừng lỗ để bảo vệ lợi nhuận của bạn.
  • Sử dụng lệnh dừng lỗ để giữ lợi nhuận khi thị trường thuận lợi.
  • Kiểm tra lại chiến lược trên dữ liệu lịch sử trước khi sử dụng nó trong giao dịch trực tiếp.
  • Sử dụng nhiều chỉ số khác để xác nhận các tín hiệu được tạo ra bởi Chiến lược phạm vi mở với mục tiêu lợi nhuận động. Chiến lược mở phạm vi với mục tiêu lợi nhuận động là một công cụ mạnh mẽ có thể được sử dụng để xác định các cơ hội giao dịch ngắn hạn. Tuy nhiên, điều quan trọng là sử dụng chiến lược một cách khôn ngoan và hiểu những hạn chế của nó. Bằng cách làm theo các mẹo trên, bạn có thể tăng cơ hội thành công khi sử dụng chiến lược này.

Tôi hy vọng bài viết này sẽ giúp ích.


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



 





Thêm nữa