Chiến lược điểm then chốt trong giao dịch trong ngày


Ngày tạo: 2023-12-07 16:43:17 sửa đổi lần cuối: 2023-12-07 16:43:17
sao chép: 0 Số nhấp chuột: 710
1
tập trung vào
1621
Người theo dõi

Chiến lược điểm then chốt trong giao dịch trong ngày

Tổng quan

Đây là một chiến lược điểm quan trọng trong giao dịch trong ngày của Ấn Độ, chủ yếu sử dụng giá mở, giá cao nhất, giá thấp nhất và giá đóng để tính toán các điểm hỗ trợ và kháng cự quan trọng và giao dịch khi giá phá vỡ tại các điểm này.

Nguyên tắc chiến lược

  1. Tính toán giá cao nhất, giá thấp nhất và giá đóng cửa của ngày giao dịch trước
  2. Tính toán điểm hỗ trợ chính S1, điểm kháng cự R1 và điểm quan trọng PP theo công thức
  3. Khi giá vượt qua các điểm quan trọng này, hãy tham gia vào các vị trí mua hoặc bán
  4. Thiết lập cơ chế rút lui

Công thức tính toán các điểm quan trọng chính như sau:

PP = (最高价+最低价+收盘价)/3
R1 = 2*PP - 最低价  
S1 = 2*PP - 最高价

Phân tích lợi thế

  1. Sử dụng các điểm mấu chốt để tạo ra các lỗ hổng có khả năng cao, tăng cơ hội lợi nhuận
  2. Điểm mấu chốt dễ xác định, quy tắc giao dịch rõ ràng
  3. Điểm dừng lỗ dễ thiết lập, kiểm soát rủi ro hiệu quả

Phân tích rủi ro

  1. Các điểm mấu chốt có thể bị phá vỡ và gây thiệt hại
  2. Các điểm mấu chốt cần được xác minh và không phải lúc nào cũng có hiệu quả.
  3. Cài đặt điểm dừng không đúng có thể làm tăng tổn thất

Phương pháp giải quyết rủi ro:

  1. combining with other indicators to filter false breakouts
  2. backtesting to validate strategy over long timeframes
  3. optimize stop loss placement

Hướng tối ưu hóa

  1. Kết hợp với các chỉ số kỹ thuật khác để lọc tín hiệu đột phá giả
  2. Tối ưu hóa các tham số cho các giống khác nhau
  3. Động lực điều chỉnh điểm dừng

Tóm tắt

Chiến lược này nói chung là đơn giản, trực tiếp, dễ dàng xác minh hiệu quả thông qua dữ liệu lịch sử. Là một chiến lược giao dịch trong ngày, nó sử dụng các điểm quan trọng để cung cấp một lỗ hổng có xác suất cao, có thể đạt được hiệu quả tốt. Tuy nhiên, do phụ thuộc vào các điểm quan trọng, cũng có một số rủi ro phá vỡ giả, cần được tối ưu hóa hơn nữa để giảm. Nói chung, đây là một chiến lược giao dịch trong ngày dễ thực hiện, có thể kiểm soát rủi ro.

