Chiến lược theo dõi động lực

Tác giả:ChaoZhang, Ngày: 2023-11-23 13:47:02
Tags:

img

Tổng quan

Chiến lược này sử dụng kích thước cơ thể của nến và chỉ số đà xu hướng EMA để xác định xu hướng thị trường và thực hiện giao dịch tự động để mua thấp và bán cao. Ý tưởng cơ bản của nó là theo đuổi tăng trong xu hướng tăng và thêm các vị trí dài trên giảm trong xu hướng giảm.

Chiến lược logic

  1. Phân loại các cây nến thành những mảnh nhỏ, nến nhỏ và nến lớn dựa trên kích thước cơ thể.
  2. Khi EMA đang tăng, nếu một ngọn nến màu đỏ lớn xuất hiện, nó cho thấy một sự điều chỉnh thị trường.
  3. Khi đường EMA đang giảm, nếu một ngọn nến màu xanh lá cây lớn xuất hiện, điều đó có nghĩa là thị trường đang ổn định.
  4. Điều chỉnh động các vị trí dựa trên việc theo dõi thời gian thực về những thay đổi về giá nến và xu hướng EMA

Phân tích lợi thế

  1. Ý tưởng chiến lược là đơn giản và dễ hiểu bằng cách đánh giá cấu trúc thị trường thông qua các chỉ số đơn giản.
  2. Chiến lược có ít tham số và không dễ bị quá phù hợp, dẫn đến sự ổn định cao.
  3. Nó thực hiện logic mua thấp và bán cao và mang lại lợi nhuận đáng chú ý trong các biến động thị trường đáng kể.
  4. Nó tính đến cả xu hướng và sự đảo ngược và có thể phản ứng nhanh chóng với những thay đổi trong điều kiện thị trường.

Rủi ro và tối ưu hóa

  1. Nó không xem xét phạm vi tuyệt đối của giá tài sản, có thể dẫn đến rủi ro dừng lỗ.
  2. Nó không xem xét vấn đề cơ bản của tiền điện tử và có thể được thử nghiệm trên nhiều cặp giao dịch hơn.
  3. Các thuật toán học máy có thể được giới thiệu để hỗ trợ trong việc đánh giá các mẫu nến.
  4. Các chỉ số khối lượng giao dịch có thể được sử dụng để sàng lọc các loại.
  5. Các tham số khung thời gian khác nhau có thể được thử nghiệm.

Kết luận

Ý tưởng tổng thể của chiến lược này rất đơn giản và dễ hiểu, với momentumtracking là các tính năng chính của nó. Nó xác định hướng thị trường chính thông qua chỉ số EMABOLL đơn giản và sử dụng các cơ quan nến để đánh giá các điều chỉnh địa phương, nhận ra giao dịch hiệu quả bằng cách mua thấp và bán cao. Chiến lược có sự ổn định cao và hoạt động đặc biệt tốt trong tiền điện tử, làm cho nó đáng để thử nghiệm và tối ưu hóa thêm.


/*backtest
start: 2023-10-23 00:00:00
end: 2023-11-22 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//Author @divonn1994

strategy(title='Trend Follower Strategy v2 [divonn1994]', shorttitle='TrendFollowStrategyV2', overlay=false, pyramiding=0, default_qty_value=100, default_qty_type=strategy.percent_of_equity, precision=7, currency=currency.USD, commission_value=0.1, commission_type=strategy.commission.percent, initial_capital=100)

//Important Constants for Classifying Candle Size----------------------------------------------------------------------------------------------------------------------------------------------

timesBigger = 2
crumbSize = 1400
crumbSize2 = 2100
bigCandleSize = 3800

//Key Alerts and Classifications of Candle Size and EMAs---------------------------------------------------------------------------------------------------------------------------------------

emaAlert = ta.ema(close, 8) > ta.ema(open, 8) ? 1 : 0 
CandleSize = close * 1 - open * 1
previousCandleSize = close[1] * 1 - open[1] * 1
greenCandle = close > open ? 1 : 0
previousGreenCandle = close[1] > open[1] ? 1 : 0

crumb = (greenCandle==1 and CandleSize<=crumbSize) or (greenCandle==0 and -CandleSize<=crumbSize) ? 1 : 0
bigCrumb = (greenCandle==1 and CandleSize<=crumbSize2 and CandleSize>crumbSize) or (greenCandle==0 and -CandleSize<=crumbSize2 and -CandleSize>crumbSize) ? 1 : 0
previousCandleIsSmallCrumb = (previousGreenCandle==1 and previousCandleSize<=crumbSize) or (previousGreenCandle==0 and -previousCandleSize<=crumbSize) ? 1 : 0
previousCandleIsBigCrumb = (previousGreenCandle==1 and previousCandleSize<=crumbSize2 and previousCandleSize>crumbSize) or (previousGreenCandle==0 and -previousCandleSize<=crumbSize2 and -previousCandleSize>crumbSize) ? 1 : 0

bigCandle = (greenCandle==1 and previousCandleIsBigCrumb==1 and CandleSize>=math.abs(timesBigger*previousCandleSize)) or (greenCandle==1 and previousCandleIsSmallCrumb==1 and CandleSize>=bigCandleSize) or (greenCandle==1 and previousCandleIsSmallCrumb==0 and previousCandleIsBigCrumb==0 and CandleSize>=math.abs(timesBigger*previousCandleSize)) ? 1 : 0

//Engine (Secret Sauce)------------------------------------------------------------------------------------------------------------------------------------------------------------------------

buy = (crumb==0 and bigCrumb==0 and greenCandle==0) or (greenCandle==1 and bigCandle==1) or (emaAlert==0) ? 0 : 1

//Strategy-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

if ta.crossover(buy, 0.5)
    strategy.entry('long', strategy.long, comment='long')
if ta.crossunder(buy, 0.5)
    strategy.close('long')

//Plot Strategy Behavior-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

plot(buy, color=color.new(color.silver, 0))
plot(0.5, color=color.new(color.fuchsia, 0))

Thêm nữa