Торговые стратегии, основанные на паттерне «от пика до пика»


Дата создания: 2024-02-20 15:40:58 Последнее изменение: 2024-02-20 15:40:58
Копировать: 0 Количество просмотров: 629
1
Подписаться
1617
Подписчики

Торговые стратегии, основанные на паттерне «от пика до пика»

Обзор

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

Стратегический принцип

Эта стратегия определяет вершины K-линейной диаграммы, определяя восходящий пик (upFractal) и нисходящий (downFractal).

В частности, логика определения пика восхождения заключается в следующем: высота текущей линии K является высотой последней из n корней линии K, и ни одна последующая высота линии K не превышает высоту текущей линии K.

Логика суждения о понижающемся пике заключается в следующем: низкая точка текущей линии K является самой низкой точкой последней из n корней линии K, и ни одна последующая низкая точка линии K не ниже низкой точки текущей линии K.

Здесь используются булевые переменные и циклы для определения корней K впереди и позади n-го корня и их связи с высокой и низкой точкой текущей линии K, в конечном итоге определяя пики подъема и пики падения.

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

  1. Определение пиковой высоты и пиковой высоты
  2. Например, если мы говорим, что мы делаем больше, то делаем больше, а когда мы делаем меньше, то делаем меньше.

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

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

  1. Пик-пик легко распознается и легко управляется
  2. Использование технологических форм без влияния на фундаментальные принципы
  3. Возврат может быть небольшим

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

Однако эта стратегия также несет в себе некоторые риски:

  1. “Все, что мы делаем, это пытаемся выиграть время, чтобы выиграть время, чтобы выиграть время”.
  2. Стоп-лосс может быть сложнее определить при резких изменениях ситуации
  3. “Все зависит от формы, а другие факторы игнорируются”.

Ответ:

  1. Настройка параметров пиковой формы, оптимизация логики суждения
  2. Определение стоп-позиции в сочетании с другими показателями
  3. Использование в сочетании с фундаментальным анализом или другими стратегиями

Направление оптимизации

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

  1. Добавление параметров для регулировки пространства, оптимизация вершины вершины формы суждения
  2. Присоединение логики стоп-лоста
  3. Другие показатели, такие как объем или волатильность
  4. Анализ различных временных циклов

Подвести итог

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

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

//@version=5
strategy("sanju parmar", shorttitle="sanju trading empire", overlay=true)

// Define "n" as the number of periods and keep a minimum value of 2 for error handling.
n = input.int(title="Periods", defval=2, minval=2)

// UpFractal
bool upflagDownFrontier = true
bool upflagUpFrontier0 = true
bool upflagUpFrontier1 = true
bool upflagUpFrontier2 = true
bool upflagUpFrontier3 = true
bool upflagUpFrontier4 = true

for i = 1 to n
    upflagDownFrontier := upflagDownFrontier and (high[n-i] < high[n])
    upflagUpFrontier0 := upflagUpFrontier0 and (high[n+i] < high[n])
    upflagUpFrontier1 := upflagUpFrontier1 and (high[n+1] <= high[n] and high[n+i + 1] < high[n])
    upflagUpFrontier2 := upflagUpFrontier2 and (high[n+1] <= high[n] and high[n+2] <= high[n] and high[n+i + 2] < high[n])
    upflagUpFrontier3 := upflagUpFrontier3 and (high[n+1] <= high[n] and high[n+2] <= high[n] and high[n+3] <= high[n] and high[n+i + 3] < high[n])
    upflagUpFrontier4 := upflagUpFrontier4 and (high[n+1] <= high[n] and high[n+2] <= high[n] and high[n+3] <= high[n] and high[n+4] <= high[n] and high[n+i + 4] < high[n])
flagUpFrontier = upflagUpFrontier0 or upflagUpFrontier1 or upflagUpFrontier2 or upflagUpFrontier3 or upflagUpFrontier4

upFractal = (upflagDownFrontier and flagUpFrontier)


// downFractal
bool downflagDownFrontier = true
bool downflagUpFrontier0 = true
bool downflagUpFrontier1 = true
bool downflagUpFrontier2 = true
bool downflagUpFrontier3 = true
bool downflagUpFrontier4 = true

for i = 1 to n
    downflagDownFrontier := downflagDownFrontier and (low[n-i] > low[n])
    downflagUpFrontier0 := downflagUpFrontier0 and (low[n+i] > low[n])
    downflagUpFrontier1 := downflagUpFrontier1 and (low[n+1] >= low[n] and low[n+i + 1] > low[n])
    downflagUpFrontier2 := downflagUpFrontier2 and (low[n+1] >= low[n] and low[n+2] >= low[n] and low[n+i + 2] > low[n])
    downflagUpFrontier3 := downflagUpFrontier3 and (low[n+1] >= low[n] and low[n+2] >= low[n] and low[n+3] >= low[n] and low[n+i + 3] > low[n])
    downflagUpFrontier4 := downflagUpFrontier4 and (low[n+1] >= low[n] and low[n+2] >= low[n] and low[n+3] >= low[n] and low[n+4] >= low[n] and low[n+i + 4] > low[n])
flagDownFrontier = downflagUpFrontier0 or downflagUpFrontier1 or downflagUpFrontier2 or downflagUpFrontier3 or downflagUpFrontier4

downFractal = (downflagDownFrontier and flagDownFrontier)

plotshape(downFractal, style=shape.triangleup, location=location.belowbar, offset=-n, color=#18f523, size = size.small)
plotshape(upFractal, style=shape.triangledown, location=location.abovebar, offset=-n, color=#cf3d11, size = size.small)

// Strategy Conditions
longCondition = upFractal
shortCondition = downFractal

// Strategy Entry and Exit
if (longCondition)
    strategy.entry("Buy", strategy.long)
if (shortCondition)
    strategy.entry("Sell", strategy.short)