Эта стратегия основана на движущейся средней многопрофильной стратегии. Она использует 3 движущихся средних с разными параметрами для создания торговых сигналов. Когда цена пересекает движущуюся среднюю, она делает больше, а когда она пересекает, она делает меньше.
Эта стратегия использует функцию sma, чтобы вычислить движущуюся среднюю длину len, ma. Затем, на основе ma, вычислить движущуюся среднюю длину с определенным количеством перемещений: longline1, longline2 и longline3. В ней longline1 перемещается на -4%, longline2 -5%, longline3 -6%.
При появлении сигнала покупки, если в настоящее время нет позиции, открывайте позицию, когда цена проходит длинную линию 1; если уже есть 1-ручная позиция, открывайте 1 руку, когда цена проходит длинную линию 2; если уже есть 2-ручная позиция, открывайте 1 руку, когда цена проходит длинную линию 3, имейте максимум 3 руки.
При создании сигнала продажи, если в настоящее время у вас есть лишняя позиция, когда цена снижается, она будет ниже.
Эта стратегия позволяет добиться эффекта отслеживания тенденций путем ранжирования в группах.
Решение риска:
Эта стратегия может быть оптимизирована в следующих аспектах:
Добавление других показателей для определения направления тенденции, например, добавление MACD для определения сильной тенденции
Оптимизация параметров скользящих средних, поиск оптимальных комбинаций параметров
Применение мер предосторожности в количестве и пропорции, чтобы предотвратить попадание в группы.
Добавление мобильного механизма остановки, который может быть настроен на остановку в соответствии с ATR
Количество позиций может быть изменено в зависимости от динамики рыночных колебаний и снижается при больших колебаниях
Тестирование эффективности параметров разных сортов для поиска наиболее подходящих для стратегии сортов
Разработка модуля Exit, который учитывает остановку выхода при возникновении определенных форм
В целом, эта стратегия использует движущиеся средние, чтобы определить направление тренда для торговли, чтобы отслеживать тренд и получать прибыль, но есть определенный риск отставания. Мы можем оптимизировать эту стратегию, добавив вспомогательные показатели суждения, оптимизируя параметры, регулируя управление позициями, добавляя механизм остановки, чтобы она могла адаптироваться к различным рыночным условиям и достигать стабильной и контролируемой прибыльности.
/*backtest
start: 2022-10-02 00:00:00
end: 2023-10-08 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2019
//@version=4
strategy(title = "Noro's ShiftMA-multi Strategy v1.0", shorttitle = "ShiftMA-multi", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 3)
//Settings
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot")
len = input(3, minval = 1, title = "MA Lenghs")
src = input(ohlc4, title = "MA Source")
longlevel1 = input(-4.0, title = "Long line 1")
longlevel2 = input(-5.0, title = "Long line 2")
longlevel3 = input(-6.0, title = "Long line 3")
needoffset = input(true, title = "Offset")
//Variables
size = strategy.position_size
mult = 1 / syminfo.mintick
//MA
ma = sma(src, len)
longline1 = round(ma * ((100 + longlevel1) / 100) * mult) / mult
longline2 = round(ma * ((100 + longlevel2) / 100) * mult) / mult
longline3 = round(ma * ((100 + longlevel3) / 100) * mult) / mult
//Lines
offset = needoffset ? 1 : 0
plot(ma, color = color.blue)
plot(longline1, offset = offset, color = color.lime)
plot(longline2, offset = offset, color = color.lime)
plot(longline3, offset = offset, color = color.lime)
//Trading
lot = 0.0
lot := size == 0 ? strategy.equity / close * capital / 100 : lot[1]
lots = 0.0
if ma > 0
lots := round(size / lot)
strategy.entry("L1", strategy.long, lot, limit = longline1, when = (lots == 0))
lots := round(size / lot)
strategy.entry("L2", strategy.long, lot, limit = longline2, when = (lots <= 1))
lots := round(size / lot)
strategy.entry("L3", strategy.long, lot, limit = longline3, when = (lots <= 2))
if size > 0
strategy.entry("TP", strategy.short, 0, limit = ma)