Tài nguyên đang được tải lên... tải...

Xu hướng dài hạn của cá sấu theo chiến lược giao dịch

Tác giả:ChaoZhang
Tags:SMMASMA

img

Tổng quan

Nguyên tắc chiến lược

  1. Đường răng: SMMA 8 giai đoạn, di chuyển 5 thanh vào tương lai
  2. Đường môi: SMMA 5 giai đoạn, di chuyển 3 thanh vào tương lai

Khi giá phá vỡ dưới đường hàm, chiến lược sẽ đóng vị trí dài. Điều này đảm bảo rằng chúng tôi sẽ không tiếp tục giữ vị trí trong thị trường giảm.

Ưu điểm chiến lược

  1. Tần suất giao dịch thấp: Chiến lược chỉ mở các vị trí khi một xu hướng được xác nhận và đóng các vị trí khi xu hướng kết thúc, dẫn đến tần suất giao dịch tương đối thấp, có thể làm giảm hiệu quả chi phí giao dịch.
  2. Phạm vi ứng dụng rộng: Chiến lược có thể được áp dụng cho các thị trường tài chính khác nhau, chẳng hạn như ngoại hối, tiền điện tử, vv, với khả năng thích nghi và linh hoạt mạnh mẽ.
  3. Không cần tối ưu hóa tham số: Chiến lược hoàn toàn tuân theo xu hướng thị trường và không yêu cầu tối ưu hóa tham số, làm cho nó đơn giản và dễ sử dụng.

Rủi ro chiến lược

  1. Rủi ro trượt tiềm năng: Trong trường hợp biến động thị trường nghiêm trọng hoặc không đủ thanh khoản, lệnh giao dịch có thể không được thực hiện theo giá dự kiến, dẫn đến rủi ro trượt.
  2. Thiếu quản lý rủi ro cố định: Chiến lược không có cài đặt quản lý rủi ro cố định, và kích thước vị trí của mỗi giao dịch cần phải được điều chỉnh theo sở thích rủi ro của mỗi người.

Hướng dẫn tối ưu hóa chiến lược

  1. Thêm mô-đun quản lý rủi ro: Xem xét thêm một số biện pháp quản lý rủi ro, chẳng hạn như dừng lỗ, điều chỉnh vị trí động, v.v., để kiểm soát tốt hơn rủi ro.
  2. Kết hợp với các chỉ số kỹ thuật khác: Hãy thử kết hợp chỉ số Alligator với các chỉ số kỹ thuật khác, chẳng hạn như RSI, MACD, vv, để cải thiện độ chính xác và độ tin cậy của chiến lược.
  3. Tối ưu hóa cài đặt tham số: Mặc dù chiến lược không yêu cầu tối ưu hóa tham số, bạn có thể thử kiểm tra lại các khoảng thời gian và mục tiêu giao dịch khác nhau để tìm sự kết hợp tham số tối ưu.

Tóm lại

Chiến lược giao dịch theo xu hướng dài hạn của Alligator là một chiến lược giao dịch định lượng đơn giản, dễ sử dụng và có thể áp dụng rộng rãi. Bằng cách sử dụng chỉ số Alligator để nắm bắt các xu hướng chính trên thị trường, chiến lược có thể đạt được lợi nhuận ổn định trong trung hạn đến dài hạn. Mặc dù chiến lược có một số rủi ro tiềm ẩn, bằng cách thêm các mô-đun quản lý rủi ro, kết hợp với các chỉ số kỹ thuật khác và tối ưu hóa cài đặt tham số, hiệu suất và sự ổn định của chiến lược có thể được cải thiện hơn nữa. Đối với các nhà đầu tư thích theo xu hướng trung hạn đến dài hạn, chiến lược giao dịch theo xu hướng dài hạn của Alligator là một lựa chọn đáng xem.


