Strategi Penarikan Dua Tahap

Penulis:ChaoZhang, Tarikh: 2023-11-02 15:58:29
Tag:

img

Ringkasan

Strategi ini membuat keputusan dagangan berdasarkan perubahan peratusan daripada harga pembukaan 5 minit pada pukul 2:00 pagi setiap hari, menggunakan penembusan dua peringkat untuk menetapkan keadaan pencetus yang berbeza, bertujuan untuk menangkap pergerakan harga yang signifikan di pasaran yang berbeza.

Logika Strategi

Strategi ini mengira perubahan peratusan lilin 5 minit semasa berdasarkan harga pembukaannya berbanding harga pembukaan lilin 5 minit pada pukul 2:00 pagi setiap hari. Apabila perubahan peratusan melebihi ambang pecah peringkat pertama, keputusan membeli atau menjual yang sesuai dibuat. Stop loss dan mengambil keuntungan juga ditetapkan untuk menutup kedudukan.

Jika stop loss diaktifkan, apabila perubahan peratusan terus berkembang dan melebihi keadaan pencetus peringkat kedua, pesanan terdahulu akan dibatalkan dan pesanan beli atau jual baru menggunakan ambang peringkat kedua akan diletakkan, dengan stop loss dan mengambil keuntungan terus dikesan.

Persediaan pecah dua peringkat menapis beberapa bunyi semasa pasaran berkisar, hanya membuat perdagangan pada pergerakan harga yang lebih ketara.

Kelebihan

  • Penembusan dua peringkat dengan keadaan pencetus yang berbeza berkesan menapis bunyi bising di pasaran yang berbeza, hanya berdagang pada perubahan harga yang lebih besar
  • Mengaktifkan peringkat kedua mengelakkan stop loss yang dicetuskan terlalu kerap
  • Mengira perubahan peratusan dari harga pembukaan menggunakan trend baru selepas pasaran dibuka setiap hari
  • Logik strategi yang mudah dan jelas, mudah difahami dan dilaksanakan

Risiko dan Pengurangan

  • Volatiliti yang tinggi boleh mencetuskan pembukaan dan penutupan kedudukan yang kerap, meningkatkan kos dagangan
  • Menetapkan tahap kedua terlalu tinggi boleh kehilangan peluang perdagangan yang baik
  • Menetapkan tahap yang terlalu rendah boleh mencetuskan perdagangan tambahan yang tidak perlu

Pengurangan:

  • Mengoptimumkan parameter untuk mencari keseimbangan yang terbaik
  • Batasan jumlah dagangan maksimum setiap hari untuk mengelakkan perdagangan berlebihan
  • Gunakan parameter yang lebih agresif semasa trend yang jelas

Peluang Peningkatan

  • Mengoptimumkan nilai untuk kedua-dua peringkat pecah untuk mencari kombinasi terbaik
  • Penyelidikan parameter optimum untuk produk dan tempoh masa yang berbeza
  • Masukkan penunjuk trend untuk menggunakan tetapan yang lebih agresif semasa trend yang kuat
  • Batasi dagangan harian maksimum untuk mengelakkan perdagangan berlebihan
  • Mengoptimumkan stop loss dan mengambil mata keuntungan untuk risiko-balasan yang lebih baik

Ringkasan

Strategi ini menangkap lonjakan harga menggunakan penembusan dua peringkat di pasaran yang berbeza, menapis bunyi bising dengan berkesan. Konsepnya mudah dan jelas, dan dapat mencapai hasil yang baik melalui pengoptimuman parameter. Langkah seterusnya adalah untuk menggabungkan dengan penunjuk trend untuk memaksimumkan prestasi semasa pasaran yang sedang tren. Secara keseluruhan ini adalah strategi baru yang menggunakan prinsip penembusan dengan baik, dan dapat mencapai hasil yang kukuh selepas penyesuaian.


/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Auto Entry Bot", overlay=true)

// Define input for the stop loss and take profit levels
stopLossPips = input.int(200, title="Stop Loss Pips", minval=1)
takeProfitPips = input.int(400, title="Take Profit Pips", minval=1)

// Calculate the percentage change from the 5-minute opening candle at 2:00 AM
var float openPrice = na
if (hour == 2 and minute == 0)
    openPrice := open
percentageChange = (close - openPrice) / openPrice * 100

// Track the cumulative percentage change
var float cumulativeChange = 0

// Define input for the percentage change trigger
triggerPercentage1 = input.float(0.25, title="Percentage Change Trigger (%)", minval=0.01, step=0.01)
triggerPercentage2 = input.float(0.35, title="Additional Trigger Percentage (%)", minval=0.01, step=0.01)

// Check for price change trigger
if (percentageChange >= triggerPercentage1)
    // Sell signal
    strategy.entry("Sell", strategy.short)
    strategy.exit("ExitSell", loss=stopLossPips, profit=takeProfitPips)
    cumulativeChange := 0  // Reset cumulative change after a trade

if (percentageChange <= -triggerPercentage1)
    // Buy signal
    strategy.entry("Buy", strategy.long)
    strategy.exit("ExitBuy", loss=stopLossPips, profit=takeProfitPips)
    cumulativeChange := 0  // Reset cumulative change after a trade

// If the price keeps hitting stop loss, activate the second trigger
if (strategy.position_size < 0 and percentageChange <= -triggerPercentage2)
    strategy.cancel("Sell")  // Cancel previous sell order
    strategy.entry("Sell2", strategy.short)
    strategy.exit("ExitSell2", loss=stopLossPips, profit=takeProfitPips)
    cumulativeChange := 0  // Reset cumulative change after a trade

if (strategy.position_size > 0 and percentageChange >= triggerPercentage2)
    strategy.cancel("Buy")  // Cancel previous buy order
    strategy.entry("Buy2", strategy.long)
    strategy.exit("ExitBuy2", loss=stopLossPips, profit=takeProfitPips)
    cumulativeChange := 0  // Reset cumulative change after a trade


Lebih lanjut