Стратегия двойного входа в позицию с средним превышением остаточных потерь

Автор:Чао Чжан, Дата: 2023-12-01 13:33:48
Тэги:

img

Обзор

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

Логика стратегии

Стратегия сначала оценивает, находится ли цена ниже 200-дневной простой скользящей средней. Если да, то критерии входа выполнены. Стратегия входит между 14:29 и 15:00 каждый день, чтобы сформировать первый вход. После этого стратегия наметит первую линию получения прибыли и стоп-лосса.

Если цена повысится, но не достигнет первой цели получения прибыли, она снова войдет на 5% выше первой цены входа, чтобы добавить позиции. В этот момент стратегия обновит линию остановки потери до 1,15 раз превышающей текущую среднюю цену хранения. В то же время будет намечена вторая линия получения прибыли.

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

Анализ преимуществ

Стратегия имеет следующие преимущества:

  1. Принятие метода двойного ввода может обеспечить более высокую доходность без увеличения рисков.

  2. Обновление позиции линии стоп-лосса в режиме реального времени.

  3. Открывая позиции в понижающемся тренде, он обладает определенной способностью к торговле контртендом.

  4. Разумное время входа и уровень цен позволяют избежать ловушки.

  5. Разумные параметры, строгие уровни получения прибыли и остановки потерь означают высокое соотношение риск-вознаграждение.

Анализ рисков

Стратегия также сопряжена с некоторыми рисками:

  1. Если обе записи в конечном итоге достигнут стоп-лосса, потеря будет больше.

  2. Если уровень стоп-лосса установлен неправильно, он может не эффективно контролировать риски и привести к неприемлемым потерям.

  3. Если время входа выбрано неправильно, это может привести к неблагоприятному входу и большей вероятности попасть в ловушку.

  4. Необоснованные параметры, такие как слишком большое расстояние до получения прибыли или слишком близкое остановка убытков, могут уменьшить прибыль.

Эти риски могут быть уменьшены и избегнуты путем разумной оптимизации параметров и строгого контроля рисков.

Руководство по оптимизации

Стратегия также может быть оптимизирована в следующих аспектах:

  1. Испытывать различные технические индикаторы в качестве сигналов входа для поиска лучших точек входа.

  2. Тестируйте и оптимизируйте уровни получения прибыли и остановки убытков для максимизации соотношения риск-вознаграждение.

  3. Испытать различные методы добавления для определения оптимальных кратных добавления.

  4. Добавить правила оценки тренда, чтобы избежать записи контртенда.

  5. Оптимизировать выбор временных периодов входа, чтобы избежать неблагоприятных входов.

Заключение

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


/*backtest
start: 2023-11-23 00:00:00
end: 2023-11-28 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//              @version=4
strategy("8 Whittle Down", "8 WD", 1, initial_capital=0)


//              DUAL ENTRIES
//              ADDS ON MORE SHARES IF THE PILOT TRADE DOES NOT REACH PROFIT TARGET
//              RED     LINE        == STOP LOSS LINE
//              GREEN   LINE        == PROFIT TARGET FOR THE 1ST TRADE
//              YELLOW  LINE        == ADD ON SHARES TO THE TRADE
//              WHITE   LINE        == PROFIT TARGET FOR THE 1ST & SECOND TRADE COMBINED


StopLossPerc        = input(1.15, "Total Stop Loss", step=0.01)


T2EntTrgPerc        = input(1.05, "Enter Second trade @ what higher 5%?", step=0.01)    //  BUY STOP LIMIT ONLY WHEN ONE TRADE IS ALREADY OPEN & AIMS TO BUY DOUBLE THE OWNED SHARES AT A HIGHER ENTRY PRICE // YELLOW LINE

T1ProfTrgPerc       = input(0.95, "First Trade Profit % Target", step=0.01)
T2ProfTrgPerc       = input(0.90, "Second Trade Profit % Target", step=0.01)


RiskRange           = close*(StopLossPerc)-1
Shares              = floor(1000*1000/RiskRange) / 3                                    //  SPLITS THE RISK OVER THREE TRADES

F1                  = close < sma(security(syminfo.tickerid, "D", close[2]), 200)       //  HIGH OF OLD DATA -- SO NO REPAINTING
F2                  = strategy.opentrades == 0
buyTime             = time(timeframe.period, "1429-1500")                               //  BUY AT THE END OF THE  DAY
 
 
StopLossLine        = strategy.position_avg_price * StopLossPerc
StopLossCol         = strategy.opentrades != 0 ? #FF0000 : na
plot(StopLossLine,  "StopLossLine", StopLossCol, 2)



strategy.cancel_all()                                                                   //  CANCELS ALL ORDERS: BECAUSE THE SYSTEM WILL ADD A BUY STOP LIMIT ORDER FOR ENTRY TWO



///==============   ENTRY 1   ==============   
if  F1 and buyTime and strategy.opentrades == 0
    strategy.entry("S1", false, qty=Shares)


T1Prof              = strategy.position_avg_price * T1ProfTrgPerc
plot(T1Prof,        "1st Profit Target", strategy.opentrades == 1 ? #00FF00 : na, 2)

strategy.exit("S1 Ex", "S1", limit=T1Prof, stop=StopLossLine )


///==============   ENTRY 2   ==============   
T2EntryTrg          = strategy.position_avg_price * T2EntTrgPerc // enters on higher target than 1st entry
plot(T2EntryTrg,    "ent2EntryTrg", strategy.opentrades == 1 ? color.yellow : na, 2)
    
    
if  strategy.opentrades == 1
    strategy.order("S2", false, stop=T2EntryTrg, limit= T2EntryTrg, qty=Shares * 2)     //  BUYS MORE SHARES

T2Prof              = strategy.position_avg_price * T2ProfTrgPerc
    
T2Col               = strategy.opentrades == 2 ? color.white : na
plot(T2Prof,        "2nd Profit Target", T2Col, 2)
    
    
strategy.exit("S2 Ex", "S2", limit=T2Prof, stop=StopLossLine )



Больше