Следующая открытая стратегия получения прибыли

Автор:Чао Чжан, Дата: 2024-01-03 16:19:01
Тэги:

img

Обзор

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

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

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

Анализ преимуществ

Стратегия имеет следующие преимущества:

  1. Используйте эффект закрытия, когда колебания цены и разрыв больше во время закрытия.

  2. Короткий период хранения позволяет быстро остановить потерю и получить прибыль, чтобы уменьшить риски.

  3. Логика проста и легко понять и реализовать.

  4. Гибкая конфигурация линии стоп-лосса и индикатора состояния рынка для контроля рисков.

Анализ рисков

Существуют также некоторые риски:

  1. Покупка по цене закрытия может включать позиции по высоким ценам, увеличивая риск потери.

  2. Короткий срок ожидания позволяет легко попасть в ловушку.

  3. Он опирается на большие пробелы, которые не всегда формируются, что приводит к потерям или застрявшим позициям.

  4. Выбор неправильного символа, например, консолидация индекса, может привести к многократным потерям.

Решения:

  1. Комбинировать технические показатели для обеспечения покупки на относительном дне при закрытии.

  2. Продлить срок хранения до 2-3 дней.

  3. Покупайте только в подходящие моменты.

  4. Внимательный выбор символов, выбирайте символы с восходящим трендом.

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

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

  1. Добавить больше технических показателей для сигнала покупки для повышения уверенности.

  2. Проверьте различные периоды хранения, чтобы найти оптимальное время получения прибыли.

  3. Оптимизируйте линию стоп-лосса, чтобы найти оптимальную точку стоп-лосса.

  4. Проверка производительности на различных символах и рыночных условиях, принятие динамического управления символами и позициями.

Резюме

Стратегия имеет четкую логику, используя эффект закрытия разрыва для быстрой торговли стоп-лосс / прибыль. Она проста в реализации и понимании. Но также имеет высокие риски ловушки. Размер позиции, управление стоп-лосс и выбор акций являются критическими.


/*backtest
start: 2022-12-27 00:00:00
end: 2024-01-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//  @version=4
//  © HermanBrummer
//  This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
strategy("M8 BUY @ END OF DAY", "", 1)

///         BUYS AT THE END OF THE DAY
///         SELLS THE NEXT MORNING IF PRICE IS HIGHER THEN THE ENTRY PRICE
///         IF PRICE IS NOT HIGHER THEN IT WILL KEEP THE POSITION AND WAIT FOR EITHER A STOP OUT OR FOR PRICE TO BE HIGHER THAN THE ENTRY
///         USES A 5% STOP LOSS ON THE REDLINE  -- SETTABLE IN SETTINGS
///         USES A 200 DAY MARKET FILTER        -- SETTABLE IN SETTINGS -- IMPORTS DATA FROM HIGHER TIMEFRAME, BUT USES CLOSE[2] << SO THIS IS FIXED, NON-REPAITING DATA


MarketFilterLen = input(200)
StopLossPerc    = input(.95, step=0.01)

buyTime         = time(timeframe.period, "1429-1500")
sellTime        = time(timeframe.period, "0925-0935")

F1              = close > sma(security(syminfo.tickerid, "D", close[2]), MarketFilterLen) // HIGH OF OLD DATA -- SO NO REPAINTING

enter           = buyTime and F1
exit            = sellTime


StopLossLine    = strategy.position_avg_price * StopLossPerc

plot(StopLossLine, "StopLossLine", color.new(#FF0000, 50))

strategy.entry("L", true, when=enter)
strategy.exit("StopLoss", stop=StopLossLine )
if  close > strategy.position_avg_price
    strategy.close("L", when=exit)

barcolor(strategy.opentrades != 0 ? color.new(color.yellow, 0) : na ) 


Больше