/*backtest
start: 2023-05-11 00:00:00
end: 2024-05-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//_______ <licence>
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Skyrex

//_______ <version>
//@version=5

//_______ <declaration_statement>
strategy(title = "Alligator Long Term Trend Following Strategy [Skyrex.io]", 
         shorttitle = "Alligator Strategy [Skyrex.io]", 
         overlay = true, 
         format = format.inherit, 
         pyramiding = 1, 
         calc_on_order_fills = false, 
         calc_on_every_tick = true, 
         default_qty_type = strategy.percent_of_equity, 
         default_qty_value = 100, 
         initial_capital = 10000, 
         currency = currency.NONE,  
         commission_type = strategy.commission.percent, 
         commission_value = 0.1,
         slippage = 5)


//_______ <constant_declarations>
var color skyrexGreen = color.new(#2ECD99, 0)
var color skyrexGray = color.new(#F2F2F2, 0)
var color skyrexWhite = color.new(#FFFFFF, 0)

var color barcolor = na


//_______ <inputs>
// Trading bot settings
sourceUuid = input.string(title = "sourceUuid:", defval = "yourBotSourceUuid", group = "Trading Bot Settings")
secretToken = input.string(title = "secretToken:", defval = "yourBotSecretToken", group = "Trading Bot Settings")

// Trading Period Settings
lookBackPeriodStart = input(title = "Trade Start Date/Time", defval = timestamp('2023-01-01T00:00:00'), group = "Trading Period Settings")
lookBackPeriodStop = input(title = "Trade Stop Date/Time", defval = timestamp('2025-01-01T00:00:00'), group = "Trading Period Settings")

//_______ <function_declarations>
//@function       Used to calculate Simple moving average for Alligator
//@param src      Sourse for smma Calculations
//@param length   Number of bars to calculate smma
//@returns        The calculated smma value 
smma(src, length) =>
    smma =  0.0
    smma := na(smma[1]) ? ta.sma(src, length) : (smma[1] * (length - 1) + src) / length
    smma


//@function       Used to decide if current candle above the Alligator
//@param jaw      Jaw line of an Alligator
//@param teeth    Teeth line of an Alligator
//@param lips     Lips line of an Alligator
//@returns        Bool value  
is_LowAboveAlligator(jaw, teeth, lips) =>
    result = low > jaw and low > lips and low > teeth 
    result


//@function       Used to decide if current candle below the Alligator
//@param jaw      Jaw line of an Alligator
//@param teeth    Teeth line of an Alligator
//@param lips     Lips line of an Alligator
//@returns        Bool value  
is_HighBelowAlligator(jaw, teeth, lips) =>
    result = high < jaw and high < lips and high < teeth 
    result


//@function       Used to decide if Alligator's mouth is open
//@param jaw      Jaw line of an Alligator
//@param teeth    Teeth line of an Alligator
//@param lips     Lips line of an Alligator
//@returns        Bool value 
is_AlligatorHungry(jaw, teeth, lips) =>
    result = lips > jaw[5] and lips > teeth[2] and teeth > jaw[3]
    result


//_______ <calculations>
jaw = smma(hl2, 13)[8]
teeth = smma(hl2, 8)[5]
lips = smma(hl2, 5)[3]


jaw_o = smma(hl2, 13)
teeth_o = smma(hl2, 8)
lips_o = smma(hl2, 5)


//_______ <strategy_calls>
longCondition = is_LowAboveAlligator(jaw, teeth, lips) and is_AlligatorHungry(jaw_o, teeth_o, lips_o) 
if (longCondition)
    strategy.entry(id = "entry1", direction = strategy.long, alert_message = '{\n"base": "' + syminfo.basecurrency + '",\n"quote": "' + syminfo.currency + '",\n"position": "entry1",\n"price": "' + str.tostring(close) + '",\n"sourceUuid": "' + sourceUuid + '",\n"secretToken": "' + secretToken + '",\n"timestamp": "' + str.tostring(timenow) + '"\n}')

if close < jaw
    strategy.close(id = "entry1", alert_message = '{\n"base": "' + syminfo.basecurrency + '",\n"quote": "' + syminfo.currency + '",\n"position": "close",\n"price": "' + str.tostring(close) + '",\n"sourceUuid": "' + sourceUuid + '",\n"secretToken": "' + secretToken + '",\n"timestamp": "' + str.tostring(timenow) + '"\n}')



//_______ <visuals>
if strategy.opentrades > 0
    barcolor := skyrexGreen
else 
    barcolor := skyrexGray

barcolor(barcolor)
//_______ <alerts>

Có liên quan

Thêm nữa