Strategi perdagangan jangka pendek berdasarkan likuiditas dan tren pasar


Tanggal Pembuatan: 2024-01-30 15:36:33 Akhirnya memodifikasi: 2024-01-30 15:36:33
menyalin: 0 Jumlah klik: 390
1
fokus pada
1166
Pengikut

Strategi perdagangan jangka pendek berdasarkan likuiditas dan tren pasar

Ringkasan

Strategi ini secara komprehensif mempertimbangkan beberapa dimensi seperti likuiditas pasar, tren, dan indikator teknis, untuk melakukan perdagangan strategi garis pendek. Strategi ini dapat mengikuti tren, memanfaatkan operasi pembukaan posisi saat likuiditas pasar lebih baik, sehingga mendapatkan keuntungan garis pendek.

Prinsip Strategi

  1. Prinsip dasar: Strategi ini mempertimbangkan dua dimensi utama: likuiditas pasar dan tren. Operasi garis pendek dilakukan ketika likuiditas pasar lebih baik dan tren muncul.

  2. Indikator likuiditas pasar: Strategi ini terutama menggunakan MFI dan perubahan volume transaksi sebagai indikator likuiditas pasar. Ketika MFI meningkat dan volume transaksi meningkat, kami menganggap bahwa likuiditas pasar lebih baik dan cocok untuk membuka posisi.

  3. Strategi ini menggabungkan beberapa indikator seperti ADX, EMA dan lain-lain untuk menilai tren. Ketika ADX lebih tinggi dari 30 dan EMA-nya menunjukkan tren yang kuat.

  4. Kondisi untuk membuka posisi: Pasar memiliki likuiditas yang baik, dan pada saat terjadi tren, sinyal untuk membuka posisi akan dihasilkan jika kondisi tambahan lainnya (seperti penilaian posisi SAR, dll.) juga sesuai.

  5. Stop loss setup: Strategi ini memiliki stop loss tetap (10 poin) dan stop loss (7.5 poin) untuk setiap transaksi.

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Mengambil kesempatan untuk menilai likuiditas pasar: menilai likuiditas pasar berdasarkan MFI dan volume transaksi, menghindari posisi saat likuiditas pasar kurang.

  2. Mengikuti tren untuk mendapatkan keuntungan: kombinasi dengan indikator seperti EMA untuk menentukan arah tren, membantu mendapatkan keuntungan dari tren.

  3. Pengendalian risiko di tempat: Pengaturan stop loss tetap, pengendalian yang efektif terhadap kerugian maksimum dalam satu transaksi.

  4. Frekuensi perdagangan yang lebih tinggi: sebagai strategi garis pendek, frekuensi perdagangan yang lebih tinggi cocok untuk akumulasi keuntungan secara bertahap.

  5. Optimasi parameter lebih besar: parameter MA, pengaturan stop loss, dan sebagainya dapat dioptimalkan untuk meningkatkan efektivitas strategi.

Analisis risiko

Strategi ini juga memiliki beberapa risiko:

  1. Risiko pengendalian slippage disk: Stop loss theoretical tidak sepenuhnya mencerminkan kondisi disk, dan slippage disk mungkin lebih besar.

  2. Risiko kegagalan penilaian tren: Strategi ini lebih bergantung pada indikator penilaian tren, namun masih ada kemungkinan kegagalan.

  3. Risiko overtrading: Sebagai strategi garis pendek, jika parameter yang tidak tepat dapat menyebabkan overtrading.

  4. Risiko keadaan pasar yang tidak normal: Strategi ini mungkin tidak berfungsi dengan baik dalam situasi ekstrem seperti kurangnya likuiditas pasar atau perubahan kebijakan.

Sebagai gantinya, kita dapat mengurangi risiko dengan melakukan hal-hal berikut:

  1. Perbaikan yang tepat dari Stop Loss, dengan mempertimbangkan faktor slip disk solid.

  2. Mengoptimalkan logika penilaian tren, memperkenalkan lebih banyak indikator, dan mengurangi probabilitas kegagalan.

  3. Untuk menghindari perdagangan berlebihan, ada batasan frekuensi pembukaan.

  4. Fleksibilitas dalam penyesuaian parameter sesuai dengan kondisi pasar, untuk menghadapi situasi yang tidak biasa.

Arah optimasi

Strategi ini mencakup:

  1. Memperkenalkan lebih banyak indikator untuk mengoptimalkan penilaian tren, membuat penilaian lebih akurat. Misalnya, memperkenalkan indikator MACD dan sebagainya.

  2. Optimalkan parameter periodik MA, mencari kombinasi parameter optimal.

  3. Memperbaiki strategi stop loss, misalnya dengan menggunakan stop loss bergerak, stop loss interval, dan lain-lain.

  4. Tambahkan batasan pada jumlah transaksi, hindari perdagangan yang terlalu frekuensi tinggi. Misalnya, buka posisi maksimal 3 kali per hari.

  5. Mencari indikator likuiditas pasar yang lebih baik untuk menilai lebih lanjut kapan harus membuka posisi.

  6. Tambahkan fungsi optimasi parameter, untuk mengoptimalkan parameter secara otomatis untuk menemukan kombinasi parameter yang optimal.

Meringkaskan

Strategi ini secara komprehensif mempertimbangkan banyak dimensi seperti likuiditas dan tren pasar, untuk menangkap keuntungan dalam garis pendek. Dibandingkan dengan strategi tren tradisional, inovasi terbesar dalam strategi ini adalah memperkenalkan indikator likuiditas pasar, untuk menghindari terputus pada posisi ketika likuiditas pasar kurang.

