Многопоказательная стратегия покупки и продажи

Автор:Чао Чжан, Дата: 2023-10-18 11:36:38
Тэги:

img

Обзор

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

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

Принимать позиции, когда RSI и Stoch находятся в перепроданных/перекупленных зонах, а осциллятор AO показывает сигнал обратного движения. В частности, делать длинный ход, когда RSI и Stoch находятся на низком уровне (ниже 30 и 20) и AO переходит от отрицательного к положительному; делать короткий ход, когда RSI и Stoch находятся на высоком уровне (выше 70 и 80) и AO переходит от положительного к отрицательному. Настроить стоп-лосс и прибыль на основе значения ATR для корректировки уровня потерь/прибыли в соответствии с волатильностью рынка.

Стратегия в основном использует четыре показателя:

  • Осиллятор AO: отражает динамику цен, может использоваться для выявления изменения тренда.
  • RSI: отражает уровни перекупленности/перепроданности. Ниже 30 - зона перепроданности.
  • Стоки: отражают зоны перекупки/перепродажи.
  • ATR: отражает недавнюю волатильность цен.

Когда AO показывает сигнал обратного движения, а RSI и Stoch находятся в перепроданных/перекупленных зонах, цена может перейти в обратную сторону. Занимайте позиции в это время. Используйте ATR для установки стоп-лосса и ценообразования на прибыль, чтобы не попасть в ловушку путем корректировки диапазона потерь/прибыли на основе волатильности.

Преимущества

  • Использовать несколько индикаторов для подтверждения сигналов, избегая ошибочных сделок с одного индикатора.
  • Установка стоп-лосса/прибыли на основе волатильности для контроля однократных потерь.
  • Простая и понятная логика, легко понятная и реализуемая.
  • Используйте ситуации перекупки/перепродажи, чтобы зафиксировать перелом.

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

  • AO может генерировать ложные сигналы, необходимо сочетаться с RSI и Stoch, чтобы избежать неправильных сделок.
  • Фиксированные параметры могут не адаптироваться к изменениям рынка.
  • Стоп-лосс слишком близко может привести к частым остановкам. Может ослабить диапазон стоп-лосса или использовать стратегии выхода.
  • Фиксированная прибыль может выйти слишком рано или слишком поздно.

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

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

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

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

  1. Оптимизируйте параметры, пересекая различные значения.

  2. Добавьте условия фильтра при входе, чтобы избежать ложных сигналов.

  3. Оптимизируйте методы стоп-лосса, такие как стоп-лосс.

  4. Оптимизируйте способы получения прибыли, например, адаптивные способы получения прибыли.

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

  6. Оптимизировать управление денежными средствами путем корректировки размеров позиций в зависимости от риска.

  7. Испытать и оптимизировать параметры и уровни остановки/прибыли на основе различных инструментов и сроков.

  8. Обращайтесь с экстремальными событиями, такими как избегание сделок во время новостей или быстрых потерь.

Резюме

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


/*backtest
start: 2023-09-17 00:00:00
end: 2023-10-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

strategy("Buy&Sell Strategy depends on AO+Stoch+RSI+ATR by SerdarYILMAZ", shorttitle="Buy&Sell Strategy")
// Created by Serdar YILMAZ
// This strategy is just for training, its purpose is just learning code in pine script.
// Don't make buy or sell decision with this strategy.
// Bu strateji sadece pine script'te kodlamanın nasıl yapildigini ogrenmek icindir.
// Bu stratejiye dayanarak, kesinlikle al-sat islemleri yapmayin.

//AO

fast=input(title="Fast Length",type=input.integer,defval=5)
slow=input(title="Slow length",type=input.integer,defval=34)

awesome=(sma(hl2,fast)-sma(hl2,slow))*1000

plot(awesome, style=plot.style_histogram, color=(awesome>awesome[1]?color.green:color.red))

//Stoch

K=input(title="K",type=input.integer,defval=14)
D=input(title="D",type=input.integer,defval=3)
smooth=input(title="smooth",type=input.integer,defval=3)

k=sma(stoch(close,high,low,K),D)
d=sma(k,smooth)

hline(80)
hline(20)

plot(k,color=color.blue)

//RSI

rsisource=input(title="rsi source",type=input.source,defval=close)
rsilength=input(title="rsi length",type=input.integer,defval=10)

rsi=rsi(rsisource,rsilength)

hline(70,color=color.orange)
hline(30,color=color.orange)

plot(rsi,color=color.orange)

//ATR

atrlen=input(title="ATR Length", type=input.integer,defval=14)

atrvalue=rma(tr,atrlen)

plot(atrvalue*1000,color=color.green)

LongCondition=k<20 and rsi<30 and awesome>awesome[1]
ShortCondition=k>80 and rsi>70 and awesome<awesome[1]
if (LongCondition)
    stoploss=low-atrvalue
    takeprofit=close+atrvalue
    strategy.entry("Long Position", strategy.long)
    strategy.exit("TP/SL",stop=stoploss,limit=takeprofit)
    
if (ShortCondition)
    stoploss=high+atrvalue
    takeprofit=close-atrvalue
    strategy.entry("Short Position",strategy.short)
    strategy.exit("TP/SL",stop=stoploss,limit=takeprofit)
    
    

    
    




Больше