
Strategi perdagangan ini adalah strategi pengesanan trend berdasarkan sistem purata bergerak dan persilangan rata-rata rata-rata. Ia menggunakan persilangan rata-rata bergerak cepat dan rata-rata bergerak perlahan pada kitaran yang berbeza sebagai isyarat untuk melakukan banyak shorting.
Strategi ini menggunakan purata bergerak sederhana dengan kitaran cepat seperti 60 hari dan purata bergerak sederhana dengan kitaran perlahan seperti 200 hari. Purata bergerak cepat bertindak balas lebih cepat terhadap perubahan harga, mencerminkan trend harga terkini; purata bergerak perlahan bertindak balas lebih lambat terhadap perubahan harga, mencerminkan trend jangka panjang.
Apabila garis purata jangka pendek melintasi garis purata jangka panjang dari bawah, ini menunjukkan bahawa harga jangka pendek mula naik, memasuki pasaran berbilang, yang mana lebih banyak. Apabila garis purata jangka pendek melintasi garis purata jangka panjang dari atas ke bawah, ini menunjukkan bahawa harga jangka pendek mula turun, memasuki pasaran kosong, yang mana kosong.
Strategi ini menggunakan prinsip persilangan garis rata untuk menentukan arah trend. Apabila harga kitaran pendek meningkat dengan cepat, rata-rata kitaran pendek akan mendorong rata-rata kitaran panjang ke atas, dan melintasinya dari bawah. Ini menunjukkan bahawa pasaran memasuki trend naik, dan lebih banyak harus dilakukan. Sebaliknya, apabila harga kitaran pendek menurun dengan cepat, rata-rata kitaran pendek akan menarik turun rata-rata kitaran panjang, dan melintasinya dari atas, yang menunjukkan bahawa pasaran memasuki trend turun, dan harus dilakukan.
Ia menangkap titik-titik perubahan dalam trend harga melalui persimpangan antara garis laju rata-rata dan garis laju rata-rata, dan menyesuaikan kedudukan kosong dengan sewajarnya. Ini adalah prinsip utama strategi ini untuk menilai trend dan menghasilkan isyarat perdagangan.
Anda boleh menyesuaikan frekuensi turun naik untuk varieti yang berbeza dengan menyesuaikan parameter kitaran rata-rata bergerak; memperbaiki strategi berhenti-rugi dan berhenti, menggunakan indikator yang lebih kompleks untuk mengurangkan isyarat yang salah; menambah kaedah seperti penapisan jumlah dagangan untuk mengoptimumkan strategi dan meningkatkan kestabilan strategi.
Strategi ini boleh dioptimumkan dengan cara berikut:
Mengoptimumkan parameter kitaran laju dan perlahan purata bergerak untuk varieti yang berbeza frekuensi gelombang. Anda boleh menguji lebih banyak kombinasi untuk mencari parameter terbaik.
Untuk mengurangkan isyarat yang salah, ubah syarat kemasukan ke lapangan dan penapis lebih banyak indikator, seperti peningkatan jumlah dagangan.
Peningkatan strategi penangguhan kerugian, seperti penangguhan pengesanan atau penangguhan dinamik, untuk menjadikan keuntungan lebih cekap.
Mengambil kira kos urus niaga seperti yuran, dan menambah modul penilaian kos untuk membuat simulasi lebih realistik.
Reka bentuk alam semesta parameter untuk mencari kombinasi parameter terbaik untuk ciri-ciri pelbagai jenis.
Menambah pengenalan ciri-ciri tempatan, membantu menilai titik perubahan trend, meningkatkan pengendalian masa untuk membuka dan menutup kedudukan.
Dengan mengoptimumkan strategi sistem, anda boleh meningkatkan kadar keuntungan dan kestabilan dengan ketara dan mengurangkan penarikan balik.
Strategi dagangan ini berdasarkan perubahan trend harga yang ditentukan oleh persilangan rata-rata, dan merupakan strategi pengesanan trend yang tipikal. Ia menggunakan persilangan rata-rata berkala yang berbeza sebagai isyarat penyingkiran, menentukan arah trend melalui kombinasi rata-rata cepat dan rata-rata lambat, dan menangkap trend yang berkesan. Strategi ini stabil, boleh dipercayai, mudah difahami dan dilaksanakan, dapat disesuaikan dengan kebanyakan jenis dengan pengoptimuman parameter, dan merupakan jenis dasar strategi perdagangan kuantitatif.
/*backtest
start: 2024-01-04 00:00:00
end: 2024-01-11 00:00:00
period: 10m
basePeriod: 1m
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/
// © thebearfib
//
//@version=5
//
strategy("x-over 150d_200d_sma - Free", overlay = true)
repaint = input.bool(defval = false, title = "[RePaint] Uncheck to see real time results") //when you deselect it - it shows what would have happened in real time while trading the system
srcmc = request.security(syminfo.tickerid, 'D', open, lookahead= repaint ? barmerge.lookahead_on : barmerge.lookahead_off, gaps=barmerge.gaps_off)
fast_length = input(title="Fast Length", defval=60)
slow_length = input(title="Slow Length", defval=275)
_fast = ta.sma(srcmc, fast_length)
_slow = ta.sma(srcmc, slow_length)
plot(_fast,
title="Fast SMA",
color=color.red,
linewidth = 1)
plot(_slow,
title="Slow SMA",
color=color.white,
linewidth = 3)
//
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
// ————————————————————————————————— Calculating —————————————————————————————————————————————————————————————————————————
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
//
longProfitPerc = input.float(title="Long Take Profit (%)", minval=0.01, step=1.0, defval=42) * .01
longStopPerc = input.float(title="Long Stop (%)", minval=0.01, step=1.0, defval=13) * .01
//
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
// ————————————————————————————————— Stop Conditions ————————————————————————————————————————————————————————————————————
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
longExitPrice = strategy.opentrades > 0 ? strategy.position_avg_price * (1 + longProfitPerc) : srcmc * (1 + longProfitPerc)
longStopPrice = strategy.opentrades > 0 ? strategy.position_avg_price * (1 - longStopPerc) : srcmc * (1 - longStopPerc)
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
// ————————————————————————————————— Long Conditions ————————————————————————————————————————————————————————————————————
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
longCondition = srcmc > _slow and ta.crossover(_fast, _slow)
closeCondition = ta.crossover(srcmc, _slow)
if (longCondition)
strategy.entry("Entry (long)", strategy.long, comment="→ 𝗟𝗴 𝗘𝗻𝘁𝗿𝘆")
if (closeCondition)
strategy.close("Entry (long)", comment=" 𝗟𝗴 𝗘𝘅𝗶𝘁 ←")
if (strategy.position_size > 0)
strategy.exit(id="XL", limit=longExitPrice, stop = longStopPrice, comment_profit = "Take Profit", comment_loss = "Stop Loss")
//
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
// ————————————————————————————————— Never the End Just the beginning —————————————————————————————————————————————————
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
//