Chiến lược giao dịch tiền điện tử kết hợp nhiều chỉ số động lực

Tác giả:ChaoZhang, Ngày: 2023-09-13 15:16:55
Tags:

Chiến lược này được đặt tên là Chiến lược giao dịch tiền điện tử kết hợp nhiều chỉ số động lực. Nó tích hợp các chỉ số MFI, RSI và Stoch RSI để đánh giá các điều kiện mua quá mức và bán quá mức trong tiền điện tử cho các tín hiệu giao dịch.

Chỉ số MFI là chỉ số dòng tiền. Nó xem xét cả thông tin khối lượng và giá để đánh giá sức mạnh của áp lực mua và bán. MFI dưới 20 cho thấy tình trạng bán quá mức, trong khi trên 80 là mua quá mức.

Chỉ số RSI là chỉ số sức mạnh tương đối. Nó mô tả mức giá quá mua và quá bán. RSI dưới 30 là quá bán, trong khi trên 70 là quá mua.

Chỉ số Stoch RSI là một biến thể của chỉ số RSI đánh giá liệu chỉ số RSI có bị mua quá nhiều hay bán quá nhiều không.

Logic giao dịch là:

Khi MFI, RSI và Stoch RSI đồng thời thấp hơn mức bán quá mức, nó báo hiệu nhiều xác nhận bán quá mức cho việc mua dài.

Khi ba chỉ số trên cùng là vùng mua quá mức, nó đánh dấu nhiều xác nhận mua quá mức để đi ngắn.

Ưu điểm của chiến lược này là xác nhận nhiều chỉ số có thể lọc tín hiệu sai và cải thiện độ chính xác nhập.

Tóm lại, các chỉ số động lực nhạy cảm với biến động giá tiền điện tử, và kết hợp nhiều chỉ số có thể tăng cường độ vững chắc của chiến lược.


/*backtest
start: 2023-08-13 00:00:00
end: 2023-09-12 00:00:00
period: 1h
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/
// Crypto Crew strategy entry signal long/short with stop loss. Exit signal not provided.
//
// Indicators: MFI + RSI + STOCH RSI
// Entry criteria: long when the three are oversold, short when the three indicators are overbought.
// Exit criteria: Take profit at Fib levels (not demonstrated here) measured from prevous highs/low.
// Feel free to contribute

//@version=4
strategy("Crypto Crew")

//inputs
source = hlc3
rsi_length = input(14, minval=1)
mfi_lenght =  input(14, minval=1)
smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
okay = "Okay"
good = "Good"
veryGood = "Very good"
tradingOpportunity = input(title="Opportunity Type", defval=veryGood, options=[okay, good, veryGood])
longThreshhold = tradingOpportunity==okay? 40 : tradingOpportunity==good ? 30 : tradingOpportunity==veryGood? 20 : 0
shortThreshhold = tradingOpportunity==okay? 60 : tradingOpportunity==good ? 70 : tradingOpportunity==veryGood? 80 : 0

//lines
mfi = mfi(source, mfi_lenght)
rsi = rsi(source, rsi_length)
rsi1 = rsi(close, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)

longSignal = mfi<longThreshhold and rsi<longThreshhold and k<longThreshhold and d<longThreshhold? 1:-1
shortSignal = mfi>shortThreshhold and rsi>shortThreshhold and k>shortThreshhold and d>shortThreshhold? 1:-1

if longSignal > 0
    strategy.entry("Long", strategy.long)
    strategy.exit(id="Long Stop Loss", stop=close*0.8) //20% stop loss 
    
if shortSignal > 0
    strategy.entry("Short", strategy.short, stop=close*1.2)
    strategy.exit(id="Short Stop Loss", stop=close*1.2) //20% stop loss

plot(k, color=color.blue)
plot(d, color=color.red)
plot(rsi, color=color.yellow)
plot(mfi, color=color.blue)
hline(longThreshhold, color=color.gray, linestyle=hline.style_dashed)
hline(shortThreshhold, color=color.gray, linestyle=hline.style_dashed)


Thêm nữa