Strategi Scalping Berdasarkan Kecairan dan Trend Pasaran

Penulis:ChaoZhang, Tarikh: 2024-01-30 15:36:33
Tag:

img

Ringkasan

Strategi ini secara menyeluruh mempertimbangkan kecairan pasaran, trend dan penunjuk teknikal untuk melaksanakan strategi perdagangan jangka pendek. Strategi ini boleh mengikuti trend dan membuka kedudukan apabila kecairan pasaran agak baik, dengan itu memperoleh keuntungan jangka pendek.

Prinsip Strategi

  1. Prinsip asas: Strategi ini terutamanya mempertimbangkan kecairan pasaran dan trend. Melakukan operasi jangka pendek apabila kecairan pasaran baik dan trend muncul.

  2. Penunjuk Kecairan Pasaran: Strategi ini terutamanya menggunakan MFI dan perubahan dalam jumlah dagangan sebagai penunjuk kecairan pasaran.

  3. Penghakiman Trend: Strategi ini menggabungkan ADX, EMA dan penunjuk lain untuk menentukan trend. Apabila ADX di atas 30 dan EMA, ia bermakna bahawa trend adalah agak kuat. Pada masa yang sama, jika salib emas EMA cepat dan perlahan berlaku, trend juga boleh disahkan.

  4. Syarat pembukaan: Apabila kecairan pasaran baik dan trend muncul pada masa yang sama, jika syarat tambahan lain (seperti penilaian kedudukan SAR, dll.) juga dipenuhi, isyarat pembukaan dihasilkan.

  5. Tetapan Ambil Keuntungan dan Hentikan Kerugian: Strategi ini menetapkan ambil keuntungan tetap (10 mata) dan hentikan kerugian (7.5 mata) untuk setiap perdagangan.

Analisis Kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Menggunakan kecairan pasaran untuk menentukan masa: Berdasarkan MFI dan jumlah dagangan untuk menentukan kecairan pasaran, elakkan membuka kedudukan apabila kecairan pasaran lemah.

  2. Ikuti trend untuk keuntungan: Gabungkan EMA dan penunjuk lain untuk menentukan arah trend, membantu mendapatkan keuntungan trend.

  3. Kawalan risiko yang baik: Tetapkan keuntungan tetap dan hentikan kerugian untuk mengawal kerugian maksimum setiap perdagangan dengan berkesan.

  4. Kekerapan perdagangan yang agak tinggi: Sebagai strategi jangka pendek, kekerapan perdagangan akan agak tinggi, sesuai untuk mengumpul keuntungan langkah demi langkah.

  5. Ruang yang besar untuk pengoptimuman parameter: Sebagai contoh, parameter MA, tetapan stop loss dan mengambil keuntungan boleh dioptimumkan untuk meningkatkan prestasi strategi.

Analisis Risiko

Strategi ini juga mempunyai beberapa risiko:

  1. Risiko kawalan seluncur perdagangan sebenar: Stop loss teori dan mengambil keuntungan tidak dapat mencerminkan sepenuhnya keadaan perdagangan sebenar.

  2. Risiko salah menilai trend: Strategi ini sangat bergantung kepada beberapa penunjuk untuk menentukan trend, tetapi masih ada kemungkinan kegagalan.

  3. Risiko perdagangan berlebihan: Sebagai strategi jangka pendek, tetapan parameter yang tidak betul boleh menyebabkan perdagangan berlebihan.

  4. Risiko anomali pasaran: Dalam kes-kes yang melampau kecairan pasaran yang sangat lemah atau perubahan dasar, strategi ini mungkin tidak berfungsi dengan baik.

Sesuai, kita boleh mengurangkan risiko dari aspek berikut:

  1. Relaksasi julat stop loss dengan sewajarnya untuk mengambil kira faktor seluncur sebenar.

  2. Mengoptimumkan logik penilaian trend dan memperkenalkan lebih banyak penunjuk untuk mengurangkan kemungkinan kegagalan.

  3. Tambah had frekuensi kedudukan terbuka untuk mengelakkan perdagangan berlebihan.

  4. Sesuaikan parameter secara fleksibel berdasarkan keadaan pasaran untuk menangani situasi yang tidak normal.

Arah pengoptimuman

Arah pengoptimuman strategi ini termasuk:

  1. Memperkenalkan lebih banyak penunjuk untuk mengoptimumkan penilaian trend dan membuat penilaian lebih tepat.

  2. Mengoptimumkan parameter kitaran MA untuk mencari kombinasi parameter terbaik.

  3. Meningkatkan strategi stop loss dan mengambil keuntungan, seperti menggunakan stop loss bergerak, stop loss selang dan sebagainya.

  4. Tambah sekatan pada bilangan dagangan untuk mengelakkan perdagangan frekuensi yang terlalu tinggi.

  5. Cari penunjuk kecairan pasaran yang lebih baik untuk menentukan masa pembukaan kedudukan.

  6. Tambah fungsi pengoptimuman parameter untuk mengoptimumkan parameter secara automatik untuk mencari kombinasi parameter yang optimum.

Ringkasan

Strategi ini secara komprehensif mempertimbangkan faktor-faktor seperti kecairan pasaran dan trend. Ia menangkap keuntungan dalam jangka pendek. Berbanding dengan strategi trend tradisional, inovasi terbesar strategi ini adalah pengenalan penunjuk kecairan pasaran untuk mengelakkan membuka kedudukan apabila kecairan pasaran lemah. Selaras, strategi ini juga mempunyai beberapa risiko kawalan dunia nyata dan risiko salah menilai trend. Kita boleh terus meningkatkan strategi ini dengan memperkenalkan lebih banyak penunjuk, mengoptimumkan parameter, dan pengurusan risiko.


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


Lebih lanjut