Kode Sumber Strategi
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 2h
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/
// © trent777brown

//@version=5
strategy("scalping with market facilitation", overlay=true, margin_long=100, margin_short=100)


MFI0 = (high - low) / volume
MFI1 = (high[1] - low[1]) / volume[1]

MFIplus = MFI0 > MFI1
MFIminus = MFI0 < MFI1

//Current Trend-(Changed mean to trend)-revised
trendplus = hl2 > high[1]
trendzero = hl2 < high[1] and hl2 > low[1]  //addition of script
trendminus = hl2 < low[1]  //changed high to low

//Volume +/-
volplus = volume > volume[1]
volminus = volume < volume[1]

//Period Control by Buyers or Sellers is determined with reference to Price action of the period 
//divided into 3 sectors, sector 1 is the Top third, Sector 2 is the middle third, 
//and sector 3 is the Bottom third of the period. Control classifications are: Extremes(11, 33), Neutral(22), 
//Climbers(31,21,32) Open lower than Close, and Drifters(13,23,12)Close lower than Open

//value0 = low
//value1 = ((high - low)/3)
//value2 = ((high - low)/3)*2
//value3 = high

//o1 = (open >= (((high - low)/3) * 2) + low)
//c1 = (close >= (((high - low)/3) * 2) + low)
//o2 = (open <= o1) 
//c2 = (close <= c1)
//o3 = (open <= ((high - low)/3) + low)
//c3 = (close <= ((high - low)/3) + low)

//sector2 = if((high - low)/3) + low and sector2 <= (((high - low)/3)*2) + low

//sector3 = if((high - low)/3) + low and >= low


//Extremes-Full Control of Period by Buyers or Sellers 
//pg79 notes an 85% chance that the current trend will change in the next 1 to 5 bars
b11 = open >= (high - low) / 3 * 2 + low and close >= (high - low) / 3 * 2 + low  //Extreme Buyer Control:Chartruse
b33 = open <= (high - low) / 3 + low and close <= (high - low) / 3 + low  //Extreme Seller Control:Crimson
//Neutral pg80
b22 = open >= (high - low) / 3 + low and open <= (high - low) / 3 * 2 and close >= (high - low) / 3 + low and open <= (high - low) / 3 * 2  //Bracketed Price Control
//Climber-Open lower than Close pg81
b31 = open <= (high - low) / 3 + low and close >= (high - low) / 3 * 2 + low  //Strong Buyer Control:Dark Green
b21 = open >= (high - low) / 3 + low and open <= (high - low) / 3 * 2 and close >= (high - low) / 3 * 2 + low  //Moderate Buyer Control:Green
b32 = open <= (high - low) / 3 + low and close >= (high - low) / 3 + low and open <= (high - low) / 3 * 2  //Weak Buyer Control:Light Green
//Drifter-Close lower than Open pg81
b13 = open >= (high - low) / 3 * 2 + low and close <= (high - low) / 3 + low  //Strong Seller Control:Dark Red
b23 = open >= (high - low) / 3 + low and open <= (high - low) / 3 * 2 and close <= (high - low) / 3 + low  //Moderate Seller Control:Red
b12 = open >= (high - low) / 3 * 2 + low and close >= (high - low) / 3 + low and open <= (high - low) / 3 * 2  //Weak Seller Control:Light Red/Pink

 

//


psar= ta.sar(.09, .2, .2)

ema8= ta.ema(hlc3, 8)

ema13h= ta.ema(high, 13)
ema13l= ta.ema(low, 13)
ema13= ta.ema(close, 13)

ema55= ta.ema(close, 100)

[dip, dim, adx]= ta.dmi(5, 5)
adxema=ta.ema(adx, 3)
[macdl, sigl, histl]= ta.macd(close, 8, 13, 5)
obv= ta.obv
obvema= ta.ema(obv, 8)
obvema55= ta.ema(obv, 55)
mfigreen= MFIplus and volplus
adx_x_over= ta.crossover(adx, adxema) and adx >= 25
barssincemfi= ta.barssince(mfigreen)










longtrig2= adx > 30 and adx > adxema and barssincemfi <= 4 


shorttrig2= adx > 30 and adx > adxema and barssincemfi <= 4 


long= macdl > sigl and obv > obvema55 and ema8 > ema55   and psar < low and trendplus//and ema13l > ema55//and open > hull200 and close > hull200

short= macdl < sigl and obv < obvema55 and ema8 < ema55 and psar > high and trendminus//and ema13h < ema55//open < hull200 and close < hull200


//plot(hull200, color=color.red, linewidth=3)
plot(ema13h, color=color.gray, linewidth=3)
plot(ema13l, color=color.gray, linewidth=3)

plot(ema13, color=color.blue, linewidth=3)
//
plot(ema55, color=color.white, linewidth=3)
plot(psar, color=color.white, style=plot.style_circles)
plotshape(mfigreen, color=color.yellow, style=shape.flag, location=location.belowbar, size= size.tiny)
longCondition = long
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long, 1,  when= longtrig2)
    strategy.exit("exit long", "My Long Entry Id", profit= 100, loss= 75)
shortCondition = short
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short, 1,  when= shorttrig2)
    strategy.exit("exit short", "My Short Entry Id", profit= 100, loss= 75)