
Эта стратегия является стратегией торговли биткойном в лондонские торговые часы, основанной на технических показателях MACD и RSI. Она открывает позиции только в лондонские торговые часы, используя MACD, чтобы определить направление тренда войти в поле, и использовать RSI, чтобы определить перекуп и перепродажу выйти из поля.
Лондонское время торгов очень активно на валютном рынке, и большинство учреждений участвуют в этом. Эта стратегия устанавливает Лондонское время между 7:00 и 16:00, и только в это время открываются позиции.
MACD обычно может определить направление тренда. Когда быстрая линия пересекает медленную линию, она становится золотой, означая приближение подъема, и делает больше; когда быстрая линия пересекает медленную линию, она становится мертвой, означая приближение падения, и делает пустоту.
RSI может определить, является ли рынок перекупленным или перепроданным. Когда RSI больше 70, это означает перекуп, а когда RSI меньше 30, это означает перепродажу.
Наибольшим преимуществом этой стратегии является сочетание трендовых торгов и ритмических торгов сверхпокупа и перепродажи. В случае отсутствия явных тенденций она может использовать MACD для определения возможного тренда; а использование RSI для управления риском, чтобы избежать слепого преследования падения без четкой тенденции. Кроме того, эта стратегия открывает позиции только во время институционального Лондонского торгового периода, что позволяет уменьшить влияние на стратегию иррациональных ценовых колебаний.
Основной риск этой стратегии заключается в том, что MACD, как технический показатель рыночной консолидации, не очень хорошо работает при четких тенденциях. В случае длительного одностороннего движения сигналы MACD могут часто выходить из строя. Кроме того, RSI может выйти из строя в случае высокого или низкого уровня. Чтобы снизить эти риски, мы можем соответствующим образом скорректировать параметры или добавить другие волновые условия, чтобы обеспечить открытие позиции только при высоковероятных сигналах.
Эта стратегия может быть оптимизирована в следующих аспектах:
Добавление фильтров для других технических показателей, таких как линия Brin, KDJ и т. д., чтобы избежать ложных прорывов.
Добавление стоп-стратей, таких как движущиеся стопы или стоп-стрипы, чтобы зафиксировать больше прибыли.
Оптимизация параметров, адаптация параметров MACD и RSI к различным типам ситуаций.
Добавление элементов машинного обучения, использование моделей глубокого обучения, таких как lstm, для определения стратегии трендов.
В целом, эта стратегия является надежной стратегией торговли биткойнами в лондонский торговый час. Она сочетает тенденции и ритм, обеспечивая высокую вероятность получения прибыли, эффективно фильтруя неэффективные сигналы. Эта стратегия может дополнительно повысить стабильность и доходность путем постоянной оптимизации параметров и добавления других технических показателей.
/*backtest
start: 2023-11-19 00:00:00
end: 2023-11-22 08:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("London MACD RSI Strategy -1H BTC", overlay=true)
// Define London session times
london_session_start_hour = input(6, title="London Session Start Hour")
london_session_start_minute = input(59, title="London Session Start Minute")
london_session_end_hour = input(15, title="London Session End Hour")
london_session_end_minute = input(59, title="London Session End Minute")
// Define MACD settings
fastLength = input(12, title="Fast Length")
slowLength = input(26, title="Slow Length")
signalSMA = input(9, title="Signal SMA")
// RSI settings
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(65, title="RSI Overbought")
rsiOversold = input(35, title="RSI Oversold")
// Calculate MACD
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSMA)
// Calculate RSI
rsi = ta.rsi(close, rsiLength)
// Convert input values to timestamps
london_session_start_timestamp = timestamp(year, month, dayofmonth, london_session_start_hour, london_session_start_minute)
london_session_end_timestamp = timestamp(year, month, dayofmonth, london_session_end_hour, london_session_end_minute)
// Filter for London session
in_london_session = time >= london_session_start_timestamp and time <= london_session_end_timestamp
// Long and Short Conditions
longCondition = ta.crossover(macdLine, signalLine) and rsi < rsiOversold and in_london_session
shortCondition = ta.crossunder(macdLine, signalLine) and rsi > rsiOverbought and in_london_session
// Strategy entries and exits
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)