Золотая крестовая стратегия - это простой рыночный индикатор, который помогает долгосрочным инвесторам определить время входа. Эта стратегия генерирует торговый сигнал на основе перекрестков краткосрочных и долгосрочных движущихся средних. Золотая крестовая линия образуется, когда рынок пересекает долгосрочную движущуюся среднюю над краткосрочной движущейся средней, что означает, что рынок входит в бычьи рынок, и можно сделать больше; и смертельная крестовая линия образуется, когда рынок пересекает долгосрочную движущуюся среднюю ниже краткосрочной движущейся средней, что означает, что рынок входит в медвежий рынок, и должно быть закрыто.
Стратегия использует функцию sma для вычисления простых движущихся средних краткосрочных и долгосрочных. Длина краткосрочных движущихся средних установлена на 50 дней, а длина долгосрочных движущихся средних установлена на 200 дней.
Когда краткосрочная линия пересекает долгосрочную линию, это означает, что рыночная тенденция переходит от понижения к повышению, что приводит к золотому кресту, что является сигналом к увеличению. Стратегия открывает позиции с помощью функции strategy.entry.
Золото/смерть пересекается с рыночной тенденцией, чтобы определить время входа и время позиции, чтобы эффективно отфильтровать рыночный шум. Это простая и практичная стратегия для отслеживания тенденций.
Можно установить стоп-лосс для управления рисками, оптимизировать параметры скользящих средних для уменьшения ложных сигналов, в сочетании с другими показателями для подтверждения надежности сигнала, разработать механизм обработки внезапных событий для реагирования на важные новости.
Эта стратегия может быть оптимизирована в следующих аспектах:
оптимизацию параметров скользящих средних и корректировку длины средних краткосрочных и долгосрочных линий, чтобы они лучше соответствовали характеристикам различных рынков;
Условное определение увеличения объема сделок, которое дает сигнал только в случае увеличения объема сделок;
В сочетании с другими индикаторами, такими как MACD, RSI и т. Д., чтобы подтвердить золотой/смертельный перекрестный сигнал и избежать ложного сигнала;
увеличение стратегий сдерживания убытков, таких как отслеживание убытков, соотношение убытков и т. д., с целью ограничения убытков;
увеличение стратегий управления позициями, таких как фиксированные позиции, увеличение позиций в индексах и т. д., для контроля за общим риском;
Оптимизируйте время входа, наблюдайте некоторое время после того, как произойдет пересечение, и отфильтровывайте ложное пересечение.
С помощью вышеуказанной оптимизации можно сделать параметры стратегии более соответствующими статистическим характеристикам рынка, отфильтровать ложные сигналы, контролировать риски и, при этом сохраняя простоту, еще больше повысить стабильность и прибыльность стратегии.
Золотой крест - это простая и практичная стратегия для отслеживания тенденций. Она интуитивно захватывает рыночные тенденции с помощью пересечения движущихся средних и эффективно идентифицирует время входа и выхода для долгосрочных инвесторов.
/*backtest
start: 2023-08-27 00:00:00
end: 2023-09-26 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Dumb strategy 2 - Golden Cross", shorttitle="Golden Cross", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
lShort = input(50, title="short length")
lLong = input(200, title="long length")
src = input(close, title="Source")
smaShort = sma(src, lShort)
smaLong = sma(src, lLong)
plot(smaShort, title="SMA Short", style=line, linewidth=3, color=lime)
plot(smaLong, title="SMA Long", style=line, linewidth=3, color=red)
//
//Backtest Time Inputs
//
testStartYear = input(2009, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(01, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? blue : na
bgcolor(testPeriodBackgroundColor, transp=80)
testPeriod() => true
if testPeriod()
longCondition = crossover(smaShort, smaLong)
if (longCondition)
strategy.entry("Long Entry", strategy.long)
shortCondition = crossunder(smaShort, smaLong)
if (shortCondition)
strategy.close_all(true)