Стратегия ручного оповещения о покупке и продаже


Дата создания: 2024-02-21 11:02:02 Последнее изменение: 2024-02-21 11:02:02
Копировать: 0 Количество просмотров: 534
1
Подписаться
1617
Подписчики

Стратегия ручного оповещения о покупке и продаже

Эта стратегия является инструментом для создания сигналов о покупке и продаже, в котором можно настроить параметры, такие как цена покупки, цена продажи и т. д.

Обзор стратегии

Эта стратегия является неавтоматизированным ручным инструментом покупки и продажи. Она может генерировать всплывающие всплывающие всплывающие всплывающие всплывающие всплывающие всплывающие всплывающие всплывающие всплывающие всплывающие всплывающие всплывающие всплывающие всплывающие всплывающие всплывающие всплывающие всплывающие всплывающие всплывающие всплывающие всплывающие всплывающие всплывающие

  1. Временные циклы
  2. Цена входа и тип входа (стоп или лимит)
  3. Целевая цена
  4. Стоп-стоп

Вы можете легко протестировать эту стратегию, изменяя значения циклов и настроек.

Стратегический принцип

  1. Пользователь сначала устанавливает период времени, в течение которого политика вступает в силу.
  2. Затем устанавливается тип покупки - стоп-стоп или лимит, а также конкретная цена покупки.
  3. Затем устанавливается целевая цена и цена стоп-лоста.
  4. Когда цена вызывает условия покупки, появляется сигнал покупки. Например, если вы выбираете стоп-лосс, появляется сигнал покупки, когда цена ниже установленной цены покупки.
  5. Во время хранения позиции, если будет вызвана целевая цена, будет выпущено предупреждение о продаже. Если будет вызвана цена стоп-лосса, также будет выпущено предупреждение о продаже.

Таким образом, пользователи могут вручную определять время совершения сделки на основе оповещения, без необходимости автоматического размещения заказа, что дает большую гибкость.

Анализ преимуществ стратегии

  1. Самым большим преимуществом этой стратегии является ее гибкость в использовании: пользователи могут принимать решения о покупке или продаже по своему усмотрению, а не в автоматической торговле.
  2. После установки стоп-поста и целевой цены, можно эффективно контролировать риск и предотвратить крупные потери.
  3. Различные торговые стратегии могут быть протестированы и оптимизированы путем корректировки условий покупки и параметров.
  4. В качестве инструмента для поддержки ручной торговли, он может сыграть важную роль в повышении эффективности торговли.

Анализ стратегических рисков

  1. Эта стратегия зависит от оперативного суждения пользователя, а если ошибся, то все равно может привести к убыткам.
  2. В условиях быстро меняющегося рынка предупреждающие сообщения могут задерживаться, что приводит к ошибочным торговым решениям.
  3. Если не обратить внимания и не действовать вовремя, то можно пропустить лучший момент для торговли.
  4. Неправильная настройка параметров также может повлиять на эффективность стратегии, что требует повторного тестирования и оптимизации.

Для снижения риска рекомендуется использовать стоп-лосс для ограничения убытков; внимательно следить за рынком в критические моменты, своевременно действовать; проводить многоразовые тесты, оптимизировать параметры.

Направление оптимизации стратегии

  1. Можно установить более сложные механизмы остановки убытков, такие как мобильная остановка, колебательная остановка убытков и т. д.
  2. Дополнительные типы условий сделки, такие как прорывные покупки, могут быть добавлены.
  3. Можно добавить механизм управления позицией, например, добавление или уменьшение позиции.
  4. Дополнительные условия фильтрации могут быть добавлены, чтобы избежать ошибочных сделок.
  5. Например, если вы используете Telegram или WeChat, вы можете отправить предупреждение, используя формат Push-Message.
  6. Можно сохранить параметры в виде шаблонов, чтобы быстро настроить тест.

Благодаря этим улучшениям, инструмент может стать более дружественным и интеллектуальным, что повысит эффективность ручной торговли.

Подвести итог

В качестве вспомогательного инструмента для ручной торговли, наибольшим преимуществом этой стратегии является ее гибкость в работе, поскольку она может определять время торговли исключительно по усмотрению пользователя. По сравнению с автоматической торговой стратегией, она обладает большим контролем. В то же время, она также предоставляет функцию параметровой настройки, которая позволяет пользователям тестировать различные торговые стратегии, проверять торговую идею, что можно назвать несколькими стрелами.

Исходный код стратегии
/*backtest
start: 2024-01-21 00:00:00
end: 2024-02-20 00:00:00
period: 1h
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/
// © MGTG

title_name = 'Manual Buy & Sell Alerts'

//@version=5
strategy(
 title=title_name, overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, 
 pyramiding=1, commission_type=strategy.commission.percent, commission_value=0.1)

// Period
sTime         = input(timestamp("2020-01-01"), "Start", group="Period", inline='1')
eTime         = input(timestamp("2030-01-01"), "End", group="Period", inline='2')
inDateRange   = true

// Bot Set-up
buy_type = input.string('stop', 'Buy Type', group='Buy&Sell', inline='1', options=['stop', 'limit'])
buy_price = input.float(49000, 'Buy Price', group='Buy&Sell', inline='1')

target_price = input.float(51000, 'Target Price', group='Buy&Sell', inline='2')
stop_price = input.float(47000, 'Stop Price', group='Buy&Sell', inline='2')
avg_price = strategy.position_avg_price
division = 1

// Alert message
AlertLong=input.string("Buy message", "Buy Alert Message",  group='Alert set-up', inline='1')
AlertExit=input.string("Sell message", "Sell Alert Message",  group='Alert set-up', inline='1')

plot(buy_price, 'Buy Price', color=color.new(#009688, 0), style=plot.style_linebr, offset=1)
plot(target_price, 'Take Profit', color=color.new(color.orange, 0), style=plot.style_linebr, offset=1)
plot(stop_price, 'Safety', color=color.new(color.aqua, 0), style=plot.style_linebr, offset=1)

posSize = 
 strategy.equity / close

strategy.exit("sell", "buy", limit=target_price, stop=stop_price, alert_message=AlertExit)

longCondition = inDateRange and strategy.position_size == 0
if longCondition and buy_type == 'stop'
    strategy.entry("buy", strategy.long, qty=posSize, stop=buy_price, when=close < buy_price, comment="buy_STOP", alert_message=AlertLong)

if longCondition and buy_type == 'limit'
    strategy.entry("buy", strategy.long, qty=posSize, limit=buy_price, when=close > buy_price, comment="buy_LIMIT", alert_message=AlertLong)