Strategi prediksi rute Mike D masa depan


Tanggal Pembuatan: 2023-12-13 17:21:44 Akhirnya memodifikasi: 2023-12-13 17:21:44
menyalin: 0 Jumlah klik: 439
1
fokus pada
1212
Pengikut

Strategi prediksi rute Mike D masa depan

Ringkasan

Gagasan inti dari strategi ini adalah untuk memprediksi tren harga dengan menganalisis pergerakan masa depan dari indikator McD. Strategi ini memanfaatkan sinyal perdagangan yang dihasilkan oleh persilangan antara rata-rata cepat dan rata-rata lambat indikator McD.

Prinsip Strategi

  1. Hitung perbedaan nilai indikator MACD (nilai historis) dan berdasarkan itu menilai kenaikan dan penurunan garis MACD dan garis sinyal.
  2. Dengan mengatur opsi bullish, nilai masa depan indikator McD dalam jangka waktu 4 jam digunakan untuk menilai pergerakan masa depan indikator McD untuk memprediksi tren harga.
  3. Jika MACD lebih besar dari 0 (merupakan pasar multihead) dan diperkirakan akan terus naik, maka Anda akan melakukan over; jika MACD lebih kecil dari 0 (merupakan pasar kosong) dan diperkirakan akan terus turun, maka Anda akan melakukan over.
  4. Strategi ini menggabungkan dua metode perdagangan, yaitu trend tracking dan trend reversal, dan pada saat yang sama menangkap tren, juga menangkap kapan tren akan berbalik.

Analisis Keunggulan Strategi

  1. Dengan menggunakan indikator McD untuk menilai kekuatan tren pasar, Anda dapat secara efektif menyaring getaran dan menangkap tren garis panjang.
  2. Dengan memprediksi pergerakan masa depan dari indikator McD, kita dapat menangkap titik-titik perubahan harga lebih awal dan meningkatkan kecerdasan strategi.
  3. Dengan menggabungkan trend tracking dan trend reversal trading, Anda dapat membalikkan posisi tepat waktu dalam proses trend tracking, dan mendapatkan keuntungan lebih besar.
  4. Parameter strategi dapat disesuaikan, dan pengguna dapat mengoptimalkannya sesuai dengan siklus waktu dan lingkungan pasar yang berbeda, meningkatkan stabilitas strategi.

Analisis Risiko Strategi

  1. Bergantung pada perkiraan pergerakan masa depan indikator McD, jika perkiraan tidak benar akan menyebabkan kegagalan perdagangan.
  2. Stop loss diperlukan untuk mengendalikan kerugian tunggal. Pengaturan stop loss yang tidak tepat juga dapat mempengaruhi efektivitas strategi.
  3. Indikator McD mungkin melewatkan kesempatan untuk membalikkan harga dengan cepat karena keterbelakangan. Ini perlu diperhatikan dalam kinerja strategi di bawah situasi yang sangat berfluktuasi.
  4. Ada beberapa hal yang perlu diperhatikan.

Arah optimasi strategi

  1. Untuk membuat prediksi dalam kombinasi dengan indikator lain, mengurangi ketergantungan pada indikator McD tunggal, meningkatkan akurasi prediksi.
  2. Dengan menggunakan algoritma pembelajaran mesin, model pelatihan dapat memprediksi pergerakan indikator MACD di masa depan.
  3. Pengaturan parameter optimasi untuk mencari kombinasi parameter yang optimal.
  4. Berbagai lingkungan pasar sesuai dengan konfigurasi parameter yang berbeda, dapat menambahkan parameter optimasi otomatis sistem yang beradaptasi.

Meringkaskan

Strategi ini memanfaatkan sepenuhnya keuntungan dari indikator McD untuk menilai tren, dan menambahkan analisis prediktif terhadap pergerakan indikator di masa depan, untuk menangkap titik-titik penting dalam menangkap tren. Dibandingkan dengan hanya mengikuti tren, strategi ini memiliki prospek yang lebih kuat dan ruang keuntungan yang lebih besar. Tentu saja, ada risiko tertentu yang perlu dioptimalkan dan disempurnakan lebih lanjut.

