Chiến lược này sử dụng đường K và đường D của chỉ số ngẫu nhiên để tạo ra tín hiệu giao dịch, thuộc chiến lược giao dịch chỉ số ngẫu nhiên điển hình.
Tính toán các chỉ số ngẫu nhiên K và D trong một chu kỳ nhất định.
Một tín hiệu mua được tạo ra khi đường K vượt qua đường D từ phía dưới.
Khi đường K đi từ trên xuống và phá vỡ đường D, nó tạo ra một tín hiệu bán.
Bạn có thể thiết lập một khoảng thời gian để kiểm tra hiệu quả của chiến lược.
Sử dụng các chỉ số ngẫu nhiên để giao dịch, các quy tắc chiến lược đơn giản và rõ ràng.
Chỉ số ngẫu nhiên nhạy cảm với tình trạng quá mua quá bán.
Các đường K và D dễ tạo ra tín hiệu giao dịch.
Có thể kiểm tra lại hiệu quả của chiến lược.
Chỉ số ngẫu nhiên dễ tính toán và thực hiện.
Có mã đơn giản và dễ dàng tái phát triển.
Các chỉ số ngẫu nhiên có thể gây ra tín hiệu sai.
Không có thiết lập Stop Loss Stop.
Không thể phân biệt được xu hướng và kết luận.
Các nhà nghiên cứu đã phát hiện ra sự sai lệch trong dữ liệu.
Có thể có sự khác biệt về hiệu quả của việc thực hiện trên thực tế.
Kiểm tra các tham số khác nhau để tìm các tham số tối ưu.
Thêm bộ lọc cho các chỉ số đánh giá xu hướng.
Thiết lập cơ chế ngăn chặn thiệt hại.
Tiếp theo, các yếu tố khác được đưa vào để xác nhận tín hiệu.
Dữ liệu phản hồi được xử lý để loại bỏ sự sai lệch.
Mô phỏng ổ đĩa thực để tối ưu hóa cấu hình tham số.
Chiến lược này sử dụng các chỉ số ngẫu nhiên đơn giản để giao dịch, rất dễ thực hiện, nhưng cần được tối ưu hóa hơn nữa để tăng sự ổn định. Bằng cách điều chỉnh tham số, kiểm soát rủi ro và các cách khác, nó có thể được xây dựng thành một chiến lược giao dịch định lượng đáng tin cậy.
/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © utanico
//@version=4
strategy(title="Stochastic", overlay=true, shorttitle="Stoch")
periodK = input(35, title="K", minval=1)
periodD = input(21, title="D", minval=1)
smoothK = input(21, title="Smooth", minval=1)
startYear = input(type=input.integer, title = "開始年", defval = 2020)
startMonth = input(type=input.integer, title = "開始月", defval = 1)
startDay = input(type=input.integer, title = "開始日", defval = 1)
endYear = input(type=input.integer, title = "終了年", defval = 2030)
endMonth = input(type=input.integer, title = "終了月", defval = 12)
endDay = input(type=input.integer, title = "終了日", defval = 31)
//開始日時
test_start = timestamp(startYear, startMonth, startDay, 00, 00)
//終了日時
test_end = timestamp(endYear, endMonth, endDay, 00, 00)
//テスト期間の指定
is_test = true
k = sma(stoch(close, high, low, periodK), smoothK)
d = sma(k, periodD)
if (is_test)
if (k > d)
strategy.entry("Stoch_LE", strategy.long, comment="Stoch_LE")
//if (strategy.opentrades > 0 and k < d)
//strategy.close("Stoch_LE",comment="CloseLONG")
if (k < d)
strategy.entry("Stoch_SE", strategy.short, comment="Stoch_SE")
//if (strategy.opentrades < 0 and k > d)
//strategy.close("Stoch_SE",comment="CloseShort")