
Chiến lược này thực hiện theo dõi xu hướng bằng cách kết hợp các chỉ số đường trung bình, chỉ số mua bán và chỉ số biến động, mua thấp khi có đợt hồi phục vượt quá mức giảm và bán cao khi có đợt tăng giá.
Cụ thể, khi cả RSI và Stoch đều ở mức thấp (dưới 30 và 20) và AO làm điều chỉnh từ tiêu cực, thì nhiều hơn; khi cả RSI và Stoch đều ở mức cao (dưới 70 và 80) và AO làm trống từ tích cực đến tiêu cực. Đặt dừng lỗ và dừng lỗ được thiết lập dựa trên giá trị của chỉ số ATR, cho phép nó điều chỉnh vị trí dừng lỗ theo biến động thị trường.
Chiến lược này sử dụng bốn chỉ số chính:
Khi AO có tín hiệu đảo ngược và RSI và Stoch cùng lúc ở khu vực bán tháo, cho thấy giá có thể bị đảo ngược, khi đó có thể can thiệp vào việc thiết lập vị trí. Chỉ số ATR được sử dụng để thiết lập giá dừng lỗ và điều chỉnh mức dừng lỗ theo biến động của thị trường để tránh bị đặt.
Để giảm thiểu những rủi ro này, có thể tối ưu hóa theo các cách sau:
Chính sách này có thể được tối ưu hóa theo các khía cạnh sau:
Cài đặt tham số tối ưu hóa. Bạn có thể tìm thấy các tổ hợp tham số tốt hơn bằng cách đi qua các phương pháp như tìm kiếm ưu thế.
Thêm điều kiện lọc. Bạn có thể thêm xác nhận các chỉ số bổ sung khi nhập cảnh, tránh tín hiệu giả.
Tối ưu hóa cơ chế dừng lỗ. Có thể sử dụng các phương pháp như dừng di chuyển, chia tách ra khỏi sân để kiểm soát rủi ro.
Tối ưu hóa các phương thức dừng chân. Bạn có thể sử dụng các phương thức dừng chân di động và dừng chân theo xu hướng để khóa nhiều lợi nhuận hơn.
Thêm trạm dừng tự động. Ví dụ: dừng trạm dừng khi đến gần cổng số nguyên quan trọng, tránh bị rơi trở lại.
Tối ưu hóa quản lý vốn. Ví dụ: điều chỉnh kích thước vị trí theo sự thay đổi rủi ro, kiểm soát tổn thất tối đa.
Tối ưu hóa thử nghiệm cho một giống / chu kỳ cụ thể. Các tham số và phương pháp dừng lỗ nên được tối ưu hóa cho các giống và chu kỳ khác nhau.
Tăng khả năng xử lý các sự kiện bất ngờ, chẳng hạn như tránh giao dịch khi có tin tức quan trọng hoặc dừng giao dịch nhanh.
Chiến lược này sử dụng hệ thống thống thống nhất, hệ thống mua bán quá mức và hệ thống biến động, có khả năng theo dõi xu hướng mạnh mẽ khi giá trị được đánh giá thấp và mua quá mức khi giá trị được đánh giá cao. Tuy nhiên, cũng có một số vấn đề về thiết lập tham số cố định, cơ chế dừng lỗ không hoàn hảo.
/*backtest
start: 2023-09-17 00:00:00
end: 2023-10-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Buy&Sell Strategy depends on AO+Stoch+RSI+ATR by SerdarYILMAZ", shorttitle="Buy&Sell Strategy")
// Created by Serdar YILMAZ
// This strategy is just for training, its purpose is just learning code in pine script.
// Don't make buy or sell decision with this strategy.
// Bu strateji sadece pine script'te kodlamanın nasıl yapildigini ogrenmek icindir.
// Bu stratejiye dayanarak, kesinlikle al-sat islemleri yapmayin.
//AO
fast=input(title="Fast Length",type=input.integer,defval=5)
slow=input(title="Slow length",type=input.integer,defval=34)
awesome=(sma(hl2,fast)-sma(hl2,slow))*1000
plot(awesome, style=plot.style_histogram, color=(awesome>awesome[1]?color.green:color.red))
//Stoch
K=input(title="K",type=input.integer,defval=14)
D=input(title="D",type=input.integer,defval=3)
smooth=input(title="smooth",type=input.integer,defval=3)
k=sma(stoch(close,high,low,K),D)
d=sma(k,smooth)
hline(80)
hline(20)
plot(k,color=color.blue)
//RSI
rsisource=input(title="rsi source",type=input.source,defval=close)
rsilength=input(title="rsi length",type=input.integer,defval=10)
rsi=rsi(rsisource,rsilength)
hline(70,color=color.orange)
hline(30,color=color.orange)
plot(rsi,color=color.orange)
//ATR
atrlen=input(title="ATR Length", type=input.integer,defval=14)
atrvalue=rma(tr,atrlen)
plot(atrvalue*1000,color=color.green)
LongCondition=k<20 and rsi<30 and awesome>awesome[1]
ShortCondition=k>80 and rsi>70 and awesome<awesome[1]
if (LongCondition)
stoploss=low-atrvalue
takeprofit=close+atrvalue
strategy.entry("Long Position", strategy.long)
strategy.exit("TP/SL",stop=stoploss,limit=takeprofit)
if (ShortCondition)
stoploss=high+atrvalue
takeprofit=close-atrvalue
strategy.entry("Short Position",strategy.short)
strategy.exit("TP/SL",stop=stoploss,limit=takeprofit)