Эта стратегия оценивает рыночные тенденции, рассчитывая перекресток между индикатором импульса и индексом страха, и выпускает сигналы продажи, когда два индикатора совершают конкретные перекрестки, чтобы поймать резкие спады.
Вычислите 50-периодный индикатор импульса. Он представляет собой изменение цены относительно 50 периодов назад.
Вычислите индекс страха, скорректированный на 22 периода. Он представляет панику рынка через соотношение самых высоких и самых низких цен.
Когда индикатор импульса переходит ниже индекса страха, это указывает на давление на рынке.
Если импульс продолжает падать в опасную зону (между -5 и 5), выходит сильный сигнал продажи.
Использование индекса страха, индикатора настроения на рынке, может эффективно определить структурные изменения на рынке.
Показатель импульса может оценить скорость и величину изменений цен и помочь определить изменения тенденции.
Объединение двух различных типов показателей может улучшить точность выявления внезапных событий.
Настройка параметров позволяет гибко адаптироваться к различным рыночным условиям.
Пересечения индекса страха и импульса не гарантируют всякого большого снижения.
Нет стоп-лосса после продажи не может эффективно контролировать потери.
Не рассматриваются обратные и повторные входы, стратегия подходит только для захвата внезапных аварий.
Установите стоп-лосс после продажи для контроля потерь.
Добавить другие показатели для оценки и повышения надежности сигнала, например, объем, диапазоны Боллинджера.
Добавление сигналов о повторном входе позволяет стратегии выполнять долгосрочные циклы.
Оптимизируйте параметры, чтобы найти лучшие комбинации параметров.
Стратегия выпускает предупреждения о падении рынка через перекрестные показатели импульса и индекса страха. Она может эффективно улавливать внезапные крахи рынка. Но стратегия подходит только для краткосрочного использования без механизмов выхода и контроля рисков. Необходимы дальнейшие улучшения, чтобы сделать ее устойчивой долгосрочной стратегией.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 2h 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/ // © gary_trades //THIS SCRIPT HAS BEEN BUIL TO BE USED AS A S&P500 SPY CRASH INDICATOR (should not be used as a strategy). //THIS SCRIPT HAS BEEN BUILT AS A STRATEGY FOR VISUALIZATION PURPOSES ONLY AND HAS NOT BEEN OPTIMISED FOR PROFIT. //The script has been built to show as a lower indicator and also gives visual SELL signal on top when conditions are met. BARE IN MIND NO STOP LOSS, NOR ADVANCED EXIT STRATEGY HAS BEEN BUILT. //As well as the chart SELL signal an alert has also been built into this script. //The script utilizes a VIX indicator (marron line) and 50 period Momentum (blue line) and Danger/No trade zone(pink shading). //When the Momentum line crosses down across the VIX this is a sell off but in order to only signal major sell offs the SELL signal only triggers if the momentum continues down through the danger zone. //To use this indicator to identify ideal buying then you should only buy when Momentum line is crossed above the VIX and the Momentum line is above the Danger Zone. //This is best used as a daily time frame indicator //@version=4 strategy(title="S&P Bear Warning", shorttitle="Bear Warning" ) //Momentum len = input(50, minval=1, title="Length") src = input(close, title="Source") bandUpper = input( 5) bandLower = input(-5) // ————— Control plotting of each signal. You could use the same technique to be able to turn acc/dist on/off. showVixFix = input(true) showMomentum = input(true) mom = src - src[len] myAtr = atr(14) plot(showMomentum ? mom : na, color=color.blue, title="MOM") plot(showMomentum ? 0 : na, color=color.silver, title="MOM Zero line", style=plot.style_circles, transp=100) plot(showMomentum ? myAtr : na, color=color.orange, title="ATR", transp=90) //VIX VIXFixLength = input(22,title="VIX Fix Length") VIXFix = (highest(close,VIXFixLength)-low)/(highest(close,VIXFixLength))*100 plot(showVixFix ? VIXFix : na, "VIXFix", color=color.maroon) band1 = plot(showVixFix ? bandUpper : na, "Upper Band", color.red, 1, plot.style_line, transp=90) band0 = plot(showVixFix ? bandLower : na, "Lower Band", color.red, 1, plot.style_line, transp=90) fill(band1, band0, color=color.red, transp=85, title="Background") //Identify Triggers //Back Test Range start = timestamp("America/New_York", 2000, 1, 1, 9,30) end = timestamp("America/New_York", 2020, 7, 1, 0, 0) //Momentum Long1 = mom > bandUpper Short1 = mom < bandLower //VIX Long2 = crossover(mom, VIXFix) Short2 = crossunder(mom, VIXFix) //Warning Alert SellAlert = Short1 alertcondition(SellAlert, title="Sell SPY", message="Warning Selling off {{ticker}}, price= {{close}}") //Entry and Exit if true strategy.entry("SELL", false, when = Short1) strategy.close("SELL", when = Long2)