
Strategi perdagangan terobosan bertahap mencari peluang membeli dan menjual yang berpotensi dengan mengenal pasti tahap pengumpulan dan pembahagian pasaran, menggunakan prinsip analisis vektor, ditambah dengan penghakiman bentuk lompat dan bentuk terbalik.
Menggunakan garis purata yang berlainan panjang untuk mengenal pasti tahap pengumpulan dan pembahagian. Apabila garis purata yang berlainan panjang di atas harga penutupan adalah AccumulationLength, maka ia dianggap sebagai tahap pengumpulan; apabila garis purata yang berlainan panjang di bawah harga penutupan adalah DistributionLength, maka ia dianggap sebagai tahap pembahagian.
Garis rata yang berlainan panjang digunakan untuk mengenal pasti bentuk lompat dan bentuk terbalik. Apabila panjangnya adalah SpringLength pada titik rendah, ia dianggap sebagai bentuk lompat; apabila panjangnya adalah UpthrustLength pada titik tinggi, ia dianggap sebagai bentuk terbalik.
Pada tahap penjumlahan, lakukan lebih banyak apabila melihat bentuk lompat; pada tahap peruntukan, buat kosong apabila melihat bentuk terbalik.
Tetapkan tahap hentian. Hentian jangka panjang adalah harga penutupan ((1 - peratus hentian), hentian jangka pendek adalah harga penutupan ((1 + peratus hentian)).
Di dalam carta, tanda-tanda tahap gresif, tahap pengagihan, bentuk lompat dan bentuk terbalik, memudahkan pengenalan bentuk.
Menggunakan kaedah analisis vektor untuk mengenal pasti tahap pengumpulan dan pengagihan momentum pasaran dapat meningkatkan kebolehpercayaan isyarat perdagangan.
Gabungan bentuk lompat dan bentuk terbalik untuk berdagang, dapat mengesahkan isyarat perdagangan lebih lanjut.
Tetapan stop loss boleh mengawal kerugian tunggal dengan berkesan.
Dengan membuat tanda pada carta, anda dapat melihat dengan jelas keseluruhan proses pembentukan arus.
Parameter strategi ini boleh disesuaikan dan dapat dioptimumkan untuk pasaran dan kitaran perdagangan yang berbeza.
Perpaduan boleh menyebabkan isyarat garis rata menghantar isyarat yang salah.
Bentuk lompat busur dan bentuk terbalik mungkin tidak berfungsi.
Stop loss boleh ditembusi dan menyebabkan kerugian yang lebih besar.
Parameter perlu disesuaikan untuk pasaran yang berbeza, jika tidak sesuai mungkin menyebabkan isyarat perdagangan yang salah.
Sistem perdagangan automatik mungkin tidak cukup fleksibel dan memerlukan pemantauan manual.
Kombinasi optimum parameter yang boleh diuji dalam tempoh yang berbeza di pasaran yang berbeza.
Anda boleh mempertimbangkan untuk menambah faktor jumlah transaksi untuk mengesahkan isyarat transaksi.
Anda boleh menetapkan Stop Loss Dinamik, yang menyesuaikan tahap Stop Loss mengikut turun naik pasaran.
Anda boleh mempertimbangkan untuk memasukkan faktor asas untuk mengelakkan transaksi yang salah pada masa penting.
Parameter pengoptimuman dinamik boleh dimasukkan ke dalam algoritma pembelajaran mesin.
Strategi perdagangan terobosan berturut-turut mengintegrasikan pelbagai kaedah analisis teknikal seperti analisis vektor, penunjuk rata-rata, pengenalan bentuk, yang dapat mengenal pasti kekuatan pasaran dengan berkesan dan menghasilkan isyarat perdagangan. Strategi ini mempunyai kelebihan seperti isyarat perdagangan yang boleh dipercayai, risiko yang boleh dikawal, dan paparan visual yang jelas. Tetapi sebagai sistem perdagangan mekanikal, masa kembali dan kesesuaian parameternya masih perlu ditingkatkan. Arah pengoptimuman masa depan adalah dalam pengoptimuman pakej parameter, pengesahan jumlah, pengoptimuman henti kerugian, dan faktor asas penting.
/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
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/
// © deperp
//@version=5
strategy("Wyckoff Range Strategy", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent)
// Input Variables
AccumulationLength = input(32, "Accumulation")
DistributionLength = input(35, "Distribution")
SpringLength = input(10, "Spring")
UpthrustLength = input(20, "Upthrust")
stopPercentage = input(10, "Stop Percentage")
// Accumulation Phase
isAccumulation = ta.crossover(close, ta.sma(close, AccumulationLength))
// Distribution Phase
isDistribution = ta.crossunder(close, ta.sma(close, DistributionLength))
// Spring and Upthrust
isSpring = ta.crossover(low, ta.sma(low, SpringLength))
isUpthrust = ta.crossunder(high, ta.sma(high, UpthrustLength))
// Strategy Conditions
enterLong = isAccumulation and isSpring
exitLong = isDistribution and isUpthrust
enterShort = isDistribution and isUpthrust
exitShort = isAccumulation and isSpring
// Entry and Exit Conditions
if (enterLong)
strategy.entry("Long", strategy.long)
if (exitLong)
strategy.close("Long")
if (enterShort)
strategy.entry("Short", strategy.short)
if (exitShort)
strategy.close("Short")
// Stop Loss
stopLossLevelLong = close * (1 - stopPercentage / 100)
stopLossLevelShort = close * (1 + stopPercentage / 100)
strategy.exit("Stop Loss Long", "Long", stop=stopLossLevelLong)
strategy.exit("Stop Loss Short", "Short", stop=stopLossLevelShort)
// Plotting Wyckoff Schematics
plotshape(isAccumulation, title="Accumulation Phase", location=location.belowbar, color=color.green, style=shape.labelup, text="Accumulation")
plotshape(isDistribution, title="Distribution Phase", location=location.abovebar, color=color.red, style=shape.labeldown, text="Distribution")
plotshape(isSpring, title="Spring", location=location.belowbar, color=color.blue, style=shape.triangleup)
plotshape(isUpthrust, title="Upthrust", location=location.abovebar, color=color.orange, style=shape.triangledown)