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


Дата создания: 2023-10-18 11:36:38 Последнее изменение: 2023-10-18 11:36:38
Копировать: 3 Количество просмотров: 649
1
Подписаться
1617
Подписчики

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

Обзор

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

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

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

В этой стратегии используются четыре основных показателя:

  • AO-шоблер: динамика изменения цены, используется для определения обратного тренда.
  • Относительно сильный RSI: отражает перекуп и перепродажу. Ниже 30 - это зона перепродажи.
  • StochStochastic: отражает зону перекупа. Ниже 20 - зону перепродажи.
  • Средняя реальная волнообразность ATR: отражает волнообразность недавних колебаний цен.

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

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

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

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

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

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

  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)