[blackcat] L1 Martin Gale Scalping Strategi

Penulis:Zer3192, Tanggal: 2023-10-09
Tag:

Strategi MartinGale (MartinGale) adalah strategi pengelolaan dana yang umum digunakan dalam perdagangan. Ini biasanya digunakan ketika pedagang mencari pemulihan dengan meningkatkan ukuran posisi setelah setiap kerugian. Oleh karena itu, MartinGale tidak merujuk pada strategi tertentu, tetapi merupakan nama umum untuk strategi pembiayaan dan pembiayaan.

Dalam strategi Martin Gale, pedagang akan melipatgandakan ukuran posisi setelah setiap perdagangan yang rugi. Hal ini dilakukan dengan harapan bahwa pada akhirnya akan terjadi perdagangan yang menguntungkan untuk memulihkan kerugian sebelumnya dan menghasilkan keuntungan.

Gagasan di balik strategi Martin Gale adalah memanfaatkan hukum rata-rata. Dengan meningkatkan ukuran posisi setelah setiap kerugian, strategi ini mengasumsikan bahwa pada akhirnya akan terjadi perdagangan yang menguntungkan, yang tidak hanya akan menebus kerugian sebelumnya, tetapi juga menghasilkan keuntungan. Ini mungkin sangat menarik bagi para pedagang yang mencari pemulihan cepat dari kerugian.

Namun, perlu dicatat bahwa strategi MartinGale memiliki risiko besar. Strategi ini dapat menyebabkan kerugian besar jika pedagang mengalami fase kerugian yang berkelanjutan atau tidak memiliki dana yang cukup. Strategi ini bergantung pada asumsi bahwa perdagangan menguntungkan terjadi dalam jangka waktu tertentu, yang berbahaya karena tidak dapat menjamin bahwa perdagangan menguntungkan akan terjadi dalam jangka waktu tertentu. Pedagang yang mempertimbangkan untuk menerapkan strategi Martin Gale harus secara hati-hati menilai kemampuan mereka untuk menanggung risiko dan memahami sepenuhnya kelemahan potensial. Membangun rencana manajemen risiko yang handal untuk mengurangi kerugian potensial sangat penting. Selain itu, pedagang harus menyadari bahwa strategi mungkin tidak berlaku untuk semua situasi pasar dan mungkin perlu disesuaikan dengan fluktuasi pasar.

Secara keseluruhan, strategi Martin Gale adalah strategi manajemen uang yang melibatkan meningkatkan ukuran posisi setelah setiap kerugian untuk mencoba memulihkan diri dari fase kerugian. Meskipun dapat memberikan potensi pemulihan yang cepat, ada juga risiko besar yang harus dipertimbangkan dengan cermat oleh pedagang sebelum menerapkan metode perdagangan ini.

Meskipun tidak terlalu setuju dengan ide transaksi ini, beberapa orang di Twitter juga berbicara tentang topik ini dan menulis kerangka kerja 38 baris sederhana, yang dibuat oleh Martin Gale.

Strategi cap grab MartinGale adalah strategi trading yang menghasilkan keuntungan melalui perdagangan yang sering dilakukan. Strategi ini menggunakan persimpangan rata-rata bergerak untuk menghasilkan sinyal masuk dan keluar. Strategi ini diimplementasikan menggunakan bahasa skrip Pine dari TradingView.

Strategi ini pertama-tama mendefinisikan variabel input, seperti level stop-loss dan stop-loss, dan mode trading ("multi-head, blank, atau dua arah"). Kemudian, ia menetapkan aturan yang hanya mengizinkan masuk jika mode trading disetel sebagai multi-head.

Logika strategi menggunakan definisi sinyal silang dan sinyal silang dari rata-rata bergerak sederhana (SMA). Ini menghitung SMA jangka pendek (SMA3) dan SMA jangka panjang (SMA8), dan menggambarkannya pada grafik. Variabel crossoverSignal dan crossunderSignal digunakan untuk melacak terjadinya peristiwa silang dan silang, sedangkan variabel crossoverState dan crossunderState menentukan kondisi silang dan silang.

Strategi dilaksanakan berdasarkan ukuran kepemilikan saat ini. Jika ukuran kepemilikan adalah nol (tidak ada kepemilikan), strategi akan memeriksa cross dan cross event. Jika cross event terjadi dan pola trading memungkinkan banyak head, maka akan masuk ke multi-head hold. Harga masuk, stop loss, stop loss dan stop loss dihitung berdasarkan harga penutupan saat ini dan nilai SMA8. Jika ada banyak posisi dan harga penutupan saat ini mencapai harga stop loss atau harga stop loss, dan terjadi peristiwa silang, maka banyak posisi akan ditiadakan. Harga masuk, harga stop loss, harga stop loss dan harga stop loss akan disetel kembali ke nol.

Demikian pula, jika ada pemegang kosong dan harga penutupan saat ini mencapai harga stop loss atau stop loss, dan terjadi peristiwa silang, maka pemegang kosong akan dipadamkan dan variabel harga akan disetel kembali.

Strategi ini juga menggunakan fungsi plotshape untuk menggambar titik masuk dan keluar pada grafik. Ini menunjukkan bahwa segitiga di atas menunjukkan masuk, segitiga di bawah menunjukkan keluar, segitiga di bawah menunjukkan masuk, dan segitiga di atas menunjukkan keluar.

Secara umum, strategi MartinGale adalah untuk menangkap keuntungan kecil dengan memanfaatkan persimpangan dari moving average jangka pendek. Ini memungkinkan manajemen risiko melalui stop-loss dan stop-loss level dan memungkinkan berbagai model perdagangan untuk beradaptasi dengan kondisi pasar yang berbeda.


//@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 banyak