Trend Jangka Panjang Alligator Mengikuti Strategi Dagangan

SMMA SMA
Tarikh penciptaan: 2024-05-17 15:40:13 Akhirnya diubah suai: 2024-05-17 15:40:13
Salin: 4 Bilangan klik: 718
1
fokus pada
1617
Pengikut

Trend Jangka Panjang Alligator Mengikuti Strategi Dagangan

Gambaran keseluruhan

Alligator Strategi perdagangan trend jangka panjang adalah strategi perdagangan kuantitatif berdasarkan penunjuk Williams Alligator. Strategi ini menggunakan gabungan purata bergerak dari pelbagai kitaran untuk menangkap trend utama di pasaran, yang digunakan untuk perdagangan trend jangka panjang.

Prinsip Strategi

Strategi perdagangan Alligator yang mengikuti trend jangka panjang menggunakan purata bergerak untuk tiga tempoh yang berbeza untuk membina penunjuk Alligator, iaitu:

  1. Jaw line: 13 SMMA kitaran, melangkah ke masa depan 8 K line
  2. Garis gigi: 8 kitaran SMMA, melangkah ke masa depan 5 K
  3. Lips line: 5 kitaran SMMA, bergerak ke masa depan 3 akar K line

Strategi ini akan membuka kedudukan apabila bukaan indikator Alligator ke arah atas, iaitu Jaw line di bahagian bawah, Teeth line di tengah, Lips line di bahagian atas, dan harga di atas indikator Alligator. Ini menunjukkan bahawa gelombang trend ke atas telah disahkan, dan kami ingin memegang kedudukan itu sehingga akhir trend.

Apabila harga jatuh di bawah Jaw Line, strategi ini akan melonggarkan lebihan. Ini akan memastikan bahawa kita tidak akan terus memegang kedudukan dalam pasaran beruang.

Kelebihan Strategik

  1. Sesuai untuk perdagangan jangka sederhana dan jangka panjang: Strategi ini berdasarkan pada penunjuk Alligator, yang dapat menangkap trend utama pasaran dengan berkesan, sangat sesuai untuk perdagangan trend jangka panjang.
  2. Frekuensi dagangan rendah: Strategi hanya membuka kedudukan apabila trend terbentuk dan menutup posisi apabila trend berakhir, frekuensi dagangan yang agak rendah, dapat mengurangkan kos dagangan dengan berkesan.
  3. Kebolehgunaan yang luas: Strategi ini boleh digunakan dalam pelbagai pasaran kewangan, seperti forex, cryptocurrency, dan lain-lain, dengan daya serap dan fleksibiliti yang kuat.
  4. Tidak perlu mengoptimumkan parameter: strategi mengikuti sepenuhnya trend pasaran, tidak perlu mengoptimumkan parameter, mudah digunakan.

Risiko Strategik

  1. Potensi risiko slippage: Dalam keadaan pasaran yang bergelombang atau kekurangan kecairan, pesanan perdagangan mungkin tidak dapat diperdagangkan pada harga yang dijangkakan, yang menyebabkan risiko slippage.
  2. Kurangnya pengurusan risiko tetap: Strategi ini tidak mempunyai tetapan pengurusan risiko tetap dan perlu menyesuaikan saiz kedudukan setiap perdagangan mengikut keutamaan risiko anda.
  3. Kemungkinan kehilangan peluang perdagangan jangka pendek: Kemungkinan kehilangan peluang perdagangan jangka pendek kerana strategi ini memberi tumpuan kepada trend jangka panjang.

Arah pengoptimuman strategi

  1. Menambah modul pengurusan risiko: Anda boleh mempertimbangkan untuk menambah langkah-langkah pengurusan risiko, seperti menghentikan kerugian, penyesuaian kedudukan dinamik, dan sebagainya, untuk mengawal risiko dengan lebih baik.
  2. Gabungan dengan petunjuk teknikal lain: Anda boleh cuba menggabungkan petunjuk Alligator dengan petunjuk teknikal lain, seperti RSI, MACD, dan sebagainya, untuk meningkatkan ketepatan dan kebolehpercayaan strategi.
  3. Tetapan parameter pengoptimuman: Walaupun strategi ini tidak memerlukan pengoptimuman parameter, anda boleh mencuba pengulangan untuk tempoh masa yang berbeza dan parameter perdagangan untuk mencari kombinasi parameter yang optimum.

ringkaskan

Strategi perdagangan trend jangka panjang Alligator adalah strategi perdagangan kuantitatif yang mudah digunakan dan luas. Dengan menggunakan indikator Alligator untuk menangkap trend utama di pasaran, strategi ini dapat memperoleh keuntungan yang stabil dalam jangka masa sederhana dan jangka panjang. Walaupun terdapat beberapa risiko yang berpotensi dalam strategi ini, prestasi dan kestabilan strategi dapat ditingkatkan dengan menambahkan modul pengurusan risiko, menggabungkan indikator teknikal lain, dan menetapkan parameter optimum.

Kod sumber strategi
/*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>