Sumber dimuat naik... memuat...

Alligator Trend Jangka Panjang Berikutan Strategi Dagangan

Penulis:ChaoZhang
Tag:SMMASMA

img

Ringkasan

Prinsip Strategi

Strategi Dagangan Mengikut Trend Jangka Panjang Alligator menggunakan tiga purata bergerak dengan tempoh yang berbeza untuk membina penunjuk Alligator, iaitu:

  1. Garis rahang: SMMA 13 tempoh, bergeser 8 bar ke masa depan
  2. Garis bibir: SMMA 5-periode, bergeser 3 bar ke masa depan

Apabila mulut penunjuk Alligator dibuka ke atas, iaitu, garisan Jaw berada di bahagian bawah, garisan Teeth berada di tengah, dan garisan Lips berada di bahagian atas, dan harga berada di atas penunjuk Alligator, strategi akan membuka kedudukan panjang.

Apabila harga pecah di bawah garisan Jaw, strategi akan menutup kedudukan panjang. Ini memastikan bahawa kita tidak akan terus memegang kedudukan di pasaran beruang.

Kelebihan Strategi

  1. Sesuai untuk perdagangan jangka sederhana hingga panjang: Strategi ini berdasarkan penunjuk Alligator, yang dapat menangkap dengan berkesan trend utama di pasaran, menjadikannya sangat sesuai untuk trend jangka sederhana hingga panjang berikut perdagangan.
  2. Frekuensi perdagangan yang rendah: Strategi ini hanya membuka kedudukan apabila trend disahkan dan menutup kedudukan apabila trend berakhir, mengakibatkan kekerapan perdagangan yang agak rendah, yang dapat mengurangkan kos perdagangan dengan berkesan.
  3. Pelbagai aplikasi: Strategi ini boleh digunakan untuk pelbagai pasaran kewangan, seperti forex, cryptocurrency, dan lain-lain, dengan daya adaptasi dan fleksibiliti yang kuat.
  4. Tidak perlu pengoptimuman parameter: Strategi sepenuhnya mengikuti trend pasaran dan tidak memerlukan pengoptimuman parameter, menjadikannya mudah dan mudah digunakan.

Risiko Strategi

  1. Risiko lipatan berpotensi: Dalam kes turun naik pasaran yang teruk atau kecairan yang tidak mencukupi, pesanan dagangan mungkin tidak dilaksanakan pada harga yang dijangkakan, yang membawa kepada risiko lipatan.
  2. Kekurangan pengurusan risiko tetap: Strategi tidak mempunyai tetapan pengurusan risiko tetap, dan saiz kedudukan setiap perdagangan perlu diselaraskan mengikut pilihan risiko seseorang.
  3. Kemungkinan peluang jangka pendek yang hilang: Oleh kerana strategi ini memberi tumpuan untuk menangkap trend jangka sederhana hingga panjang, ia mungkin kehilangan beberapa peluang perdagangan jangka pendek.

Arahan Pengoptimuman Strategi

  1. Tambah modul pengurusan risiko: Pertimbangkan untuk menambah beberapa langkah pengurusan risiko, seperti stop-loss, penyesuaian kedudukan dinamik, dan lain-lain, untuk mengawal risiko dengan lebih baik.
  2. Menggabungkan dengan penunjuk teknikal lain: Cuba menggabungkan penunjuk Alligator dengan penunjuk teknikal lain, seperti RSI, MACD, dan lain-lain, untuk meningkatkan ketepatan dan kebolehpercayaan strategi.

Ringkasan

Alligator Long-Term Trend Following Trading Strategy adalah strategi perdagangan kuantitatif yang mudah, mudah digunakan, dan boleh digunakan secara meluas. Dengan menggunakan penunjuk Alligator untuk menangkap trend utama di pasaran, strategi ini dapat mencapai pulangan yang stabil dalam jangka sederhana hingga panjang. Walaupun strategi ini mempunyai beberapa risiko berpotensi, dengan menambah modul pengurusan risiko, menggabungkan dengan penunjuk teknikal lain, dan mengoptimumkan tetapan parameter, prestasi dan kestabilan strategi dapat ditingkatkan lagi.


/*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>

Berkaitan

Lebih lanjut