Strategi dukungan dan perlawanan dinamis berdasarkan data historis


Tanggal Pembuatan: 2023-11-28 17:00:13 Akhirnya memodifikasi: 2023-11-28 17:04:16
menyalin: 4 Jumlah klik: 648
1
fokus pada
1619
Pengikut

Strategi dukungan dan perlawanan dinamis berdasarkan data historis

Ringkasan

Strategi ini didasarkan pada perhitungan dinamis dari harga tinggi, rendah, dan harga penutupan historis, didukung oleh titik-titik resistensi, dan menghasilkan sinyal perdagangan. Strategi ini cocok untuk memegang posisi panjang dan menengah, yang dapat memanfaatkan resistensi dukungan di pasar untuk mendapatkan keuntungan.

Prinsip Strategi

  1. Hitung rata-rata harga tertinggi, harga terendah, dan harga penutupan periode sebelumnya, untuk mendapatkan titik acuan PP.

  2. Hitung 3 garis penyangga: S1 = 2PP - harga tertinggi; S2 = PP - (R1-S1); S3 = harga terendah - 2(Harga tertinggi - PP)

  3. Hitung 3 garis resistansi: R1 = 2PP - harga terendah; R2 = PP + (R1-S1); R3 = harga tertinggi + 2(PP - Harga Minimal)

  4. Ketika harga naik melewati resistance line, lakukan lebih banyak; ketika harga turun melewati support line, lakukan lebih sedikit.

Analisis Keunggulan

  1. Dinamika perubahan resistance level support berdasarkan perhitungan data historis, mampu menangkap struktur pasar secara real time.

  2. Set resistensi dukungan multi-level, yang memungkinkan pengelolaan risiko yang optimal.

  3. Sinyal perdagangan yang sederhana dan intuitif serta metode stop loss.

Analisis risiko

  1. Dalam situasi yang sangat fluktuatif, harga acuan yang diberikan oleh data historis mungkin tidak berlaku.

  2. Pertukaran antara posisi kosong harus mempertimbangkan biaya transaksi.

  3. Perlu memastikan kualitas data, untuk menghindari kesalahan perhitungan.

Arah optimasi

  1. Anda dapat mempertimbangkan untuk memasukkan lebih banyak referensi data historis, seperti garis 100 hari, dll.

  2. Mengoptimalkan manajemen posisi, seperti memodifikasi rasio posisi berdasarkan fluktuasi.

  3. Menambahkan strategi stop loss, seperti pelacakan stop loss atau pengelolaan dana stop loss.

Meringkaskan

Strategi ini didasarkan pada konsep dukungan dan resistensi sejarah, memberikan harga acuan multi-tingkat. Strategi ini sederhana dan langsung, cocok untuk memegang posisi menengah dan panjang untuk mendapatkan keuntungan. Strategi ini juga perlu memperhatikan risiko pasar yang sangat berfluktuasi, dan pengendalian biaya perdagangan. Dengan pengoptimalan lebih lanjut, strategi dapat tetap stabil dalam lingkungan yang kompleks.

Kode Sumber Strategi
/*backtest
start: 2023-10-28 00:00:00
end: 2023-11-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 09/06/2020
// Pivot points simply took the high, low, and closing price from the previous period and 
// divided by 3 to find the pivot. From this pivot, traders would then base their 
// calculations for three support, and three resistance levels. The calculation for the most 
// basic flavor of pivot points, known as ‘floor-trader pivots’, along with their support and 
// resistance levels.
//
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Pivot Point V2", shorttitle="Pivot Point V2", overlay = true)
res = input(title="Resolution", type=input.resolution, defval="D")
SellFrom = input(title="Sell from ", defval="R1", options=["R1", "R2", "R3"])
BuyFrom = input(title="Buy from ", defval="S1", options=["S1", "S2", "S3"])
width = input(1, minval=1)
reverse = input(false, title="Trade reverse")
xHigh  = security(syminfo.tickerid,res, high)
xLow   = security(syminfo.tickerid,res, low)
xClose = security(syminfo.tickerid,res, close)
vPP = (xHigh+xLow+xClose) / 3
vS1 = 2*vPP - xHigh 
vR1 = 2*vPP-xLow
vS2 = vPP - (vR1 - vS1)
vR2 = vPP + (vR1 - vS1)
vS3 = xLow - 2 * (xHigh - vPP)
vR3 = xHigh + 2 * (vPP - xLow) 
pos = 0
S = iff(BuyFrom == "S1", vS1, 
      iff(BuyFrom == "S2", vS2,
         iff(BuyFrom == "S3", vS3,0)))
B = iff(SellFrom == "R1", vR1, 
      iff(SellFrom == "R2", vR2,
         iff(SellFrom == "R3", vR3,0)))
pos := iff(close > B, 1,
       iff(close < S, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )