[Черная кошка] L1 Мартин Гейл Скальпинг стратегия

Автор:Zer3192, Дата: 2023-10-09 07:06:32
Тэги:

Стратегия Мартина Гейла (англ. MartinGale) - это популярная стратегия управления капиталом, которая часто используется в торговле. Она обычно используется в случае, когда трейдеры стремятся к восстановлению, увеличивая размер позиции после каждого убытка. Таким образом, Мартин Гейл - это не конкретная стратегия, а общий термин, обозначающий стратегию поддержания и увеличения позиций.

В стратегии Мартина Гейла трейдеры удваивают размер позиции после каждой убыточной сделки.

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

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

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

Хотя я не очень согласен с этой точки зрения сделки, некоторые частные пользователи пишут, что они также обсуждают эту тему, и пишут простую 38-линейную структуру, которую делает Мартин Гейл.

Мартин Гейл (англ. Martin Gale) - стратегию получения прибыли от частых сделок. Она использует пересечение движущихся сред, чтобы генерировать сигналы входа и выхода.

Эта стратегия сначала определяет входные переменные, такие как уровни остановки и остановки, а также режим торговли ("многоголовый, пустой или двусторонний"). Затем она устанавливает правило, которое разрешает вход только тогда, когда режим торговли настроен на многоголовый.

Стратегическая логика использует определение перекрестного сигнала и перекрестного сигнала с простой движущейся средней (SMA); она рассчитывает краткосрочную SMA (SMA3) и долгосрочную SMA (SMA8), и наносит их на график. Переменные crossoverSignal и crossunderSignal используются для отслеживания происхождения перекрестных и перекрестных событий, а переменные crossoverState и crossunderState определяют состояние перекрестных и перекрестных условий.

Стратегия выполняется на основе текущего размера держания. Если размер держания равен нулю (без держания), стратегия проверяет перекрестные и перекрестные события. Если происходит перекрестное событие, и торговая модель позволяет много головных входов, то вводят многоголовые держания. Цена входа, цена остановки, цена остановки и цена остановки рассчитываются на основе текущей цены закрытия и значения SMA8. Аналогично, если происходит перекрестный событие, и торговая модель позволяет пустые головные входы, то вводят пустые позиции и ведут соответствующий расчет цен. В случае наличия многоголовной позиции и если текущая цена закрытия достигает стоп-дэйв или стоп-лосс, а также произошел перекрестный инцидент, то многоголовая позиция будет выведена на фиксацию. Цена входа, цена стоп-лосса, цена стоп-дэйв и цена стоп-лосса будут переставлены на ноль.

Точно так же, если имеется пустое положение, и текущая цена закрытия достигает стоп-дэйв или стоп-лосс, и происходит перекрестный случай, пустое положение выравнивается и перемещается в переменную цены.

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

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


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

Больше