Trend MA pelbagai jangka masa Mengikut Strategi

Penulis:ChaoZhang, Tarikh: 2024-01-04 17:43:17
Tag:

img

Ringkasan

Strategi ini berdasarkan crossover purata bergerak pelbagai jangka masa untuk mengesan trend jangka menengah dan panjang. Ia menggunakan kedudukan piramid untuk mengejar kenaikan dan mencapai pertumbuhan modal eksponensial. Kelebihan terbesar adalah dapat menangkap trend jangka menengah dan entri piramid dalam kumpulan dan peringkat untuk mendapatkan pulangan yang berlebihan.

Logika Strategi

  1. Membina pelbagai jangka masa berdasarkan MA 9 hari, MA 100 hari dan MA 200 hari.
  2. Menghasilkan isyarat beli apabila MA tempoh pendek melintasi di atas MA tempoh yang lebih lama.
  3. Ambil 7 entri piramid bertahap. Semak kedudukan sedia ada sebelum menambah entri baru, hentikan piramid apabila 6 kedudukan sudah dibuka.
  4. Tetapkan tetap 3% TP/SL untuk kawalan risiko.

Di atas adalah logik perdagangan asas.

Kelebihan

  1. Menangkap dengan berkesan trend jangka menengah dan panjang dan menikmati pertumbuhan eksponensial.
  2. Multi-timeframe MA crossover mengelakkan bunyi jangka pendek.
  3. TP/SL tetap mengawal risiko untuk setiap kedudukan.
  4. Masukan piramid dalam kumpulan untuk mendapatkan pulangan yang berlebihan.

Risiko & Penyelesaian

  1. Risiko kerugian besar jika gagal untuk memotong kerugian dalam pembalikan trend.
  2. Risiko panggilan margin jika kerugian melebihi toleransi.
  3. Risiko kerugian lebih daripada 700% jika trend menurun yang kuat.

Arahan pengoptimuman

  1. Uji gabungan MA yang berbeza untuk mencari parameter optimum.
  2. Mengoptimumkan tahap piramid kuantiti. Uji untuk mencari nombor terbaik.
  3. Uji tetapan TP / SL tetap.

Ringkasan

Strategi ini sangat sesuai untuk menangkap trend jangka menengah dan panjang. Masukan piramid dalam batch boleh mencapai nisbah risiko-balasan yang sangat tinggi. Terdapat juga beberapa risiko operasi, yang harus dikawal dengan penyesuaian parameter. Secara keseluruhan ini adalah strategi yang menjanjikan yang bernilai pengesahan perdagangan langsung dan pengoptimuman lanjut.


/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 1m
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/
    // © Coinrule
    
//@version=3
strategy(shorttitle='Pyramiding Entry On Early Trends',title='Pyramiding Entry On Early Trends (by Coinrule)', overlay=false, pyramiding= 7, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 20, commission_type=strategy.commission.percent, commission_value=0.1)
    
    
//Backtest dates
fromMonth = input(defval = 1,  title = "From Month")     
fromDay   = input(defval = 10,    title = "From Day")       
fromYear  = input(defval = 2020, title = "From Year")       
thruMonth = input(defval = 1,    title = "Thru Month")     
thruDay   = input(defval = 1,    title = "Thru Day")     
thruYear  = input(defval = 2112, title = "Thru Year")       
    
showDate  = input(defval = true, title = "Show Date Range")
    
start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true       // create function "within window of time"
    
    
//MA inputs and calculations
inSignal=input(9, title='MAfast')
inlong1=input(100, title='MAslow')
inlong2=input(200, title='MAlong')
    
MAfast= sma(close, inSignal)
MAslow= sma(close, inlong1)
MAlong= sma(close, inlong2)
    
    
Bullish = crossover(close, MAfast) 
    
longsignal = (Bullish and MAfast > MAslow and MAslow < MAlong and window())
    
//set take profit
    
ProfitTarget_Percent = input(3)
Profit_Ticks = (close * (ProfitTarget_Percent / 100)) / syminfo.mintick
    
//set take profit
    
LossTarget_Percent = input(3)
Loss_Ticks = (close * (LossTarget_Percent / 100)) / syminfo.mintick
    
    
//Order Placing
    
strategy.entry("Entry 1", strategy.long, when = (strategy.opentrades == 0) and longsignal)
    
strategy.entry("Entry 2", strategy.long, when = (strategy.opentrades == 1) and longsignal)
        
strategy.entry("Entry 3", strategy.long, when = (strategy.opentrades == 2) and longsignal)
    
strategy.entry("Entry 4", strategy.long, when = (strategy.opentrades == 3) and longsignal)
    
strategy.entry("Entry 5", strategy.long, when = (strategy.opentrades == 4) and longsignal)
        
strategy.entry("Entry 6", strategy.long, when = (strategy.opentrades == 5) and longsignal)
        
strategy.entry("Entry 7", strategy.long, when = (strategy.opentrades == 6) and longsignal)
    
    
    
if (strategy.position_size > 0)
    strategy.exit(id="Exit 1", from_entry = "Entry 1", profit = Profit_Ticks, loss = Loss_Ticks)
    strategy.exit(id="Exit 2", from_entry = "Entry 2", profit = Profit_Ticks, loss = Loss_Ticks)
    strategy.exit(id="Exit 3", from_entry = "Entry 3", profit = Profit_Ticks, loss = Loss_Ticks)
    strategy.exit(id="Exit 4", from_entry = "Entry 4", profit = Profit_Ticks, loss = Loss_Ticks)
    strategy.exit(id="Exit 5", from_entry = "Entry 5", profit = Profit_Ticks, loss = Loss_Ticks)
    strategy.exit(id="Exit 6", from_entry = "Entry 6", profit = Profit_Ticks, loss = Loss_Ticks)
    strategy.exit(id="Exit 7", from_entry = "Entry 7", profit = Profit_Ticks, loss = Loss_Ticks)
     


Lebih lanjut