Chiến lược so sánh giá đóng cửa hàng ngày


Ngày tạo: 2023-09-17 18:28:31 sửa đổi lần cuối: 2023-09-17 18:28:31
sao chép: 3 Số nhấp chuột: 630
1
tập trung vào
1617
Người theo dõi

Tổng quan

Chiến lược này được đánh giá bằng cách so sánh giá đóng cửa hiện tại của đường K với giá đóng cửa ngày trước để đánh giá xu hướng nhiều lỗ. Đây là một chiến lược theo dõi xu hướng đơn giản, làm nhiều khi giá tăng và làm lỗ khi giá giảm. Không cần đánh giá các chỉ số phức tạp, đánh giá xu hướng bằng thông tin giá cơ bản nhất.

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

  1. Tính tỷ lệ chênh lệch giữa giá đóng cửa K hiện tại và giá đóng cửa ngày trước.

  2. Tỷ lệ lớn hơn so với thiết lập ngưỡng giá, cho thấy giá tăng lên, làm nhiều hơn.

  3. Khi tỷ lệ nhỏ hơn ngưỡng thiết lập âm, giá sẽ giảm, và bạn sẽ bị short.

  4. Threshold được thiết lập là 0, nghĩa là khi giá lên thì làm nhiều, khi giá xuống thì làm trống.

  5. Không có logic dừng lỗ, chỉ dựa vào xu hướng liên tục để đạt được lợi nhuận.

Phân tích lợi thế

  1. Một cách đánh giá xu hướng rất đơn giản, trực quan, dễ hiểu và thực hiện.

  2. Không cần tính toán bất kỳ chỉ số kỹ thuật nào, giảm lượng tài nguyên tính toán.

  3. Chỉ chú ý đến thông tin giá cốt lõi nhất, giảm tiếng ồn chỉ số không cần thiết.

  4. Tuy nhiên, không có kết quả đáng ngờ.

Phân tích rủi ro

  1. Không có thiết lập dừng lỗ, có nguy cơ mất mát vô hạn.

  2. Không thể xử lý hiệu quả thị trường biến động và dễ bị lừa.

  3. Có nguy cơ phù hợp, hiệu quả thực tế vẫn chưa được xác minh.

  4. Theo dõi xu hướng đơn thuần không thể khóa lợi nhuận, và lợi nhuận thực hiện là hạn chế.

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

  1. Thêm chiến lược dừng lỗ di động để kiểm soát lỗ.

  2. Kết hợp với chỉ số biến động, giảm tỷ lệ đòn bẩy của thị trường.

  3. Kiểm tra các tham số của chu kỳ ngày khác nhau để tăng tính ổn định.

  4. Tăng các chỉ số đánh giá xu hướng, tránh biến động giá không hợp lý.

  5. Tối ưu hóa chiến lược dừng chân, như xem lại giá cao nhất, mở rộng không gian lợi nhuận.

Tóm tắt

Ý tưởng cốt lõi của chiến lược này rất đơn giản, nhưng hiệu quả thực tế là không chắc chắn. Cần tăng cường cơ chế kiểm soát rủi ro và kiểm tra tối ưu hóa tham số để thực sự áp dụng. Nhưng ý tưởng cơ bản đáng để học hỏi.

Mã nguồn chiến lược
/*backtest
start: 2023-08-17 00:00:00
end: 2023-09-16 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Daily Close Comparison Strategy (by ChartArt)", shorttitle="CA_-_Daily_Close_Strat", overlay=false)

// ChartArt's Daily Close Comparison Strategy
//
// Version 1.0
// Idea by ChartArt on February 28, 2016.
//
// This strategy is equal to the very
// popular "ANN Strategy" coded by sirolf2009,
// but without the Artificial Neural Network (ANN).
//
// Main difference besides stripping out the ANN
// is that I use close prices instead of OHLC4 prices.
// And the default threshold is set to 0 instead of 0.0014
// with a step of 0.001 instead of 0.0001.
//
// This strategy goes long if the close of the current day
// is larger than the close price of the last day.
// If the inverse logic is true, the strategy
// goes short (last close larger current close).
//
// This simple strategy does not have any
// stop loss or take profit money management logic.
//
// List of my work: 
// https://www.tradingview.com/u/ChartArt/
// 
//  __             __  ___       __  ___ 
// /  ` |__|  /\  |__)  |   /\  |__)  |  
// \__, |  | /~~\ |  \  |  /~~\ |  \  |  
// 
// 

threshold = input(title="Price Difference Threshold", type=float, defval=0, step=0.001)

getDiff() =>
    yesterday=security(syminfo.tickerid, 'D', close[1])
    today=security(syminfo.tickerid, 'D', close)
    delta=today-yesterday
    percentage=delta/yesterday
    
closeDiff = getDiff()
 
buying = closeDiff > threshold ? true : closeDiff < -threshold ? false : buying[1]

hline(0, title="zero line")

bgcolor(buying ? green : red, transp=25)
plot(closeDiff, color=silver, style=area, transp=75)
plot(closeDiff, color=aqua, title="prediction")

longCondition = buying
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = buying != true
if (shortCondition)
    strategy.entry("Short", strategy.short)