Эта стратегия использует подход двойного входа. После первого входа, если цена не достигнет первого уровня получения прибыли, она вновь будет входить по более высокой цене, чтобы достичь эффекта добавления позиций. В то же время стратегия использует метод среднего задержки остановки потери, чтобы обновить линию остановки в режиме реального времени и установить ее на определенный процент выше средней цены входа для блокировки прибыли и контроля рисков.
Стратегия сначала оценивает, находится ли цена ниже 200-дневной простой скользящей средней. Если да, то критерии входа выполнены. Стратегия входит между 14:29 и 15:00 каждый день, чтобы сформировать первый вход. После этого стратегия наметит первую линию получения прибыли и стоп-лосса.
Если цена повысится, но не достигнет первой цели получения прибыли, она снова войдет на 5% выше первой цены входа, чтобы добавить позиции. В этот момент стратегия обновит линию остановки потери до 1,15 раз превышающей текущую среднюю цену хранения. В то же время будет намечена вторая линия получения прибыли.
Стратегия может зафиксировать прибыль через две цели получения прибыли и отслеживание стоп-лосса, получая при этом больше прибыли путем добавления позиций.
Стратегия имеет следующие преимущества:
Принятие метода двойного ввода может обеспечить более высокую доходность без увеличения рисков.
Обновление позиции линии стоп-лосса в режиме реального времени.
Открывая позиции в понижающемся тренде, он обладает определенной способностью к торговле контртендом.
Разумное время входа и уровень цен позволяют избежать ловушки.
Разумные параметры, строгие уровни получения прибыли и остановки потерь означают высокое соотношение риск-вознаграждение.
Стратегия также сопряжена с некоторыми рисками:
Если обе записи в конечном итоге достигнут стоп-лосса, потеря будет больше.
Если уровень стоп-лосса установлен неправильно, он может не эффективно контролировать риски и привести к неприемлемым потерям.
Если время входа выбрано неправильно, это может привести к неблагоприятному входу и большей вероятности попасть в ловушку.
Необоснованные параметры, такие как слишком большое расстояние до получения прибыли или слишком близкое остановка убытков, могут уменьшить прибыль.
Эти риски могут быть уменьшены и избегнуты путем разумной оптимизации параметров и строгого контроля рисков.
Стратегия также может быть оптимизирована в следующих аспектах:
Испытывать различные технические индикаторы в качестве сигналов входа для поиска лучших точек входа.
Тестируйте и оптимизируйте уровни получения прибыли и остановки убытков для максимизации соотношения риск-вознаграждение.
Испытать различные методы добавления для определения оптимальных кратных добавления.
Добавить правила оценки тренда, чтобы избежать записи контртенда.
Оптимизировать выбор временных периодов входа, чтобы избежать неблагоприятных входов.
В целом, эта стратегия очень практична и имеет сильное практическое значение. Способ двойного входа может получить более высокую доходность при одновременном контроле рисков. Позиция, средняя отслеживающая стоп-лосс, может эффективно блокировать прибыль и контролировать риски. При разумной оптимизации параметров и строгом контроле рисков эта стратегия может достичь устойчивой и последовательной Альфы.
/*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 )