Стратегия захвата горизонтального прорыва тренда


Дата создания: 2024-04-26 15:22:06 Последнее изменение: 2024-04-26 15:22:06
Копировать: 4 Количество просмотров: 627
1
Подписаться
1617
Подписчики

Стратегия захвата горизонтального прорыва тренда

Обзор

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

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

  1. При условии, что минимальная цена предыдущей линии K больше, чем текущая цена закрытия, в месте минимальной цены предыдущей линии K нарисуйте горизонтальную линию длиной 20 и всегда сохраняйте только последние 10 линий.
  2. Если текущая цена пересекает новую горизонтальную линию вверх, выровняйте все предыдущие заказы и сделайте их заново.
  3. Если у вас есть позиции, то сначала снижайте их, а потом увеличивайте.

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

  1. Стратегическая логика проста и понятна, легко понятна и реализуема.
  2. Сигналы могут быть получены путем прорыва горизонтальной линии, поддерживающей сопротивление, что позволяет лучше улавливать тенденции.
  3. При появлении новой горизонтальной линии первоначально ликвидируются предыдущие позиции, а затем открываются новые, что позволяет снизить риск, который может быть связан с открытием предыдущих позиций.
  4. Стратегию можно оптимизировать, регулируя длину и количество горизонтальных линий.

Стратегический риск

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

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

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

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

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

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Traderxprox

//@version=5
strategy("Alarm Trader_ALL", overlay=true)

// Yatay çizgi oluşum
yatayc = low[1] > close[0]

if yatayc
    if strategy.opentrades > 0
        strategy.close("AL", comment = "Fiyat:" + str.tostring(low[1], "#.##") + "\n" + timeframe.period +"\n Yatay Direnç Oluştu")
    else
        strategy.entry("AL", strategy.long, comment = "Fiyat:" + str.tostring(low[1], "#.##") + "\n" + timeframe.period +"\n Yatay Direnç Oluştu")


//YATAY ÇİZGİ
int cizgilen = input.int(20, "Çizgi uzunluğu?", group = "Yatay Çizgi Ayarları")
var array<line> lines = array.new<line>()
int numberOfLines = input.int(10, "Son Kaç Çizgi?", 0, group = "Yatay Çizgi Ayarları")
kural22 = low[1] > close[0]
// if kural22
//     newLine = line.new(bar_index-2, low[1], bar_index+cizgilen, low[1] ,color=color.red, width=1, style=line.style_solid)
//     // Push the `newLine` into the `lines` array.
//     lines.push(newLine)
//     // Delete the oldest line when the size of the array exceeds the specified `numberOfLines`.
//     if array.size(lines) > numberOfLines
//         line.delete(lines.shift())
    
// Alarm kırılım için koşul

var float lastLinePrice = na
if not na(close) and array.size(lines) > 0 
    lastLinePrice := line.get_price(array.get(lines, array.size(lines) - 1), bar_index)
if open < lastLinePrice and close > lastLinePrice
    if strategy.opentrades > 0
        strategy.close("AL", comment = "Fiyat:" + str.tostring(lastLinePrice, "#.##") + "\n" + timeframe.period +" \n Yatay çizgi yukarı kırılımı")
    else
        strategy.entry("AL", strategy.long, comment = "Fiyat:" + str.tostring(lastLinePrice, "#.##") + "\n" + timeframe.period +" \n Yatay çizgi yukarı kırılımı")