Chiến lược này dựa trên các chỉ số ngẫu nhiên trung bình để đánh giá tín hiệu giao dịch và thuộc về chiến lược theo dõi xu hướng. Chiến lược này được tính toán bằng các chỉ số ngẫu nhiên trung bình% K và% D, làm nhiều khi chúng xảy ra và làm trống khi xảy ra, là chiến lược theo dõi xu hướng điển hình.
Tính toán giá trị của chỉ số ngẫu nhiên trung bình %K và %D. Trong đó %K là trung bình di chuyển của các giá trị ngẫu nhiên được tính dựa trên giá đóng cửa trong một khoảng thời gian nhất định, phản ánh vị trí tương đối của giá hiện tại với giá cao nhất và thấp nhất trong một khoảng thời gian nhất định.
Thực hiện chỉ số di chuyển trơn trung bình (EMA) cho %K và %D, tương ứng, để có được trung bình của chỉ số ngẫu nhiên trung bình_avg_k và_avg_d。
Đánh giá tín hiệu giao dịch:
Giao thức mua:_avg_K lên mặc_avg_d, và_avg_d <20 tuổi, làm nhiều hơn
Bán tín hiệu:_avg_K đi mặc_avg_d, và_avg_Khi d > 80, làm trống
Quản lý cổ phiếu:
Lưu ý:_avg_d >80 giờ.
Thẻ trống dừng lại:_avg_d <20 giờ.
Cho phép tối đa 3 đơn đặt hàng đồng thời, thuộc chiến lược tăng kho
Sử dụng hai đường cân bằng để đánh giá các ngã ba vàng, có thể lọc hiệu quả các đột phá giả, cải thiện chất lượng tín hiệu
Sử dụng chỉ số trung bình ngẫu nhiên để theo dõi xu hướng giá một cách hiệu quả
Kết hợp với việc đánh giá khoảng mua bán quá mức, bạn có thể tránh giao dịch thường xuyên trong tình trạng chấn động
Cho phép gia tăng cổ phần, có thể thu được nhiều lợi nhuận hơn trong tình trạng xu hướng
Chiến lược dừng lỗ có thể kiểm soát tổn thất đơn lẻ
Chiến lược giao dịch hai dòng dễ tạo ra giao dịch thường xuyên, nếu phí giao dịch quá cao sẽ ảnh hưởng đến lợi nhuận
Sử dụng điểm dừng cố định có thể dừng quá sớm xu hướng rút lui
Lưu trữ quá nhiều có thể dẫn đến tổn thất lớn hơn
Không có khả năng đánh giá hiệu quả điểm đảo ngược xu hướng và có thể có tổn thất lớn khi xu hướng đảo ngược
Cần tối ưu hóa các tham số chu kỳ, hiệu quả của các chu kỳ khác nhau rất lớn
Có thể xem xét việc đưa ra các chỉ số đánh giá xu hướng để tránh giao dịch ngược
Động thái điều chỉnh điểm dừng để giảm giá theo xu hướng
Tối ưu hóa chiến lược đặt cược, chẳng hạn như tăng số lượng người đặt cược mỗi lần
Kết hợp với các chỉ số khác để đánh giá xu hướng đảo ngược, rút khỏi lợi nhuận sớm
Tối ưu hóa các tham số thử nghiệm cho các giống khác nhau để tăng khả năng thích ứng của tham số
Chiến lược này nói chung là một chiến lược theo dõi xu hướng điển hình, sử dụng chỉ số ngẫu nhiên trung bình để xác định xu hướng, giao dịch đặt cược khi xu hướng xuất hiện. Ưu điểm của chiến lược là khả năng theo dõi mạnh mẽ, phù hợp với xu hướng, nhưng cần chú ý để ngăn chặn giao dịch ngược.
/*backtest
start: 2022-10-19 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
//1. AVG Stochastic Calculate
//1.1 AVG %K is calculated by apply EMA with smooth K period on Average of Original Stochastic %k & %d
//+ avg_k=ema((%k+%d)/2,smoothK)
//1.2 AVG %D is calculated by apply EMA with %d period on AVG %K
//+ avg_d=ema(avg_k,periodD)
//2. Parameter
//+ %K Length: 21
//+ %K Smoothing: 3
//+ %D Smoothing: 3
//+ Symbol: BTC/USDT
//+ Timeframe: M30
//+ Pyramiding: Maximum 3 orders at the same direction.
//3. Signal
//3.1 Buy Signal
//+ Entry: AVG %K crossover AVG %D and AVG %D < 20
//+ Exit: AVG %D > 80
//3.2 Sell Signal
//+ Entry: AVG %K crossunder AVG %D and AVG %D > 80
//+ Exit: AVG %D < 20
strategy(title="AVG Stochastic Strategy [M30 Backtesting]", overlay=true, pyramiding=3)
periodK = input.int(21, title="%K Length", minval=1)
smoothK = input.int(3, title="%K Smoothing", minval=1)
periodD = input.int(3, title="%D Smoothing", minval=1)
k = ta.sma(ta.stoch(close, high, low, periodK), smoothK)
d = ta.sma(k, periodD)
_avg_k=ta.ema(math.avg(k,d),smoothK)
_avg_d=ta.ema(_avg_k,periodD)
up=
_avg_k[1]<_avg_d[1]
and _avg_k>_avg_d
and _avg_d<20
dn=
_avg_k[1]>_avg_d[1]
and _avg_k<_avg_d
and _avg_d>80
var arr_val=0
if up
arr_val:=1
strategy.entry("Long", strategy.long)
if dn
arr_val:=-1
strategy.entry("Short", strategy.short)
if up[1] or dn[1]
arr_val:=0
plotarrow(arr_val,title="Signal",colorup=color.green,colordown=color.red)
if _avg_d>80
strategy.close("Long")
if _avg_d<20
strategy.close("Short")
//EOF