Эта стратегия является количественной торговой системой, основанной на открытом рынке (OME), которая принимает торговые решения путем расчета совокупных значений OME для оценки рыночных тенденций в сочетании с индикаторами контроля риска, такими как коэффициент Шарпа. Стратегия использует динамический механизм получения прибыли и остановки потери для эффективного контроля риска при одновременном обеспечении доходности.
Основой стратегии является измерение рыночных тенденций с помощью расчета открытого рынка (OME). OME рассчитывается как соотношение разницы между текущей ценой закрытия и ценой открытия предыдущего дня относительно предыдущей цены открытия. Стратегия устанавливает накопительные пороги OME в качестве торговых сигналов, входящие в длинные позиции, когда накопительный OME превышает установленный порог, и закрывающие позиции, когда он падает ниже отрицательного порога.
Стратегия динамической корректировки позиций на открытом рынке - это полная торговая система, которая сочетает в себе технический анализ и управление рисками. Благодаря инновационному применению индикатора OME она достигает эффективного понимания рыночных тенденций. Общая конструкция стратегии разумна, с сильной практичностью и масштабируемостью. Благодаря постоянной оптимизации и улучшению эта стратегия имеет потенциал для достижения лучших результатов в фактической торговле.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-11 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Open Market Exposure (OME) Strategy", overlay=true) // Input parameters length = input(14, title="Length for Variance") sharpe_length = input(30, title="Length for Sharpe Ratio") threshold = input(0.01, title="Cumulative OME Threshold") // Define a threshold for entry take_profit = input(0.02, title="Take Profit (%)") // Define a take profit percentage stop_loss = input(0.01, title="Stop Loss (%)") // Define a stop loss percentage // Calculate Daily Returns daily_return = (close - close[1]) / close[1] // Open Market Exposure (OME) calculation ome = (close - open[1]) / open[1] // Cumulative OME var float cum_ome = na if na(cum_ome) cum_ome := 0.0 if (dayofweek != dayofweek[1]) // Reset cumulative OME daily cum_ome := 0.0 cum_ome := cum_ome + ome // Performance Metrics Calculation (Sharpe Ratio) mean_return = ta.sma(cum_ome, sharpe_length) std_dev = ta.stdev(cum_ome, sharpe_length) sharpe_ratio = na(cum_ome) or (std_dev == 0) ? na : mean_return / std_dev // Entry Condition: Buy when Cumulative OME crosses above the threshold if (cum_ome > threshold) strategy.entry("Long", strategy.long) // Exit Condition: Sell when Cumulative OME crosses below the threshold if (cum_ome < -threshold) strategy.close("Long") // Take Profit and Stop Loss if (strategy.position_size > 0) // Calculate target and stop levels target_price = close * (1 + take_profit) stop_price = close * (1 - stop_loss) // Place limit and stop orders strategy.exit("Take Profit", "Long", limit=target_price) strategy.exit("Stop Loss", "Long", stop=stop_price)