Эта стратегия использует пересечение K-линий и D-линий случайных индикаторов для создания торговых сигналов и относится к типичной стратегии торговли случайными индикаторами.
Вычислить случайные показатели K-линии и D-линии в течение определенного периода.
Когда K-линия прорывает D-линию снизу, образуется сигнал покупки.
Когда K-линия прорывает D-линию сверху вниз, генерируется сигнал продажи.
Для проверки эффективности стратегии можно установить временной диапазон отсчета.
С помощью случайного скрещивания индикаторов, правила стратегии просты и понятны.
Индексы случайности более чувствительны к перекупкам и перепродажам.
K-линия и D-линия легко образуют торговый сигнал.
Эффективность стратегии может быть подтверждена обратным тестированием.
Это легко вычислить и реализовать.
Код прост, его легко переделать.
Случайное скрещивание показателей может привести к ложному сигналу.
Нет установки стоп-стоп.
Невозможно отличить тенденции от конъюнктуры.
Выявлено несоответствие данных.
Реализация в реальном пространстве может иметь различные результаты.
Испытание различных параметров для поиска оптимальных.
Добавление фильтров для определения тенденций.
Создание механизмов по сдерживанию ущерба.
Введение других факторов для проверки сигнала.
Обработка данных для устранения отклонений.
Моделирование диска для оптимизации параметров.
Эта стратегия использует простой случайный пересечение показателей для торговли, легко реализовать, но требует дальнейшей оптимизации для повышения стабильности. Усиленная путем корректировки параметров, контроля риска и т. Д., Она может быть построена в качестве надежной количественной стратегии торговли.
/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 2h
basePeriod: 15m
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/
// © utanico
//@version=4
strategy(title="Stochastic", overlay=true, shorttitle="Stoch")
periodK = input(35, title="K", minval=1)
periodD = input(21, title="D", minval=1)
smoothK = input(21, title="Smooth", minval=1)
startYear = input(type=input.integer, title = "開始年", defval = 2020)
startMonth = input(type=input.integer, title = "開始月", defval = 1)
startDay = input(type=input.integer, title = "開始日", defval = 1)
endYear = input(type=input.integer, title = "終了年", defval = 2030)
endMonth = input(type=input.integer, title = "終了月", defval = 12)
endDay = input(type=input.integer, title = "終了日", defval = 31)
//開始日時
test_start = timestamp(startYear, startMonth, startDay, 00, 00)
//終了日時
test_end = timestamp(endYear, endMonth, endDay, 00, 00)
//テスト期間の指定
is_test = true
k = sma(stoch(close, high, low, periodK), smoothK)
d = sma(k, periodD)
if (is_test)
if (k > d)
strategy.entry("Stoch_LE", strategy.long, comment="Stoch_LE")
//if (strategy.opentrades > 0 and k < d)
//strategy.close("Stoch_LE",comment="CloseLONG")
if (k < d)
strategy.entry("Stoch_SE", strategy.short, comment="Stoch_SE")
//if (strategy.opentrades < 0 and k > d)
//strategy.close("Stoch_SE",comment="CloseShort")