Strategi perdagangan Martingale grafis

Penulis:Kebaikan, Dibuat: 2020-07-23 10:13:42, Diperbarui: 2023-10-26 20:06:48

img

Ringkasan

Martingale adalah metode manajemen posisi yang dapat ditelusuri kembali ke abad kedelapan belas dan telah bertahan selama ratusan tahun. Masih ada banyak strategi martingale atau yang serupa. Orang-orang telah mencampur pujian dan kritik tentang strategi ini.

Apa itu martingale

Martingale berasal dari Perancis, secara harfiah diterjemahkan dalam bahasa Inggris: martegal, awalnya mengacu pada sabuk yang mengontrol kereta. Martingale kemudian mewakili strategi perjudian. Awalnya digunakan dalam perjudian roulette dan secara bertahap diperluas ke transaksi keuangan. Sampai hari ini, bayangan Martingale dapat dilihat di saham, berjangka, dan valuta asing. Alasan daya tahannya adalah bahwa, secara teoritis, ini adalah strategi yang tidak pernah kehilangan uang.

Forward Martingale

Rahasia untuk tidak pernah kehilangan uang adalah untuk menggandakan taruhan setiap kali Anda kehilangan uang, dan mengembalikan taruhan ke unit asli setelah setiap kemenangan. Tidak peduli berapa kali Anda kalah sebelum menang, selama probabilitas memungkinkan penjudi untuk menang sekali, tidak hanya akan dapat memenangkan kembali semua kerugian sebelumnya, tetapi juga keuntungan dari satu taruhan. Martingale telah menciptakan banyak keajaiban keuntungan dan kerugian di pasar keuangan.

Mengambil lemparan koin sebagai contoh, probabilitas depan dan belakang adalah sekitar 50%. Jumlah depan atau belakang berturut-turut mulai berkurang dengan probabilitas 50%, yang berarti bahwa dalam lemparan koin apa pun, probabilitas kepala adalah 50%, probabilitas 2 positif berturut-turut adalah 25%, probabilitas 3 positif berturut-turut adalah 12,5%, dan seterusnya.

Jika taruhan awal adalah 1, taruhan untuk kerugian berturut-turut ditingkatkan dengan kelipatan 2, yaitu: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, dll, sampai Anda menang, satu putaran selesai, sehingga setiap putaran dapat menang 1. Meskipun secara teori, Martingale tidak pernah bisa kehilangan uang, tetapi ketika serangkaian kerugian terjadi, ukuran taruhan akan meningkat secara eksponensial.

Memverifikasi martingale ke depan dengan kode

/*backtest
start: 2020-01-01 00:00:00
end: 2020-01-02 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_CTP","currency":"FUTURES"}]
*/

var chart = {
    __isStock: true,
    tooltip: {
        xDateFormat: '%Y-%m-%d %H:%M:%S, %A'
    },
    title: {
        text: 'Money curve'
    },
    rangeSelector: {
        buttons: [{
            type: 'hour',
            count: 1,
            text: '1h'
        }, {
            type: 'hour',
            count: 2,
            text: '3h'
        }, {
            type: 'hour',
            count: 8,
            text: '8h'
        }, {
            type: 'all',
            text: 'All'
        }],
        selected: 0,
        inputEnabled: false
    },
    xAxis: {
        type: ''
    },
    yAxis: {
        title: {
            text: ''
        },
        opposite: false,
    },
    series: [{
        name: "",
        id: "",
        data: []
    }]
}; // Drawing object


// Strategy entry function
function main() {
    var ObjChart = Chart(chart);  // Drawing object
    ObjChart.reset();  // Clear the drawing before starting
    var now = 0  // Random times
    var bet = 1
    var maxBet = 0  // Record maximum multiple
    var lost = 0
    var maxLost = 0  // Maximum consecutive losses
    initialFunds = 10000  // Initial fund
    var funds = initialFunds  // Real-time fund
    while (true) {
        if (Math.random() > 0.5) { // 50% win rate
            funds = funds + bet  // Make money
            bet = 1 // Every time you make money, reset the bet multiple to 1
            lost = 0
        } else {
            funds = funds - bet // Lose money
            bet = bet * 2 // Double the bet multiple if it fails
            lost++
        }
        if (bet > maxBet) {
            maxBet = bet  // Calculate the maximum multiple
        }
        if (lost > maxLost) {
            maxLost = lost  // Calculate the number of consecutive losses
        }
        ObjChart.add([0, [now, funds]])  // Add drawing data
        ObjChart.update(chart)  // Drawing
        now++  // Random times plus 1
        if (funds < 0) {  // If bankruptcy ends the proceedings
            return Log("Initial fund:" + initialFunds + "Random times:" + now   + "Maximum consecutive losses:" + maxLost  + "Maximum multiples:" + maxBet + "Final fund:" + funds)
        }
    }
}

Hasil Tes

img

Martingale ke belakang

