Strategi perdagangan kuantitatif berdasarkan anjakan Fibonacci


Tarikh penciptaan: 2023-11-21 15:57:11 Akhirnya diubah suai: 2023-11-21 15:57:11
Salin: 1 Bilangan klik: 661
1
fokus pada
1617
Pengikut

Strategi perdagangan kuantitatif berdasarkan anjakan Fibonacci

Gambaran keseluruhan

Strategi ini dicipta berdasarkan prinsip Fibonacci retracement. Strategi ini menggunakan teori Fibonacci untuk menentukan titik-titik penting di mana harga akan berbalik dan mengambil bahagian sebelum trend berbalik.

Prinsip

Strategi pertama mengira harga tertinggi dan terendah dalam 50 hari terakhir, untuk mendapatkan kenaikan harga. Kemudian, berdasarkan tiga tahap utama Fibonacci 0.236, 0.382, dan 0.618, untuk mengira kedudukan pengunduran harga yang sesuai. Apabila harga naik dan mendekati tahap 0.618 (titik perpecahan emas), buat lebih banyak; apabila harga turun dan mendekati tahap 0.236, tutup.

Strategi ini didasarkan pada teori pengunduran Fibonacci. Sejumlah nombor dalam urutan Fibonacci kira-kira sama dengan perkadaran dua nombor pertama, dan perkadaran ini mendekati 0.618. Teori pengunduran Fibonacci berpendapat bahawa apabila harga jatuh ke tahap yang hampir dengan 0.382 atau 0.618, kemungkinan besar akan berlaku pembalikan.

Kelebihan

Ini adalah strategi perdagangan yang lebih tipikal. Kelebihannya adalah bahawa ia dapat menentukan titik-titik penting untuk pembalikan harga lebih awal, dengan kemasukan yang tepat sebelum perubahan trend. Di samping itu, teori Fibonacci digunakan secara meluas dalam analisis teknikal, yang menjadikan strategi ini mempunyai asas akademik.

Risiko

Risiko utama strategi ini adalah bahawa harga terus beroperasi selepas memecahkan kedudukan penarikan balik Fibonacci, yang menyebabkan risiko peningkatan kerugian. Selain itu, tidak ada strategi perdagangan yang berdasarkan penilaian pengalaman yang dapat sepenuhnya mengelakkan kerugian yang disebabkan oleh keputusan yang salah.

Untuk mengawal risiko, anda boleh menetapkan kedudukan henti rugi, henti rugi keluar apabila kerugian meluas ke tahap tertentu. Selain itu, anda boleh menyesuaikan kedudukan Fibonacci mundur sesuai dengan keadaan pasaran, untuk menjadikan isyarat perdagangan lebih dipercayai.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Fibonacci retracement yang boleh disesuaikan secara dinamik, dengan parameter yang berbeza untuk tahap pasaran yang berbeza, menjadikan perdagangan lebih fleksibel;

  2. Penapisan digabungkan dengan petunjuk lain, seperti penilaian peningkatan jumlah transaksi, penggunaan garis rata, dan sebagainya, untuk menjadikan isyarat lebih dipercayai;

  3. Mengoptimumkan strategi henti kerugian untuk mengawal risiko dengan lebih baik melalui hentian yang dikesan, hentian dalam tempoh dan sebagainya;

  4. Uji kitaran data yang lebih lama untuk mengesahkan kestabilan strategi; sesuaikan tempoh pegangan untuk memaksimumkan keuntungan.

ringkaskan

Strategi ini berdasarkan teori Fibonacci untuk menentukan titik balik harga, dan merupakan strategi perdagangan tipikal. Dengan asas analisis teknikal tertentu, anda dapat menangkap peluang perubahan harga lebih awal. Tetapi ada risiko kerugian kebarangkalian tertentu.

Kod sumber strategi
/*backtest
start: 2023-10-21 00:00:00
end: 2023-11-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("斐波那契回撤交易策略", overlay=true, initial_capital=10000)

// 参数
length = input(50, title="斐波那契周期长度")
fib1 = input(0.236, title="斐波那契水平1")
fib2 = input(0.382, title="斐波那契水平2")
fib3 = input(0.618, title="斐波那契水平3")

// 计算斐波那契水平
highLevel = ta.highest(high, length)
lowLevel = ta.lowest(low, length)
range1 = highLevel - lowLevel
fibLevel1 = highLevel - range1 * fib1
fibLevel2 = highLevel - range1 * fib2
fibLevel3 = highLevel - range1 * fib3

// 条件
longCondition = ta.crossover(close, fibLevel3)
shortCondition = ta.crossunder(close, fibLevel1)

// 下单
strategy.entry("Buy", strategy.long, when=longCondition)
strategy.close("Buy", when=shortCondition)

// 图表标记
plot(fibLevel1, title="Fib 0.236", color=color.red)
plot(fibLevel2, title="Fib 0.382", color=color.orange)
plot(fibLevel3, title="Fib 0.618", color=color.green)