[blackcat] L1 Martin Gale Scalping Strategi

Penulis:Zer3192, Tarikh: 2023-10-09 07:06:32
Tag:

Strategi MartinGale adalah strategi pengurusan wang yang popular yang biasa digunakan dalam perdagangan. Ia biasanya digunakan apabila peniaga mencari pemulihan dengan meningkatkan saiz kedudukan selepas setiap kerugian. Oleh itu, MartinGale bukan merujuk kepada satu strategi tertentu, tetapi merupakan nama umum untuk strategi pembiayaan dan pembiayaan.

Dalam strategi Martin Gale, peniaga akan menggandakan saiz kedudukan selepas setiap dagangan yang rugi; tujuan melakukan ini adalah dengan harapan bahawa perdagangan yang menguntungkan akhirnya akan muncul untuk memulihkan kerugian sebelumnya dan menghasilkan keuntungan.

Idea di sebalik strategi MartinGale adalah menggunakan undang-undang purata. Dengan meningkatkan saiz kedudukan selepas setiap kerugian, strategi ini mengandaikan bahawa akhirnya akan ada perdagangan yang menguntungkan, yang tidak hanya akan menebus kerugian sebelumnya tetapi juga menghasilkan keuntungan. Ini mungkin sangat menarik bagi pedagang yang mencari pemulihan cepat dari kerugian.

Walau bagaimanapun, perlu diingat bahawa strategi MartinGale mempunyai risiko yang besar. Strategi ini boleh menyebabkan kerugian besar jika peniaga mengalami fasa kerugian yang berterusan atau tidak mempunyai dana yang mencukupi. Strategi ini bergantung pada anggapan bahawa perdagangan yang menguntungkan akan berlaku dalam jangka masa tertentu, yang berbahaya kerana tidak dapat menjamin bahawa perdagangan yang menguntungkan akan berlaku dalam jangka masa tertentu. Pedagang yang mempertimbangkan untuk menggunakan strategi Martin Gale harus menilai dengan teliti kemampuan mereka untuk menanggung risiko dan memahami sepenuhnya kelemahan yang berpotensi. Membina pelan pengurusan risiko yang boleh dipercayai untuk mengurangkan kerugian yang berpotensi adalah penting. Selain itu, pedagang harus sedar bahawa strategi ini mungkin tidak berlaku untuk semua keadaan pasaran dan mungkin perlu disesuaikan dengan turun naik pasaran.

Secara ringkasnya, strategi MartinGale adalah strategi pengurusan wang yang melibatkan meningkatkan saiz kedudukan selepas setiap kerugian untuk cuba pulih dari fasa kerugian. Walaupun ia boleh memberikan potensi untuk pulih dengan cepat, terdapat juga risiko besar yang perlu dipertimbangkan dengan teliti oleh peniaga sebelum menggunakan kaedah perdagangan ini.

Walaupun tidak begitu setuju dengan pandangan perdagangan ini, ada yang berkata secara peribadi bahawa mereka juga bercakap tentang topik ini, menulis rangka kerja 38 baris yang mudah, dan membuat garis pendek Martin Gale.

Strategi cap rampasan MartinGale adalah strategi perdagangan yang menghasilkan keuntungan melalui perdagangan yang kerap. Ia menggunakan persimpangan purata bergerak untuk menghasilkan isyarat masuk dan keluar. Strategi ini dilaksanakan menggunakan bahasa skrip Pine dari TradingView.

Kaedah ini mula-mula mentakrifkan pemboleh ubah input, seperti paras berhenti dan stop loss, dan mod dagangan ("multi-head, blank, atau dua-way"). Kemudian, ia menetapkan peraturan yang hanya membenarkan masuk apabila mod dagangan diset sebagai "multi-head".

Logik strategi menggunakan definisi isyarat silang dan isyarat silang dari purata bergerak sederhana (SMA); ia mengira SMA jangka pendek (SMA3) dan SMA jangka panjang (SMA8), dan memetakan mereka pada carta; pembolehubah crossoverSignal dan crossunderSignal digunakan untuk mengesan kejadian silang dan silang, sementara pembolehubah crossoverState dan crossunderState menentukan keadaan persimpangan dan keadaan persimpangan;

Strategi dilaksanakan berdasarkan saiz pegangan semasa. Jika saiz pegangan adalah sifar (tidak ada pegangan), strategi akan memeriksa persimpangan dan kejadian persimpangan. Jika kejadian persimpangan berlaku dan mod perdagangan membenarkan banyak masuk, maka masuk ke pegangan berbilang kepala. Harga masuk, harga hentian, harga hentian dan harga hentian dikira berdasarkan harga penutupan semasa dan nilai SMA8. Jika terdapat banyak pegangan dan harga penutupan semasa mencapai harga stop loss atau harga stop loss, dan peristiwa silang berlaku, pegangan akan ditarik. Harga masuk, harga stop loss, harga stop loss dan harga stop loss akan disetel semula kepada sifar.