Berbeda dengan martingale maju, martingale terbalik adalah untuk menggandakan taruhan setiap kali Anda menang, dan mengembalikan taruhan ke unit awal ketika Anda kehilangan uang. Ini adalah perpanjangan dari strategi Martingale. Secara teori, strategi ini lebih cocok untuk digunakan di pasar tren, karena operasi dengan tren memiliki tingkat keberhasilan yang tinggi. Peningkatan tingkat keberhasilan disertai dengan keuntungan berlebih yang diperoleh dengan meningkatkan posisi secara bertahap.

Memverifikasi Martingale mundur dengan kode

/*backtest
start: 2020-01-01 00:00:00
end: 2020-01-02 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_CTP","currency":"FUTURES"}]
*/

var chart = {
    __isStock: true,
    tooltip: {
        xDateFormat: '%Y-%m-%d %H:%M:%S, %A'
    },
    title: {
        text: 'Money curve'
    },
    rangeSelector: {
        buttons: [{
            type: 'hour',
            count: 1,
            text: '1h'
        }, {
            type: 'hour',
            count: 2,
            text: '3h'
        }, {
            type: 'hour',
            count: 8,
            text: '8h'
        }, {
            type: 'all',
            text: 'All'
        }],
        selected: 0,
        inputEnabled: false
    },
    xAxis: {
        type: ''
    },
    yAxis: {
        title: {
            text: ''
        },
        opposite: false,
    },
    series: [{
        name: "",
        id: "",
        data: []
    }]
}; // Drawing object


// Strategy entry function
function main() {
    var ObjChart = Chart(chart);  // Drawing object
    ObjChart.reset();  // Clear the drawing before starting
    var now = 0  // Random times
    var bet = 1
    var maxBet = 0  // Record maximum multiple
    var lost = 0
    var maxLost = 0  // Maximum consecutive losses
    initialFunds = 10000  // Initial fund
    var funds = initialFunds  // Real-time fund
    while (true) {
        if (Math.random() > 0.5) { // 50% win rate
            funds = funds + bet  // make money
            bet = bet * 2 // Double the bet multiple if you make money
            lost = 0
        } else {
            funds = funds - bet // loss money
            bet = 1 // Every time you lose money, reset the bet multiple to 1
            lost++
        }
        if (bet > maxBet) {
            maxBet = bet  // Calculate the maximum multiple
        }
        if (lost > maxLost) {
            maxLost = lost  // Calculate the number of consecutive losses
        }
        ObjChart.add([0, [now, funds]])  // Add drawing data
        ObjChart.update(chart)  // Drawing
        now++  // Random times plus 1
        if (funds < 0) {  // If bankruptcy ends the proceedings
            return Log("Initial fund:" + initialFunds + "Random times:" + now   + "Maximum consecutive losses:" + maxLost  + "Maximum multiples:" + maxBet + "Final fund:" + funds)
        }
    }
}

Hasil Tes

img

Aplikasi Martingale di pasar futures

Meskipun tidak ada batasan pada volume pesanan maksimum di pasar berjangka, tidak seperti kasino, kenaikan dan penurunan futures bukanlah taruhan yang benar-benar acak. Pasar perdagangan keuangan nyata lebih rumit daripada kasino. Jika strategi Martingale digunakan dalam perdagangan berjangka, setelah pasar bergerak ke arah yang berlawanan dengan pasar tren, seiring perkembangan pasar, posisi berlipat ganda akan meningkat dan risikonya akan meningkat. Maka bagi pedagang yang ingin menggunakan strategi Martingale untuk pasar berjangka, setidaknya tiga masalah perlu diselesaikan:

  1. Posisi awal
  2. Menambahkan pangkat ganda
  3. Menambahkan jarak posisi

Posisi awal perlu ditentukan sesuai dengan jumlah modal Anda, yaitu, hitung jumlah maksimum kerugian berturut-turut yang dapat ditanggung modal sebelum trading. Jika posisi awal terlalu tinggi, itu akan menyebabkan jumlah dana yang berlebihan diinvestasikan setelah setiap perkalian posisi. Selain itu, kenaikan posisi yang terlalu tinggi akan menyebabkan masalah yang sama. Martingale default untuk meningkatkan posisi dua kali lipat. Jika ditetapkan untuk meningkatkan posisi 3 kali, kecepatan kebangkrutan akan lebih cepat, tetapi jika ditetapkan untuk meningkatkan posisi 1,5 kali, itu akan muncul Hasil lain. Hal terakhir yang perlu dipertimbangkan adalah jarak untuk meningkatkan posisi. Misalnya, membuka posisi panjang pada harga 5000, menambahkan posisi ketika harga turun 15 pips, dan menambahkan posisi ketika harga turun 30 pips, juga berbeda. Ini sepenuhnya tergantung pada kebiasaan trading toleransi risiko dan preferensi trader.


Berkaitan

Lebih banyak