Графическая торговая стратегия Мартингейл

Сводка

Строго говоря, Мартингейл – это метод управления позициями. Его можно проследить до восемнадцатого века и длится уже сотни лет. Есть еще много мартингейлов или подобных стратегий. Люди имеют смешанные похвалы и критику по поводу этой стратегии. В этом разделе мы используем платформу FMZ, чтобы продемонстрировать ее в графическом виде.

Что такое мартингейл

Мартингейл возник во Франции, дословно переведенный на английский: martegal, первоначально обозначавший упряжь, которая управляет перевозкой. Мартингейл позже представлял собой стратегию азартных игр. Первоначально он использовался в азартных играх в рулетку и постепенно распространился на финансовые транзакции. До сегодняшнего дня тень Мартингейла можно увидеть в акциях, фьючерсах и иностранной валюте. Причина его выносливости в том, что теоретически это стратегия, которая никогда не теряет деньги.

Форвард Мартингейл

Секрет никогда не терять деньги заключается в том, чтобы удваивать ставку каждый раз, когда вы теряете деньги, и возвращать ставку в исходную единицу после любого выигрыша. Независимо от того, сколько раз вы проиграете, прежде чем выиграть, до тех пор, пока вероятность позволяет игроку выиграть один раз, он не только сможет отыграть все предыдущие потери, но и прибыль от одной ставки. Мартингейл создал много чудес прибыли и убытков на финансовом рынке.

Взяв в качестве примера подбрасывание монеты, вероятность передней и задней части составляет около 50%. Количество последовательных фронтов или спин начинает уменьшаться с вероятностью 50%, а это значит, что при любом подбрасывании монеты вероятность головы составляет 50%, вероятность 2 последовательных позитивов составляет 25%, вероятность 3 последовательных позитивов составляет 12,5% и так далее.

Если начальная ставка равна 1, то ставка на последовательные проигрыши увеличивается кратно 2, то есть: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 и т.д., пока вы не выиграете, один раунд закончен, поэтому каждый раунд может выиграть 1. Хотя в теории Мартингейл никогда не может потерять деньги, но по мере возникновения серии проигрышей размер ставки будет увеличиваться в геометрической прогрессии. Чтобы избежать использования этой стратегии хорошо финансируемыми игроками, почти все казино имеют максимальный лимит ставок на каждую игру.

Проверка прямого мартингейла с кодом

