Эта стратегия называется “Стратегия отслеживания трендов на основе ценового объединения”. Эта стратегия учитывает одновременно показатели цены и объема сделки, чтобы определить направление тенденции и использовать эффекты торговых сигналов ценовой конъюнктуры.
Логика сделки в стратегии выглядит следующим образом:
Сначала вычислите 5-дневную скользящую среднюю цены и 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 )