Двухлетняя стратегия скользящей средней с высоким обратным обратным падением


Дата создания: 2024-01-26 14:49:28 Последнее изменение: 2024-01-26 14:49:28
Копировать: 1 Количество просмотров: 577
1
Подписаться
1617
Подписчики

Двухлетняя стратегия скользящей средней с высоким обратным обратным падением

Обзор

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

Принцип стратегии

Основная логика этой стратегии основана на следующем единственном методе расчета:

  1. Когда цены на акции достигают двухлетнего максимума, образуется краткосрочный ценовой пик. Это более критическая ценовая точка.

  2. Когда цена снижается с этого нового максимума и возвращается к 13-дневной скользящей средней индекса, это является хорошей возможностью для покупки. Это является центральной особенностью цены.

  3. Кроме того, при появлении сигнала покупки, цена акций должна находиться в пределах 10% от двухлетнего нового максимума, не слишком далеко. И должна быть ниже 13-й линии и выше 21-й линии, что гарантирует выбор времени покупки.

  4. Если цена упадет на 5% ниже 21-й линии или на 20% ниже своего двухлетнего максимума, то прибыль на позиции, которую вы держите, будет остановлена.

Стратегические преимущества

Это долгосрочная стратегия, которая имеет следующие преимущества:

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

  2. 13-дневная скользящая средняя индекса, используемая в качестве основы для выхода на рынок, может эффективно отфильтровывать колебания и определять более сильный импульс.

  3. Единственный способ вычислить, используя ценовые характеристики, чтобы дать сигнал, избежать субъективных предположений.

  4. При правильном учете стоп-лосса можно зафиксировать большую часть прибыли.

Риски и решения

В этой стратегии также есть некоторые риски, в частности:

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

  2. При наличии больших пробелов в ночное время нельзя полностью остановить убытки. Это требует соответствующего ослабления размера убытков в качестве ответа.

  3. В этом случае можно продлить до 21-й линии.

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

Предложения по оптимизации стратегии

В этой стратегии есть место для оптимизации:

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

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

  3. Оптимизация параметров скользящих средних для лучшего понимания ценовых характеристик.

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

Заключение

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

Исходный код стратегии
/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Part Timer

//This script accepts from and to date parameter for backtesting. 
//This script generates white arrow for each buying signal

//@version=4
strategy("AMRS_LongOnly_PartTimer", overlay = true)

//i_endTime = input(defval = timestamp("02 Jun 2021 15:30 +0000"), title = "End Time", type=input.time)

StartYear=input(defval = 2000, title ="Start Year", type=input.integer)
StartMonth=input(defval = 01, title ="Start Month", type=input.integer)
StartDate=input(defval = 01, title ="Start Date", type=input.integer)

endYear=input(defval = 2021, title ="End Year", type=input.integer)
endMonth=input(defval = 06, title ="End Month", type=input.integer)
endDate=input(defval = 03, title ="End Date", type=input.integer)

ema11=ema(close,11)
ema13=ema(close,13)
ema21=ema(close,21)

afterStartDate = true
//g=bar_index==1
//ath()=>
    //a=0.0
    //a:=g ? high : high>a[1] ? high:a[1]
    
//a = security(syminfo.tickerid, 'M', ath(),lookahead=barmerge.lookahead_on)

newHigh = (high > highest(high,504)[1])
//plot down arrows whenever it's a new high
plotshape(newHigh, style=shape.triangleup, location=location.abovebar, color=color.green, size=size.tiny)
b=highest(high,504)[1]
VarChk=((b-ema13)/b)*100
TrigLow = (low <= ema13) and (low >= ema21) and (VarChk <= 10)
plotshape(TrigLow, style=shape.triangleup, location=location.belowbar, color=color.white, size=size.tiny)
ExitPrice=(ema21 - (ema21*0.05))
DrawPrice=(b - (b*0.20))
stopprice=0.0
if (close <= ExitPrice)
    stopprice := ExitPrice
if (close <= DrawPrice)
    stopprice := DrawPrice

if (TrigLow and afterStartDate)
    strategy.entry("Long", strategy.long)

strategy.exit("exit","Long", stop=stopprice)
//beforeEndDate = (time < i_endTime)
beforeEndDate = (time >= timestamp(syminfo.timezone,endYear, endMonth, endDate, 0, 0))
if (beforeEndDate)
    strategy.close_all()