
Chiến lược này được gọi là chiến lược so sánh giá đóng cửa đường tròn, là chiến lược định lượng để đưa ra quyết định giao dịch dựa trên giá đóng cửa đường tròn. Chiến lược này tạo ra tín hiệu giao dịch bằng cách tính toán chênh lệch giữa giá đóng cửa đường tròn hiện tại và giá đóng cửa ngày hôm trước.
Lý luận cốt lõi của chiến lược này là so sánh giá đóng cửa của dòng K hiện tại với giá đóng cửa của dòng K trước đó.
Chiến lược này không đặt các điều kiện dừng lỗ và dừng lại, dựa vào tín hiệu giao dịch được hình thành từ các điều kiện giảm giá để vào và giữ vị trí bình yên.
Chiến lược này tạo ra tín hiệu giao dịch bằng cách so sánh giá đóng cửa hàng ngày, ý tưởng đơn giản, phù hợp để học hỏi. Tuy nhiên, chiến lược này có một số rủi ro và cần được tối ưu hóa hơn nữa để sử dụng cho giao dịch thực.
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Daily Close Comparison Strategy (by ChartArt) correct results", 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 correct results", type=float, defval=0, step=0.004)
getDiff() =>
yesterday=request.security(syminfo.tickerid, 'D', close[1])
today=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)