Begitu juga, jika terdapat pegangan kosong dan harga penutupan semasa mencapai harga stop loss atau harga stop loss, dan peristiwa silang berlaku, pegangan kosong akan dipadamkan dan pemindahan harga akan dilakukan semula.

Strategi ini juga menggunakan fungsi plotshape untuk merangka titik masuk dan keluar pada carta. Ia menunjukkan segitiga di atas menunjukkan masuk membeli, segitiga di bawah menunjukkan keluar membeli, segitiga di bawah menunjukkan masuk menjual, segitiga di atas menunjukkan keluar menjual.

Secara keseluruhan, strategi cukur rambut MartinGale bertujuan untuk menangkap keuntungan kecil dengan memanfaatkan persimpangan purata bergerak jangka pendek. Ia menguruskan risiko melalui paras stop-loss dan stop-loss, dan membolehkan pelbagai model dagangan untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.


//@version=5
 strategy('[blackcat] L1 MartinGale Scalping Strategy', overlay=true, pyramiding = 5)
 
 // Define input variables
// martingaleMultiplier = input(2, title="加倍倍数")
 takeProfit = input(1.03, title='Take Profit')
 stopLoss = input(0.95, title='Stop Loss')
 inputTradingMode = input.string(defval='Long', options=['Long', 'Short', 'BiDir'], title='Trading Mode')
 
 //The purpose of this rule is to forbid short entries, only long etries will be placed. The rule affects the following function: 'entry'.
strategy.risk.allow_entry_in(inputTradingMode == 'Long' ? strategy.direction.long : inputTradingMode == 'Short' ? strategy.direction.short : strategy.direction.all)

// Define strategy logic 
entryPrice = 0.0
stopPrice = 0.0
takeProfitPrice = 0.0
stopLossPrice = 0.0

// Define SMA crossover and crossunder signals
sma3 = ta.sma(close, 3)
sma8 = ta.sma(close, 8)
plot(sma3, color=color.yellow)
plot(sma8, color=color.fuchsia)
crossoverSignal = ta.crossover(sma3, sma8)
crossunderSignal = ta.crossunder(sma3, sma8)
crossoverState = sma3 > sma8
crossunderState = sma3 < sma8

if strategy.position_size == 0
    if crossoverState
       strategy.entry('Buy',strategy.long)
       entryPrice := close
       stopPrice := close - stopLoss * sma8[1]
       takeProfitPrice := close + takeProfit * sma8[1]
       stopLossPrice := stopPrice
       stopLossPrice
    if crossunderState
        strategy.entry('Sell', strategy.short)
        entryPrice := close
        stopPrice := close + stopLoss *  sma8[1]
        takeProfitPrice := close - takeProfit *  sma8[1]
        stopLossPrice := stopPrice
        stopLossPrice

if strategy.position_size > 0
    if (close > takeProfitPrice or close < stopLossPrice) and crossunderState
        strategy.close('Buy')
        entryPrice := 0.0
        stopPrice := 0.0
        takeProfitPrice := 0.0
        stopLossPrice := 0.0
        stopLossPrice
    else
        strategy.entry('Buy', strategy.long)
        entryPrice := close
        stopPrice := close - stopLoss *  sma8[1]
        takeProfitPrice := close + takeProfit *  sma8[1]
        stopLossPrice := stopPrice
        stopLossPrice

if strategy.position_size < 0
    if (close > takeProfitPrice or close < stopLossPrice) and crossoverState
        strategy.close('Sell')
        entryPrice := 0.0
        stopPrice := 0.0
        takeProfitPrice := 0.0
        stopLossPrice := 0.0
        stopLossPrice
    else
        strategy.entry('Sell', strategy.short)
        entryPrice := close
        stopPrice := close + stopLoss *  sma8[1]
        takeProfitPrice := close - takeProfit *  sma8[1]
        stopLossPrice := stopPrice
        stopLossPrice

// Plot entry and exit points
plotshape(strategy.position_size > 0 and crossoverSignal, 'Buy Entry', shape.triangleup, location.belowbar, color.new(color.green, 0), size=size.small)
plotshape(strategy.position_size > 0 and (close >= takeProfitPrice or close <= stopLossPrice), 'Buy Exit', shape.triangledown, location.abovebar, color.new(color.red, 0), size=size.small)
plotshape(strategy.position_size < 0 and crossunderSignal, 'Sell Entry', shape.triangledown, location.abovebar, color.new(color.red, 0), size=size.small)
plotshape(strategy.position_size < 0 and (close >= takeProfitPrice or close <= stopLossPrice), 'Sell Exit', shape.triangleup, location.belowbar, color.new(color.green, 0), size=size.small)

Lebih lanjut