Это динамическая торговая стратегия, основанная на линиях K и D индикатора сглаженного стохастического осциллятора.
Стратегия состоит из следующих частей:
Настройки индикатора
Использование 14-периодного RSI для генерации линий K и D индикатора сглаженного стохастического осциллятора с 3-периодным SMA, применяемым на линиях K и D.
Производство сигнала
Когда линия К пересекает уровень 20, генерируется сигнал покупки для длинного входа.
Остановить потерю
Стоп-лосс используется с фиксированным расстоянием стоп-лосса. Также как цена стоп-лосса используется самый низкий минимум за последние 20 периодов.
Размер позиции
Количество точек между ценой стоп-лосса и текущим закрытием рассчитывается с использованием минимума за последние 20 периодов.
Таким образом, стратегия определяет прорыв импульса при перепроданном изменении как сигнал вступления и принимает точное размещение позиций и отслеживание стоп-лосса для изменения импульса торговли с эффективным контролем риска.
Стратегия имеет следующие преимущества:
Ясный сигнал на выход из зоны перекупленности с сильным импульсом.
Гибкие движения для остановки после рыночных колебаний.
Точное размещение позиций контролирует риск одной сделки.
Точная стоп-лосс на основе исторического минимума.
Простая и понятная логика размеров позиций.
Простая и понятная логика стратегии, легко понятная.
Чистая структура кода, легко читаемая и модифицируемая.
Есть некоторые риски для стратегии:
Частые стоп-лосс во время волатильности рынка.
Потенциал больше, чем торговля.
Одно направленное владение, не в состоянии получить прибыль от обратного движения цен.
Неэффективная фильтрация рыночных условий. Частые стоп-лосс во время рыночного диапазона.
Ниже приведены оптимизации, которые могут помочь управлять рисками:
Оптимизируйте параметры, чтобы избежать чрезмерной торговли.
Используйте поэтапные записи, чтобы снизить риск в одном направлении.
Добавьте анализ тенденции более широкого временного рамок, чтобы избежать торговли в неблагоприятных рыночных условиях.
Оптимизировать стратегию стоп-лосса для предотвращения чрезмерной чувствительности.
Следующие аспекты стратегии могут быть оптимизированы:
Оптимизируйте стоп-лосс с использованием динамической стоп-лосс, этапированной стоп-лосс, скользящей средней и т.д., чтобы сделать его более плавным.
Добавьте анализ тенденции более крупных временных рамок, чтобы избежать торговли на боковых рынках.
Рассмотрим два направления, чтобы извлечь выгоду из отклонений.
Использовать машинное обучение для автоматической оптимизации параметров для поиска оптимальных параметров для изменения рыночных условий.
Оптимизировать размер позиций с использованием фиксированного процента, фиксированного капитала и т.д. для улучшения использования капитала.
Добавьте больше фильтров с такими показателями, как объем, полосы Боллинджера, чтобы улучшить качество торговых сигналов.
В целом это простая и ясная стратегия прорыва импульса. Она использует осторожный подход стоп-лосса для эффективного контроля риска одной торговли. Но все еще необходимы оптимизации, чтобы лучше адаптировать стратегию к конкретным рыночным условиям, отфильтровать неэффективные сигналы и достичь лучшего баланса между доходностью и риском. Улучшение анализа тенденций более крупных временных рамок и размещение позиций являются важными направлениями оптимизации для этой стратегии. Вкратце, как основная стратегия прорыва импульса, она все еще практична и стоит дальнейшего исследования, чтобы адаптировать ее к рыночным условиям конкретных торговых инструментов.
//@version=2 //descripcion: //entrada en saturacion oscilador estocastico //salida por trailing strategy("MomentumBreak#1", overlay=true,calc_on_every_tick=true, default_qty_type=strategy.fixed,currency="USD") //entradas y variables de indicadores smoothK = input(3, minval=1) smoothD = input(3, minval=1) lengthRSI = input(14, minval=1) lengthStoch = input(14, minval=1) src = input(close, title="RSI Source") rsi1 = rsi(src, lengthRSI) k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) d = sma(k, smoothD) overbought=input(80) oversold=input(20) //entradas de stop , trail, profit stop=input(1500) stop_dentro_de_los_ultimos_lows=input(20) trail_points=input(500) trail_offset=input(100) profit=input(1000) riesgo_en_dolares=input(15) //condicion de compra: k>80 buycondition=crossover(k,oversold) //entrada a la posicion posicionabierta=0 if year>2015 if buycondition stoplow=lowest(stop_dentro_de_los_ultimos_lows) riesgo_en_pips = (close - stoplow) valor_del_pip = (riesgo_en_dolares / riesgo_en_pips) tamanio_de_la_posicion= ( valor_del_pip) //la posicion la esta calculando bien strategy.entry("buy",strategy.long) strategy.exit("salida","buy",trail_points=trail_points,trail_offset=trail_offset,stop=stoplow,comment=tostring(stoplow)) //////////////////////////////////condicion de stop por drodown 10% equity //strategy.risk.max_drawdown(15,strategy.cash) // condicion de stop por perdida mayor a $15 en op abierta //strategy.risk.max_intraday_loss(15,strategy.cash) //formas de tomar stop: // cuando llega a una media movil: strategy.close o strategyentry o strategy.exit o strategy.order // determinado por un numero de pips strategy.exit // determinado por el calculo de la posicion: //tomar el minimo minimo de los ultimos 20 periodos, guardarlo como nivel de stop //calcular la posicion en base a ese stop: //prcio de entrada - precio de stop = pips_en-reisgo //riesgo_e_dolares / pips_en_riesgo = pip_value //position_size=10000 * pip_value