-
Notifications
You must be signed in to change notification settings - Fork 6
/
bbgo.yaml
124 lines (116 loc) · 4.9 KB
/
bbgo.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
---
logging:
trade: true
order: true
persistence:
json:
directory: "./data/"
environment:
disableDefaultKLineSubscription: false
disableHistoryKLinePreload: false
disableStartupBalanceQuery: false
disableSessionTradeBuffer: false
disableMarketDataStore: false
maxSessionTradeBufferSize: false
sessions:
okex:
exchange: okex
envVarPrefix: okex
margin: true
isolatedMargin: false
isolatedMarginSymbol: SUIUSDT
exchangeStrategies:
- on: okex
jarvis:
llm:
googleai:
model: "gemini-1.5-pro-latest"
openai:
base_url: "https://api.deepseek.com"
model: "deepseek-coder"
anthropic:
model: "claude-3-5-sonnet-20241022"
ollama:
server_url: "http://localhost:11434"
model: "mistral-nemo:latest" # Options:wizardlm2:7b, codegemma:7b, llama3:latest, and mistral:latest
primary: "anthropic"
secondly: "ollama"
env:
exchange:
kline_num: 50
indicators:
VR3:
type: "vr"
max_num: 5
params:
interval: "5m"
windowSize: "3"
BOLL:
type: "boll"
max_num: 5
params:
interval: "5m"
window_size: "20"
band_width: "2.0"
handle_position_close: false
clean_position:
enabled: false
interval: 5m
coze:
enabled: true
base_url: "https://api.coze.com"
timeout: 60s
indicators:
- name: "news_changed"
description: "Sui news score and reasons:"
interval: "5m"
before: "20s"
bot_id: "7372584552936079367"
message: "Please obtain the SUI message score and give a brief reason"
include_events:
- news_changed
- kline_changed
- indicator_changed
- position_changed
- update_finish
agent:
trading:
enabled: true
name: "AI"
temperature: 0.1
max_context_length: 4096
backgroup: "I want you to act as an trading assistant. The trading assistant supports registering entities, analyzes market data provided by crypto entities, and generates entity control commands. After receiving the command, the entity will report the result of the command execution. The goal of the transaction assistant is: to maximize returns by generating entity control commands."
notify:
feishu_hook:
enabled: true
url: "https://open.feishu.cn/open-apis/bot/v2/hook/e926c8b5-50e6-41e8-8f70-12a8631dfd93"
symbol: SUIUSDT
interval: 5m
subscribe_intervals: ["15m"]
leverage: 3
max_num: 50
strategy: |
1. Identify Key Support and Resistance Levels
- *Support Level*: A price level where a downtrend can be expected to pause due to a concentration of demand.
- *Resistance Level*: A price level where an uptrend can be expected to pause due to a concentration of supply.
- *Tools*: Use historical price data, trendlines, and moving averages to identify key support and resistance levels.
2. Wait for Price to Approach Key Levels
- *Confirmation Signal*: When the price nears the identified support or resistance level, observe market behavior and volume changes.
- *Volume Observation*: A breakout with significant volume is considered more reliable.
3. Enter the Trade
- *Buy Breakout*: Execute a buy order when the price breaks above the resistance level.
- *Sell Breakout*: Execute a sell order when the price breaks below the support level.
- *Order Type*: Use market orders to ensure quick entry during a breakout, or limit orders to set a specific entry price after the breakout.
4. Set Stop-Loss and Take-Profit Levels
- *Stop-Loss*: Protect capital in case of a failed breakout. Typically set just below the breakout level (for a buy) or just above (for a sell).
- *Take-Profit*: Lock in profits when the price reaches a predetermined target. Targets can be based on historical price levels, technical indicators (e.g., Fibonacci extensions), or a fixed risk-reward ratio (e.g., 1:2 or 1:3).
5. Monitor and Manage the Trade
- *Continuous Monitoring*: Keep an eye on price movements, especially as they near the stop-loss or take-profit levels.
- *Dynamic Adjustments*: Adjust stop-loss and take-profit levels based on market conditions to lock in more profits when favorable.
strategy_attention_points:
- Analyze K-line patterns to determine support and resistance levels
- BOLL can be used to confirm support and resistance levels
- VR3 can be used to confirm a breakout
- Enter after a breakout.
- If a false breakout occurs, enter the market in the opposite direction.
- If the stop loss price of a short position needs to be greater than the closing price, the take profit price should be less than the closing price