O recurso está a ser carregado... Carregamento...

Estratégia de negociação gráfica de Martingale

Autora:Bem-estar, Criado: 2020-07-23 10:13:42, Atualizado: 2023-10-26 20:06:48

img

Resumo

Estritamente falando, a Martingale é um método de gerenciamento de posições. Pode ser rastreado até o século XVIII e tem durado centenas de anos. Ainda há muitas estratégias de martingale ou similares. As pessoas têm elogios e críticas mistos sobre essa estratégia.

O que é martingale?

A Martingale originou-se na França, literalmente traduzido em inglês: martegal, originalmente se referia ao arnês que controla a carruagem. A Martingale representou mais tarde uma estratégia de jogo. Foi inicialmente usada no jogo da roleta e gradualmente estendida às transações financeiras.

Forward Martingale

O segredo para nunca perder dinheiro é dobrar a aposta toda vez que você perder dinheiro e devolver a aposta à unidade original após qualquer vitória. Não importa quantas vezes você perca antes de ganhar, desde que a probabilidade permita que o jogador ganhe uma vez, não só será capaz de recuperar todas as perdas anteriores, mas também o lucro de uma aposta.

Tomando um lançamento de moeda como exemplo, a probabilidade de frente e de trás é de cerca de 50%. O número de frentes ou costas consecutivas começa a diminuir com uma probabilidade de 50%, o que significa que em qualquer lançamento de moeda, a probabilidade de uma cara é de 50%, a probabilidade de 2 positivos consecutivos é de 25%, a probabilidade de 3 positivos consecutivos é de 12,5%, e assim por diante.

Se a aposta inicial for 1, a aposta para perdas consecutivas é aumentada por um múltiplo de 2, ou seja: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, etc., até que você ganhe, uma rodada é concluída, então cada rodada pode ganhar 1. Embora, em teoria, a Martingale nunca possa perder dinheiro, mas à medida que uma série de perdas ocorre, o tamanho da aposta aumentará exponencialmente.

Verifique o martingale com código

/*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)
        }
    }
}

Resultados dos ensaios

img

Martingale para trás

Ao contrário do martingale para a frente, o martingale inverso é dobrar a aposta toda vez que você ganha e retornar a aposta à unidade inicial quando você perde dinheiro. Esta é uma extensão da estratégia Martingale. Em teoria, esta estratégia é mais adequada para uso em mercados de tendências, porque a operação com a tendência tem uma alta taxa de sucesso. O aumento da taxa de sucesso é acompanhado pelos retornos excessivos obtidos por posições gradualmente crescentes.

Verifique a martingale para trás com código

/*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)
        }
    }
}

Resultados dos ensaios

img

Aplicação da Martingale no mercado de futuros

Embora não haja limite para o volume máximo de ordens no mercado de futuros, ao contrário dos cassinos, a ascensão e queda dos futuros não é uma aposta completamente aleatória. O mercado de negociação financeira real é mais complicado do que os cassinos. Se a estratégia Martingale for usada na negociação de futuros, uma vez que o mercado se move na direção oposta ao mercado de tendência, à medida que o mercado se desenvolve, a posição dobrada aumentará e o risco aumentará.

  1. Posição inicial
  2. Adicionar múltiplos de posição
  3. Adição da distância de posição

A posição inicial precisa ser determinada de acordo com a quantidade de seu capital, ou seja, calcule o número máximo de perdas consecutivas que o capital pode suportar antes da negociação. Se a posição inicial for muito alta, isso fará com que uma quantidade excessiva de fundos seja investida após cada duplicação da posição. Além disso, um aumento múltiplo de posição muito alto causará o mesmo problema. Martingale predefine o aumento de posição dupla. Se for definido para 3 vezes aumentar a posição, a velocidade da falência será mais rápida, mas se for definida para 1,5 vezes aumentar a posição, ele aparecerá Outro resultado. A última coisa a considerar é a distância para aumentar a posição. Por exemplo, abrir uma posição longa a 5000 preço, adicionar uma posição quando o preço cai 15 pips e adicionar uma posição quando o preço cai 30 pips, também é diferente. Isso depende completamente dos hábitos de tolerância ao risco e preferências de negociação do trader.


Relacionados

Mais.