Тенденция в соответствии со стратегией, основанной на интеграции цены и объема

Автор:Чао Чжан, Дата: 2023-09-13 15:25:20
Тэги:

Эта стратегия называется Стратегия следования тренду на основе интеграции цены и объема. Она рассматривает как ценовые, так и объемные показатели для определения направления тренда и генерации сигналов, согласованных с силами цены и объема.

Логика торговли следующая:

Сначала вычислим пятидневную скользящую среднюю цену и 15-дневную скользящую среднюю величину объема.

Когда 5-дневная скользящая средняя цена поднимается, а 15-дневная скользящая средняя величина также поднимается, это сигнализирует синхронизированное повышение цены и объема, чтобы генерировать сигналы покупки.

Когда 5-дневная скользящая средняя цена падает или 15-дневная скользящая средняя величина падает, существующие длинные позиции закрываются.

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

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

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


/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-12 00:00:00
period: 1d
basePeriod: 1h
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/
// © Celar

//@version=5
strategy("VOLLY PRICE CONVERGE", default_qty_type= strategy.percent_of_equity )
base_sma = ta.sma(close, 10)
vol_sma5 = ta.hma(volume, 15)
price_sma5 = ta.hma(close, 15)
ma50 = ta.sma(close, 50)
ma20 = ta.sma(close, 20)
int vol_indicator = na
int price_indicator = na

if vol_sma5 > vol_sma5[1]
    vol_indicator := 1
else
    vol_indicator := 0

if price_sma5 > price_sma5[1]
    price_indicator := 1
else
    price_indicator := 0
        
signal = vol_indicator + price_indicator

colour = signal == 2 ?  #00802b : signal == 1 ? #cc2900 : color.white 

bank_roll = strategy.equity
qty = bank_roll/close

strategy.entry("Long", strategy.long, qty, when = signal == 2 and close > base_sma)
// Generate a full exit bracket (profit 10 points, loss 5 points per contract) from the entry named "Long".
strategy.close("Long", when = signal == 1 or signal == 0 or close < base_sma )

 
        

Больше