Chiến lược định lượng dựa trên trục Kamachira và dải Bollinger


Ngày tạo: 2024-02-05 14:23:59 sửa đổi lần cuối: 2024-02-05 14:23:59
sao chép: 0 Số nhấp chuột: 964
1
tập trung vào
1617
Người theo dõi

Chiến lược định lượng dựa trên trục Kamachira và dải Bollinger

Tổng quan

Chiến lược này đầu tiên tính toán các điểm trung tâm Camachilla dựa trên giá cao nhất, giá thấp nhất và giá đóng cửa của ngày giao dịch trước đó. Sau đó, kết hợp với chỉ số Bollinger Bands để lọc giá và tạo ra tín hiệu giao dịch khi giá vượt qua các điểm trung tâm.

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

  1. Tính giá cao nhất, giá thấp nhất, giá đóng cửa của ngày giao dịch trước
  2. Tính toán trục Camachilla dựa trên công thức, bao gồm các đường ray trên H4, H3, H2, H1 và đường ray dưới L1, L2, L3 và L4
  3. Đánh giá ngày 20 Brin lên và xuống đường ray
  4. Khi giá lên, bạn làm nhiều, khi giá xuống, bạn làm ít.
  5. Điểm dừng là gần đường ray trên hoặc dưới đường ray của Brin

Phân tích lợi thế

  1. Trục Camachilla chứa nhiều điểm kháng cự hỗ trợ quan trọng, tăng cường độ tin cậy của tín hiệu giao dịch
  2. Kết hợp với chỉ số Brin, có thể lọc hiệu quả các đột phá giả
  3. Giao dịch linh hoạt

Phân tích rủi ro

  1. Thiết lập không đúng các tham số chỉ số BRI có thể dẫn đến lỗi tín hiệu giao dịch
  2. Tính toán điểm quan trọng của trục Camachilla phụ thuộc vào giá của ngày giao dịch trước đó, có thể bị ảnh hưởng bởi việc nhảy qua đêm
  3. Hoạt động nhiều đầu không đầu có nguy cơ thua lỗ

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

  1. Tối ưu hóa các tham số của vòng Boolean để tìm các tham số kết hợp tốt nhất
  2. Kết hợp các chỉ số khác để lọc tín hiệu đột phá giả
  3. Tăng chiến lược dừng lỗ, giảm tổn thất đơn

Tóm tắt

Chiến lược này sử dụng tổng hợp các chỉ số Camachilla Axis và Bollinger Bands để tạo ra tín hiệu giao dịch khi giá vượt qua ngưỡng kháng cự hỗ trợ quan trọng. Lợi nhuận và sự ổn định của chiến lược có thể được cải thiện thông qua việc tối ưu hóa tham số và lọc tín hiệu. Nhìn chung, chiến lược giao dịch có ý tưởng rõ ràng, có thể hoạt động và đáng để kiểm tra thực tế.

Mã nguồn chiến lược
/*backtest
start: 2024-01-28 00:00:00
end: 2024-02-04 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 12/05/2020
// Camarilla pivot point formula is the refined form of existing classic pivot point formula. 
// The Camarilla method was developed by Nick Stott who was a very successful bond trader. 
// What makes it better is the use of Fibonacci numbers in calculation of levels.
//
// Camarilla equations are used to calculate intraday support and resistance levels using 
// the previous days volatility spread. Camarilla equations take previous day’s high, low and 
// close as input and generates 8 levels of intraday support and resistance based on pivot points. 
// There are 4 levels above pivot point and 4 levels below pivot points. The most important levels 
// are L3 L4 and H3 H4. H3 and L3 are the levels to go against the trend with stop loss around H4 or L4 . 
// While L4 and H4 are considered as breakout levels when these levels are breached its time to 
// trade with the trend.
//
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Camarilla Pivot Points V2 Backtest", shorttitle="CPP V2", overlay = true)
res = input(title="Resolution", type=input.resolution, defval="D")
width = input(1, minval=1)
SellFrom = input(title="Sell from ", defval="R1", options=["R1", "R2", "R3", "R4"])
BuyFrom = input(title="Buu from ", defval="S1", options=["S1", "S2", "S3", "S4"])
reverse = input(false, title="Trade reverse")
xHigh  = security(syminfo.tickerid,res, high)
xLow   = security(syminfo.tickerid,res, low)
xClose = security(syminfo.tickerid,res, close)
H4 = (0.55*(xHigh-xLow)) + xClose
H3 = (0.275*(xHigh-xLow)) + xClose
H2 = (0.183*(xHigh-xLow)) + xClose
H1 = (0.0916*(xHigh-xLow)) + xClose
L1 = xClose - (0.0916*(xHigh-xLow))
L2 = xClose - (0.183*(xHigh-xLow))
L3 = xClose - (0.275*(xHigh-xLow))
L4 = xClose - (0.55*(xHigh-xLow))
pos = 0
S = iff(BuyFrom == "S1", H1, 
      iff(BuyFrom == "S2", H2,
       iff(BuyFrom == "S3", H3,
         iff(BuyFrom == "S4", H4,0))))
B = iff(SellFrom == "R1", L1, 
      iff(SellFrom == "R2", L2,
       iff(SellFrom == "R3", L3,
         iff(SellFrom == "R4", L4,0))))
pos := iff(close > B, 1,
       iff(close < S, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )