
Strategi pembahagian emas yang mengukur kedudukan panjang adalah strategi perdagangan berayun. Ia menghasilkan isyarat berdasarkan titik pembahagian emas pada harga tertinggi dan terendah dalam 21 hari yang lalu, mempunyai mekanisme pembahagian, hanya berbilang kepala, dan mempunyai ciri-ciri memegang kedudukan panjang.
Strategi ini mula-mula mengira harga tertinggi (high21) dan harga terendah (low21) dalam 21 hari yang lalu, dan kemudian mengira perbezaan antara keduanya. Isyarat perdagangan adalah: buat lebih apabila harga rendah semasa lebih tinggi daripada harga rendah 21 + diff * 0.382, dan apabila harga penutupan K baris sebelumnya lebih tinggi daripada harga pembukaan K baris sebelumnya.
Garis pemisah emas digunakan sebagai petunjuk teknikal yang penting di sini kerana garis pemisah emas sesuai dengan titik sokongan atau rintangan yang umum di pasaran. 0.382 dan 0.236 sering dipantau sebagai titik regangan atau rebound, yang boleh dikatakan sebagai salah satu angka paling ajaib di alam semula jadi.
Strategi ini mempunyai kelebihan:
Guna teori pembahagian emas untuk membimbing perdagangan, yang merupakan kaedah analisis teknikal yang lebih matang.
Hanya dengan melakukan lebih banyak, anda dapat mengurangkan risiko sistem.
Menggunakan mekanisme pengesanan trend untuk menentukan kemasukan melalui kelembapan ke atas.
Terdapat garis hentian yang jelas untuk mengawal risiko.
Parameter pengesanan boleh disesuaikan untuk menguji keberkesanan dalam keadaan pasaran yang berbeza.
Strategi ini mempunyai beberapa risiko:
Bergantung kepada data sejarah, ia mungkin tidak sensitif terhadap perubahan struktur pasaran.
Garis Hentian Kerosakan adalah lebih dekat, dan mungkin akan diguncang oleh GAP semalam.
Jika terdapat perubahan yang ketara dalam pasaran, kitaran pengesanan semula yang tidak tepat boleh menyebabkan isyarat palsu.
Kos slippage yang wujud dalam perdagangan kuantitatif juga akan memberi kesan kepada keuntungan.
Risiko ini boleh dikurangkan dengan cara seperti menyesuaikan parameter kitaran pengukuran, mengoptimumkan kedudukan hentian, dan mempertimbangkan kos titik geser.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Parameter pengoptimuman automatik berdasarkan algoritma pembelajaran mesin, menjadikan parameter kitaran pengulangan lebih sesuai dengan keadaan pasaran semasa.
Berkongsi dengan derivatif kewangan seperti indeks saham dan niaga hadapan, menggunakan leverage untuk memperbesar operasi.
Tambah model untuk menangani kejadian yang tidak dijangka, seperti mekanisme pengenalan untuk menambah lubang lompat udara.
Mengoptimumkan strategi berhenti kerugian dengan menetapkan titik hentian dinamik mengikut turun naik pasaran.
Secara keseluruhannya, ini adalah strategi berbilang garis panjang yang menggunakan prinsip garis pemisah emas, dengan mekanisme masuk yang jelas dan pemikiran berhenti. Ia boleh dioptimumkan sebagai strategi perdagangan kuantitatif yang boleh dipercayai melalui penyesuaian parameter, pengoptimuman model, dan aplikasi gabungan.
/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
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/
// © omkarkondhekar
//@version=4
strategy("GRBLong", overlay=true)
highInput = input(title = "High Days", type = input.integer, defval = 21, minval = 11)
lowInput = input(title = "Low Days", type = input.integer, defval = 21, minval = 5)
// Configure backtest start date with inputs
startDate = input(title="Start Date", type=input.integer,
defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
defval=2019, minval=1800, maxval=2100)
// See if this bar's time happened on/after start date
afterStartDate = (time >= timestamp(syminfo.timezone,
startYear, startMonth, startDate, 0, 0))
high21 = highest(high, highInput)
low21 = lowest(low, lowInput)
diff = high21 - low21
longEntrySignal = low > low21 + (diff * 0.382) and close[1] > open[1]
strategy.entry("Long", strategy.long, limit = low, when = longEntrySignal and afterStartDate)
strategy.exit("Long Exit", "Long", stop = low21 + (diff * 0.236))
plot(low21 + (diff * 0.382), color= color.green)
plot(low21 + (diff * 0.236), color = color.red)