forked from vitalets/tinkoff-robot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.ts
57 lines (55 loc) · 2.16 KB
/
config.ts
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
/**
* Конфигурация.
*/
import { CandleInterval } from 'tinkoff-invest-api/dist/generated/marketdata.js';
import { RobotConfig } from './robot.js';
import { StrategyConfig } from './strategy.js';
export const config: RobotConfig = {
/** Используем реальный счет или песочницу */
useRealAccount: false,
/** Уровень логирования */
logLevel: 'info',
/** Используемые стратегии: */
strategies: [
getStrategyConfig('BBG004731354'), // Роснефть
getStrategyConfig('BBG008F2T3T2'), // РУСАЛ
getStrategyConfig('BBG004S68829'), // Татнефть
getStrategyConfig('BBG000BN56Q9'), // Детский Мир
getStrategyConfig('BBG004730N88'), // Сбер
]
};
function getStrategyConfig(figi: string): StrategyConfig {
return {
/** ID инструмента */
figi,
/** По сколько лотов покупаем/продаем */
orderLots: 1,
/** Комиссия брокера, % от суммы сделки */
brokerFee: 0.3,
/** Интервал свечей */
interval: CandleInterval.CANDLE_INTERVAL_5_MIN,
/** Конфиг сигнала по отклонению текущей цены */
profit: {
/** При каком % превышении цены продаем актив, чтобы зафиксировать прибыль */
takeProfit: 10,
/** При каком % снижении цены продаем актив, чтобы не потерять еще больше */
stopLoss: 5,
},
/** Конфиг сигнала по скользящим средним */
sma: {
/** Кол-во точек для расчета быстрого тренда */
fastLength: 10,
/** Кол-во точек для расчета медленного тренда */
slowLength: 30,
},
/** Конфиг сигнала по RSI */
rsi: {
/** Кол-во точек для расчета rsi */
period: 14,
/** Верхний уровень */
highLevel: 70,
/** Нижний уровень */
lowLevel: 30,
}
};
}