Ручная стратегия предупреждений о покупке и продаже

Автор:Чао Чжан, Дата: 2024-02-21 11:02:02
Тэги:

img

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

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

Эта стратегия является неавтоматизированным инструментом ручной торговли. Она может генерировать alert для пользователей, чтобы покупать и продавать по заранее установленным ценам. Пользователи могут установить следующее:

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

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

Принцип стратегии

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

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

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

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

Анализ рисков

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

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

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

  1. Можно установить более сложные механизмы остановки потерь, такие как движущаяся остановка потерь, свинговая остановка потерь и т.д.
  2. Можно добавить больше типов условий торговли, таких как торговля прорывом.
  3. Могут быть добавлены механизмы управления позицией, такие как пирамида или уменьшение позиции.
  4. Можно добавить больше условий фильтрации, чтобы избежать неправильных сделок.
  5. Уведомления можно отправлять через Telegram или WeChat.
  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)

Больше