
Chiến lược này sử dụng chỉ số kênh sóng kết hợp với chỉ số dòng tiền để xác định hướng xu hướng và theo dõi xu hướng. Chiến lược này hoạt động trong chu kỳ 15 phút, xác định hướng xu hướng giá thông qua kênh sóng, sau đó sử dụng chỉ số dòng tiền để xác nhận xu hướng và theo dõi xu hướng vượt quá đường ngắn.
Chỉ số WaveTrend có thể xác định hiệu quả hướng xu hướng của giá. Nó bao gồm đường trung bình, giá trung bình và chỉ số kênh. Đường trung bình là chỉ số chuyển động trung bình của giá, phản ánh xu hướng giá; giá trung bình kênh là trung bình chuyển động của đường trung bình kênh, được sử dụng để định vị đường trung bình kênh; Chỉ số kênh phản ánh mức độ lệch của giá so với đường trung bình kênh và cung cấp tín hiệu mua quá mức.
Chỉ số dòng tiền (CMF) có thể đánh giá dòng chảy và dòng chảy của tiền, xác nhận xu hướng. Chỉ số này dựa trên dòng tích lũy / phân phối sau khi điều chỉnh khối lượng giao dịch, phản ánh sự tương phản giữa sức mạnh của cả hai bên mua và bán. Giá trị gần 0 cho thấy sự cân bằng của dòng chảy và dòng chảy của tiền; thấp hơn 0 cho thấy dòng chảy của tiền, cao hơn 0 cho thấy dòng chảy của tiền.
Chiến lược này hoạt động theo chu kỳ 15 phút, xác định hướng xu hướng giá thông qua chỉ số kênh sóng, sau đó sử dụng chỉ số dòng tiền để xác nhận và theo dõi xu hướng. Cụ thể, nếu chỉ số kênh kênh chỉ số kênh sóng thấp hơn 60 và chỉ số dòng tiền nhỏ hơn -0.2, hãy làm nhiều; Nếu chỉ số kênh chỉ số kênh chỉ số kênh sóng cao hơn 60 và chỉ số dòng tiền lớn hơn 0.2, hãy làm trương vị vuông.
Phương pháp giải quyết rủi ro:
Chiến lược này sử dụng chỉ số kênh sóng để xác định hướng xu hướng, và chỉ số dòng tiền để xác nhận, thực hiện hoạt động theo dõi xu hướng vượt qua đường ngắn. Ưu điểm của chiến lược là danh mục chỉ số hợp lý, có thể theo dõi xu hướng một cách hiệu quả, và chu kỳ 15 phút hoạt động thích hợp hơn cho hoạt động đường ngắn. Nhưng cũng có rủi ro, chẳng hạn như tín hiệu chỉ số không chính xác, thời gian giữ vị trí quá ngắn, v.v.
/*backtest
start: 2023-11-08 00:00:00
end: 2023-11-15 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title = "CMF - WaveTrend", shorttitle = "CMF - WaveTrend", overlay = true, pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, currency = currency.EUR)
//Chaikin Money Flow
len = input(20, minval=1, title="Length")
mas = input(title="Aggregation", defval="SUM", options=["SUM", "EMA", "WMA"])
e = input(10.0, title="Volume Exponent (0-10 reduces & 10+ increases volume effect)")
p = input(false, title="Show in Percentage")
mvs = input(false, "Factor in Price (Money Volume)")
src=input(hlc3, title="Source for price factor")
trl = min(low,close[1]), trh = max(high,close[1]) // 'true range' fixes issues caused by gaps in price
wv = pow(volume,e/10.0)*(mvs ? src : 1)
ad = (trh==trl ? 0 : (2*close-(trh+trl))/tr(true))*wv
cmf = mas=="SUM" ? sum(ad, len)/sum(wv, len) : mas=="EMA" ? ema(ad, len)/ema(wv, len) : mas=="WMA" ? wma(ad, len)/wma(wv, len) : na
cmf_p = if p
50*cmf+50
else
cmf
b = p ? 50 : 0
//WaveTrend
n1 = input(10, "Channel Length")
n2 = input(21, "Average Length")
obLevel1 = input(60, "Over Bought Level 1")
obLevel2 = input(53, "Over Bought Level 2")
osLevel1 = input(-60, "Over Sold Level 1")
osLevel2 = input(-53, "Over Sold Level 2")
ap = hlc3
esa = ema(ap, n1)
d = ema(abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ema(ci, n2)
wt1 = tci
wt2 = sma(wt1,4)
//
longCondition = wt1 < -60 and cmf < - 0.20
if (longCondition)
strategy.entry("My Long Entry Id", strategy.long)
shortCondition = wt1 > 60 and cmf > 0.20
if (shortCondition)
strategy.entry("My Short Entry Id", strategy.short)
closeLongCondition = cmf_p > 0.18 ? true : false
closeShortCondition = cmf_p < -0.18 ? true : false
strategy.close("My Long Entry Id", when=(closeLongCondition == true))
strategy.close("My Short Entry Id", when=(closeShortCondition == true))