Mã nguồn chiến lược
/*backtest
start: 2022-11-30 00:00:00
end: 2023-12-06 00:00:00
period: 1d
basePeriod: 1h
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/
// © arameshraju
//Reference credit goes to All


//@version=4
strategy("ARR-Pivote-India-Stategy",shorttitle="ARR-PP-Ind", overlay=true)

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © arameshraju
//User Input
showPrevDayHighLow = input(false, title="Show previous day's High & Low(PDH/PDL)", type=input.bool)
showPivoteLine = input(true, title="Show Pivot Point(PP)", type=input.bool)
showPivoteR1Line = input(false, title="Show Pivot Point Resistance (R1)", type=input.bool)
showPivoteS1Line = input(false, title="Show Pivot Point Support (S1)", type=input.bool)
tradeLong = input(true, title="Trade on Long Entry", type=input.bool)
tradeShort = input(false, title="Trade on Short Entry", type=input.bool)
maxLoss = input(0.5, title="Max Loss on one Trade", type=input.float)
tradeOn=input(title="Trade base Level", type=input.string,
     options=["PP", "PDH", "PDL","R1","S1"], defval="PP")

sessSpec = input("0915-1530", title="Session time", type=input.session)

// Defaults
// Colors
cColor = color.black
rColor = color.red
sColor = color.green

// Line style & Transparency
lStyle = plot.style_line
lTransp = 35

// Get High & Low
getSeries(_e, _timeFrame) => security(syminfo.tickerid, _timeFrame, _e, lookahead=barmerge.lookahead_on) 

is_newbar(res, sess) =>
    t = time(res, sess)
    na(t[1]) and not na(t) or t[1] < t

newbar = is_newbar("375", sessSpec)
// Today's Session Start timestamp
y = year(timenow)
m = month(timenow)
d = dayofmonth(timenow)

// Start & End time for Today
start = timestamp(y, m, d, 09, 15)
end = start + 86400000


PrevDayHigh = getSeries(high[1], 'D')
PrevDayLow = getSeries(low[1], 'D')
PrevDayClose = getSeries(close[1], 'D')

PivoteLine=(PrevDayHigh+PrevDayLow+PrevDayClose) /3
PivoteR1=(PivoteLine*2) -PrevDayLow

PivoteS1=(PivoteLine*2) -PrevDayHigh

orbPrevDayOpen = getSeries(open[1], 'D')
orbPrevDayClose = getSeries(close[1], 'D')

// //Preview Day High line
// _pdh = line.new(start, PrevDayHigh, end, PrevDayHigh, xloc.bar_time, color=color.red, style=line.style_solid, width=2)
// line.delete(_pdh[1])
// _pdl = line.new(start, PrevDayLow, end, PrevDayLow, xloc.bar_time, color=color.green, style=line.style_solid, width=2)
// line.delete(_pdl[1])
// _Pp = line.new(start, PrevDayLow, end, PrevDayLow, xloc.bar_time, color=color.green, style=line.style_dashed, width=2)
// line.delete(_Pp[1])


// //Previous Day Low Line
// l_pdh = label.new(start, PrevDayHigh, text="PD", xloc=xloc.bar_time, textcolor=rColor, style=label.style_none)
// label.delete(l_pdh[1])
// l_pdl = label.new(start, PrevDayLow, text="PD", xloc=xloc.bar_time, textcolor=sColor, style=label.style_none)
// label.delete(l_pdl[1])

// //Pivote Line

// l_pp = label.new(start, PivoteLine, text="PP", xloc=xloc.bar_time, textcolor=color.black, style=label.style_none)
// label.delete(l_pp[1])
// l_R1 = label.new(start, PivoteR1, text="R1", xloc=xloc.bar_time, textcolor=color.fuchsia, style=label.style_none)
// label.delete(l_pp[1])
// l_SR = label.new(start, PivoteS1, text="S2", xloc=xloc.bar_time, textcolor=color.navy, style=label.style_none)
// label.delete(l_pp[1])


plot(showPrevDayHighLow?PrevDayHigh:na , title=' PDH', color=rColor)
plot(showPrevDayHighLow?PrevDayLow:na, title=' PDL', color=sColor)
plot(showPivoteLine?PivoteLine:na, title=' PP', color=color.black)
plot(showPivoteR1Line?PivoteR1:na, title=' R1', color=color.fuchsia)
plot(showPivoteS1Line?PivoteS1:na, title=' S1', color=color.navy)

// Today's Session Start timestamp
// Start & End time for Today
//endTime = timestamp(t, m, d, 15, 00)

tradeEventPrice= if string("PDH")==tradeOn 
    PrevDayHigh
else if string("PDL")==tradeOn
    PrevDayLow
else if string("R1")==tradeOn
    PivoteR1
else if string("S1")==tradeOn
    PivoteS1
else
    PivoteLine


//tradeEventPrice=PrevDayHigh

if (open < tradeEventPrice) and ( close >tradeEventPrice ) and ( hour < 13 ) and tradeLong
	strategy.entry("buy", strategy.long, 1, when=strategy.position_size <= 0)

if (open > tradeEventPrice) and ( close <tradeEventPrice ) and ( hour < 13 ) and  tradeShort
	strategy.entry("Sell", strategy.short, 1, when=strategy.position_size <= 0)

mxloss=orbPrevDayClose*maxLoss

strategy.exit("exit", "buy",  loss = mxloss) 
strategy.exit("exit", "Sell",  loss = mxloss) 


strategy.close_all(when =   hour == 15   , comment = "close all entries")