/*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: ''
},
противоположный: false,
},
series: [{
имя: "",
id: "",
данные: []
}]
}; Объект


чертежа//
Функция ввода стратегии main() {
var ObjChart = Chart(chart); Объект рисования
ObjChart.reset(); Очистить розыгрыш перед стартом
var now = 0 // Случайные времена
var bet = 1
var maxBet = 0 // Запись максимального многократного
var проиграна = 0
var maxLost = 0 // Максимальные последовательные потери
начальныхфондов = 10000 Начальный фонд
var funds = initialFunds // Real-time fund
while (true) {
if (Math.random() > 0.5) { // 50% выигрышная ставка
= средства + ставка // Make money
bet = 1 // Каждый раз, когда вы зарабатываете деньги, сбрасывайте ставку кратной на 1
проигранную = 0
} else {
funds = funds - bet // Lose money
bet = bet * 2 // Double the bet multiple if failed
loss++
}
if (bet > maxBet) {
maxBet = bet // Calculate the maximum multiple
}
if (lost > maxLost) {
maxLost = lost Рассчитать количество последовательных убытков
}
ObjChart.add([0, [сейчас, фонды]]) // Добавить данные
чертежа ObjChart.update(chart) // Рисование
сейчас++ // Случайные времена плюс 1
если (фонды < 0) { // Если банкротство заканчивается производством
, возврат Log("Начальный фонд:" + initialFunds + "Random times:" + now + "Максимальные последовательные потери:" + maxLost + "Максимальные кратные:" + maxBet + "Final fund:" + funds)
}
}
}

Результаты испытаний

Обратный мартингейл

В отличие от форвардного мартингейла, обратный мартингейл заключается в том, чтобы удваивать ставку каждый раз, когда вы выигрываете, и возвращать ставку в начальную единицу, когда вы теряете деньги. Это продолжение стратегии Мартингейла. В теории эта стратегия больше подходит для использования на трендовых рынках, поскольку работа с трендом имеет высокий показатель успешности. Увеличение показателя успешности сопровождается избыточной доходностью, получаемой за счет постепенного увеличения позиций.

Проверка обратного мартингейла с кодом

/*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: ''
},
противоположный: false,
},
series: [{
имя: "",
id: "",
данные: []
}]
}; Объект


чертежа//
Функция ввода стратегии main() {
var ObjChart = Chart(chart); Объект рисования
ObjChart.reset(); Очистить розыгрыш перед стартом
var now = 0 // Случайные времена
var bet = 1
var maxBet = 0 // Запись максимального многократного
var проиграна = 0
var maxLost = 0 // Максимальные последовательные потери
начальныхфондов = 10000 Начальный фонд
var funds = initialFunds // Real-time fund
while (true) {
if (Math.random() > 0.5) { // 50% выигрышная ставка
= средства + ставка // сделать денежную
ставку = ставка * 2 // Удвоить мультипликатор ставки, если вы зарабатываете потерянные деньги
= 0
} else {
funds = funds - bet // loss money
bet = 1 // Каждый раз, когда вы теряете деньги, сбрасывайте мультипликатор ставки на 1
lost++
}
if (bet > maxBet) {
maxBet = bet // Calculate the maximum multiple
}
if (lost > maxLost) {
maxLost = lost Рассчитать количество последовательных убытков
}
ObjChart.add([0, [сейчас, фонды]]) // Добавить данные
чертежа ObjChart.update(chart) // Рисование
сейчас++ // Случайные времена плюс 1
если (фонды < 0) { // Если банкротство заканчивается производством
, возврат Log("Начальный фонд:" + initialFunds + "Random times:" + now + "Максимальные последовательные потери:" + maxLost + "Максимальные кратные:" + maxBet + "Final fund:" + funds)
}
}
}

Тестирование результатов

Применение Мартингейла на фьючерсном рынке

Хотя на фьючерсном рынке нет ограничения на максимальный объем ордера, в отличие от казино, взлет и падение фьючерсов не является полностью случайной ставкой. Реальный финансовый торговый рынок сложнее, чем казино. Если стратегия Мартингейла используется в торговле фьючерсами, как только рынок движется в направлении, противоположном трендовому рынку, по мере развития рынка, удвоенная позиция будет увеличиваться, а риск увеличиваться. Тогда для трейдеров, которые хотят использовать стратегию Мартингейла для фьючерсного рынка, необходимо решить как минимум три проблемы:

  1. Исходное положение
  2. Добавление кратных позиций
  3. Добавление расстояния позиции

Начальную позицию нужно определить в соответствии с суммой вашего капитала, то есть рассчитать максимальное количество последовательных убытков, которые капитал может выдержать перед торговлей. Если начальная позиция слишком высока, это приведет к чрезмерному количеству средств, которые будут инвестированы после каждого удвоения позиции. Кроме того, слишком высокое многократное увеличение позиции вызовет ту же проблему. Мартингейл по умолчанию удваивает увеличение позиции. Если его установить на 3-кратное увеличение позиции, то скорость банкротства будет быстрее, но если ее установить на 1,5-кратное увеличение позиции, то появится другой результат. Последнее, что нужно учитывать, это расстояние для увеличения позиции. Например, открытие длинной позиции по цене 5000, добавление позиции, когда цена падает на 15 пунктов, и добавление позиции, когда цена падает на 30 пунктов, также отличается. Это полностью зависит от толерантности трейдера к риску и торговых предпочтений.

Источник