Kode Sumber Strategi
/*backtest
start: 2023-12-05 00:00:00
end: 2023-12-12 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// @version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © x11joe
strategy(title="MacD (Future Known or Unknown) Strategy", overlay=false, precision=2,commission_value=0.26, initial_capital=10000, currency=currency.USD, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

//OPTIONAL:: Allow only entries in the long or short position
allowOnlyLong = input(title="Allow position ONLY in LONG",type=input.bool, defval=false)
allowOnlyShort = input(title="Allow position ONLY in SHORT",type=input.bool, defval=false)


strategy.risk.allow_entry_in(allowOnlyLong ? strategy.direction.long : allowOnlyShort ? strategy.direction.short : strategy.direction.all) // There will be no short entries, only exits from long.

// Create MacD inputs
fastLen = input(title="MacD Fast Length", type=input.integer, defval=12)
slowLen = input(title="MacD Slow Length", type=input.integer, defval=26)
sigLen  = input(title="MacD Signal Length", type=input.integer, defval=9)

// Get MACD values
[macdLine, signalLine, _] = macd(close, fastLen, slowLen, sigLen)
hist = macdLine - signalLine

useFuture = input(title="Use The Future?",type=input.bool,defval=true)

macDState(resolutionType) =>
    hist_from_resolution = security(syminfo.tickerid, resolutionType, hist,barmerge.gaps_off, barmerge.lookahead_on)
    Green_IsUp = hist_from_resolution > hist_from_resolution[1] and hist_from_resolution > 0
    Green_IsDown = hist_from_resolution < hist_from_resolution[1] and hist_from_resolution > 0
    Red_IsDown = hist_from_resolution < hist_from_resolution[1] and hist_from_resolution <= 0
    Red_IsUp = hist_from_resolution > hist_from_resolution[1] and hist_from_resolution <= 0
    result=0
    if(Green_IsUp)
        result := 1
    if(Green_IsDown)
        result := 2
    if(Red_IsDown)
        result := 3
    if(Red_IsUp)
        result := 4
    result

macDStateNonFuture(resolutionType) =>
    hist_from_resolution = security(syminfo.tickerid, resolutionType, hist,barmerge.gaps_off, barmerge.lookahead_off)
    Green_IsUp = hist_from_resolution > hist_from_resolution[1] and hist_from_resolution > 0
    Green_IsDown = hist_from_resolution < hist_from_resolution[1] and hist_from_resolution > 0
    Red_IsDown = hist_from_resolution < hist_from_resolution[1] and hist_from_resolution <= 0
    Red_IsUp = hist_from_resolution > hist_from_resolution[1] and hist_from_resolution <= 0
    result=0
    if(Green_IsUp)
        result := 1
    if(Green_IsDown)
        result := 2
    if(Red_IsDown)
        result := 3
    if(Red_IsUp)
        result := 4
    result

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2019, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"
// === INPUT BACKTEST RANGE END ===

//Get FUTURE or NON FUTURE data
macDState240=useFuture ? macDState("240") : macDStateNonFuture("240") //1 is green up, 2 if green down, 3 is red, 4 is red up

//Fill in the GAPS
if(macDState240==0)
    macDState240:=macDState240[1]

//Plot Positions
plot(close,color= macDState240==1 ? color.green : macDState240==2 ? color.purple : macDState240==3 ? color.red : color.yellow,linewidth=4,style=plot.style_histogram,transp=50)

if(useFuture)
    strategy.entry("buy_1",long=true,when=window() and (macDState240==4 or macDState240==1))
    strategy.close("buy_1",when=window() and macDState240==3 and macDState240[1]==4)
    strategy.entry("sell_1",long=false,when=window() and macDState240==2)
else
    strategy.entry("buy_1",long=true,when=window() and (macDState240==4 or macDState240==1))//If we are in a red macD trending downwards MacD or in a MacD getting out of Red going upward.
    strategy.close("buy_1",when=window() and macDState240==3 and macDState240[1]==4)//If the state is going upwards from red but we are predicting back to red...
    strategy.entry("sell_1",long=false,when=window() and macDState240==2)//If we are predicting the uptrend to end soon.