@guihz/trading-vue-editor-tes 0.0.21 → 0.0.23
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/assets/{parserTccWorker-CVfKSNrL.js → parserTccWorker-B-xIp9MW.js} +15 -15
- package/lib/assets/scriptsRunWorker-COxpWbV9.js +66 -0
- package/lib/components/editor/parseScript/buildInFuncNamespace/index.d.ts +2 -2
- package/lib/components/editor/parseScript/buildInFuncNamespace/input.d.ts +1 -5
- package/lib/components/editor/parseScript/buildInFuncNamespace/strategy.d.ts +68 -5
- package/lib/components/editor/parseScript/buildInVarNamespace/barstate.d.ts +16 -0
- package/lib/components/editor/parseScript/buildInVarNamespace/index.d.ts +5 -0
- package/lib/components/editor/parseScript/buildInVarNamespace/session.d.ts +12 -0
- package/lib/components/editor/parseScript/buildInVarNamespace/strategy.d.ts +71 -0
- package/lib/components/editor/parseScript/buildInVarNamespace/ta.d.ts +28 -0
- package/lib/components/editor/parseScript/buildInVarNamespace/timeframe.d.ts +16 -0
- package/lib/components/editor/parseScript/constants.d.ts +2 -0
- package/lib/components/editor/parseScript/strategyNamespace/closedtrades.d.ts +28 -0
- package/lib/components/editor/parseScript/strategyNamespace/index.d.ts +4 -0
- package/lib/components/editor/parseScript/strategyNamespace/opentrades.d.ts +23 -0
- package/lib/components/editor/parseScript/strategyNamespace/risk.d.ts +20 -0
- package/lib/components/editor/parseScript/visitorParser.d.ts +1 -0
- package/lib/components/editor/utils/initEditor.d.ts +1 -0
- package/lib/trading-vue-editor.js +415 -401
- package/lib/trading-vue-editor.umd.cjs +23 -23
- package/package.json +1 -1
- package/lib/assets/scriptsRunWorker-D2Gv6w1f.js +0 -66
@@ -14,10 +14,10 @@ import BuildInLine, { ILineArgs, Line } from "./line";
|
|
14
14
|
import BuildInLinefill, { TLinefill, Linefill } from "./linefill";
|
15
15
|
import BuildInBox, { IBoxArgs, Box } from "./box";
|
16
16
|
import BuildInTable, { ITableArgs, Table } from "./table";
|
17
|
-
import Strategy from './strategy';
|
17
|
+
import Strategy, { IOrder, IStrategy } from './strategy';
|
18
18
|
import { Log } from './log';
|
19
19
|
import { Runtime } from './runtime';
|
20
20
|
export { TccErrorListener } from './errorListener';
|
21
21
|
export type { IColorArgs } from './color';
|
22
22
|
export { BuildInArray, BuildInMath, BuildInTa, BuildInInput, BuildInColor, BuildInMatrix, ChartPoint, Point, BuildInTimeframe, BuildInStr, BuildInMap, PseudoArray, VInputType, BuildInLabel, BuildInPolyline, BuildInLine, Label, Polyline, Line, BuildInLinefill, Linefill, BuildInBox, Box, BuildInTable, Table, Log, Runtime, Strategy };
|
23
|
-
export type { PartialLabelArgs, IPolyline, ILineArgs, TLinefill, IBoxArgs, ITableArgs };
|
23
|
+
export type { PartialLabelArgs, IPolyline, ILineArgs, TLinefill, IBoxArgs, ITableArgs, IOrder, IStrategy };
|
@@ -35,10 +35,6 @@ interface IInputArgs {
|
|
35
35
|
index?: number;
|
36
36
|
modifyDefval?: TSimpleType;
|
37
37
|
}
|
38
|
-
interface IGruop {
|
39
|
-
name?: string;
|
40
|
-
inputs: IInputArgs[];
|
41
|
-
}
|
42
38
|
declare class Input {
|
43
39
|
private _cacheData;
|
44
40
|
private _variables;
|
@@ -64,7 +60,7 @@ declare class Input {
|
|
64
60
|
private _cacheHandle;
|
65
61
|
private _judgeHistoryInputs;
|
66
62
|
private _displayVerify;
|
67
|
-
getInputs():
|
63
|
+
getInputs(): IInputArgs[];
|
68
64
|
private _getGroups;
|
69
65
|
}
|
70
66
|
export default Input;
|
@@ -1,7 +1,9 @@
|
|
1
|
+
import { TccErrorListener } from ".";
|
1
2
|
import { IKeyObjectValue } from "../../type";
|
2
3
|
import { BuiltInVariables } from "../buildInVariables";
|
3
4
|
import { VCommission, VDirection, VFormatType, VOca, VScale, VStrategy } from "../enum";
|
4
|
-
|
5
|
+
import { Closedtrdes, Opentrades, Risk } from '../strategyNamespace';
|
6
|
+
export interface IStrategy {
|
5
7
|
title?: string;
|
6
8
|
shorttitle?: string;
|
7
9
|
overlay?: boolean;
|
@@ -34,6 +36,10 @@ interface IStrategy {
|
|
34
36
|
fill_orders_on_standard_ohlc?: boolean;
|
35
37
|
max_polylines_count?: number;
|
36
38
|
}
|
39
|
+
interface IArgs {
|
40
|
+
value?: number;
|
41
|
+
fill_price?: number;
|
42
|
+
}
|
37
43
|
interface IOrderArgs {
|
38
44
|
id: string;
|
39
45
|
direction: VDirection;
|
@@ -53,14 +59,21 @@ interface IOrderArgs {
|
|
53
59
|
trail_points?: number;
|
54
60
|
trail_offset?: number;
|
55
61
|
profit?: number;
|
62
|
+
comment_profit?: string;
|
63
|
+
comment_loss?: string;
|
64
|
+
comment_trailing?: string;
|
56
65
|
}
|
57
66
|
type PlaceOrderType = 'order' | 'entry' | 'exit' | 'close' | 'close_all';
|
58
|
-
interface IOrder extends IOrderArgs {
|
67
|
+
export interface IOrder extends IOrderArgs {
|
59
68
|
isMarketPrice?: boolean;
|
69
|
+
out_id?: string;
|
70
|
+
in_index?: number;
|
71
|
+
out_index?: number;
|
60
72
|
in_price: number;
|
61
73
|
out_price?: number;
|
62
74
|
in_time?: number;
|
63
75
|
out_time?: number;
|
76
|
+
out_qty?: number;
|
64
77
|
out_comment?: string;
|
65
78
|
total_profit?: number;
|
66
79
|
max_profit?: number;
|
@@ -75,6 +88,27 @@ interface IOrder extends IOrderArgs {
|
|
75
88
|
isMarketPriceStop?: boolean;
|
76
89
|
isCancel?: boolean;
|
77
90
|
close_qty?: number;
|
91
|
+
profit_percent?: number;
|
92
|
+
max_profit_percent?: number;
|
93
|
+
trading_loss_percent?: number;
|
94
|
+
commission?: number;
|
95
|
+
original_qty?: number;
|
96
|
+
}
|
97
|
+
interface IRisk {
|
98
|
+
allow_entry_in?: VDirection;
|
99
|
+
max_cons_loss_days?: number;
|
100
|
+
max_drawdown?: number;
|
101
|
+
max_drawdown_type?: VStrategy;
|
102
|
+
max_intraday_filled_orders?: number;
|
103
|
+
max_intraday_loss?: number;
|
104
|
+
max_intraday_loss_type?: VStrategy;
|
105
|
+
max_position_size?: number;
|
106
|
+
isDisabledOpen?: boolean;
|
107
|
+
lossDays?: number;
|
108
|
+
totalProfit?: number;
|
109
|
+
intradayOrders?: number;
|
110
|
+
isTemporaryBan?: boolean;
|
111
|
+
preNetprofit?: number;
|
78
112
|
}
|
79
113
|
type CloseEntriesRuleType = 'FIFO' | 'ANY';
|
80
114
|
export default class Strategy {
|
@@ -86,10 +120,28 @@ export default class Strategy {
|
|
86
120
|
private _pendingOrders;
|
87
121
|
private _mintick;
|
88
122
|
private _funcOptions;
|
89
|
-
|
123
|
+
private _pendingCloseOrders;
|
124
|
+
private _errorListener;
|
125
|
+
private _risk;
|
126
|
+
private _opentrades;
|
127
|
+
private _closedtrades;
|
128
|
+
private _riskNamespace;
|
129
|
+
constructor(variables: BuiltInVariables, options: IKeyObjectValue, mintick: number, errorListener: TccErrorListener);
|
130
|
+
get orders(): IOrder[];
|
131
|
+
get historyOrders(): IOrder[];
|
90
132
|
get _orderProfit(): number;
|
91
133
|
get _freezeCapital(): number;
|
92
|
-
|
134
|
+
get opentrades(): Opentrades;
|
135
|
+
get closedtrades(): Closedtrdes;
|
136
|
+
get risk(): Risk;
|
137
|
+
updateOptions(options?: IStrategy): void;
|
138
|
+
updateRisk(risk: IRisk): void;
|
139
|
+
endExecution(): void;
|
140
|
+
private _maxIntradayLoss;
|
141
|
+
private _maxIntradayFilledOrdersVerify;
|
142
|
+
private _maxConsLossDaysVerify;
|
143
|
+
private _maxDrawdownVerify;
|
144
|
+
private _riskTouchOff;
|
93
145
|
strategy(args: IStrategy): void;
|
94
146
|
order(args: IOrderArgs): void;
|
95
147
|
entry(args: IOrderArgs): void;
|
@@ -99,11 +151,16 @@ export default class Strategy {
|
|
99
151
|
id: string;
|
100
152
|
}): void;
|
101
153
|
cancel_all(): void;
|
102
|
-
exit(args: IOrderArgs): void;
|
154
|
+
exit(args: IOrderArgs, posStr: string): void;
|
155
|
+
convert_to_account({ value }: IArgs): number | undefined;
|
156
|
+
convert_to_symbol({ value }: IArgs): number | undefined;
|
157
|
+
default_entry_qty({ fill_price }: IArgs): number;
|
103
158
|
private _calcDefaultQty;
|
104
159
|
private _getCapital;
|
105
160
|
private _calcProfitAndLoss;
|
161
|
+
private _calcOrderPercent;
|
106
162
|
private _calcLiquidate;
|
163
|
+
private _marginCallOrders;
|
107
164
|
private _orderHandle;
|
108
165
|
private _judgeCapitalEnough;
|
109
166
|
private _ocaGroupVerify;
|
@@ -112,6 +169,7 @@ export default class Strategy {
|
|
112
169
|
private _orderArgsParse;
|
113
170
|
private _entryHandle;
|
114
171
|
private _entryOrder;
|
172
|
+
private _getAvailablePositionSize;
|
115
173
|
private _getEntryOrders;
|
116
174
|
private _addPendingEntry;
|
117
175
|
private _closeAllOrders;
|
@@ -119,18 +177,23 @@ export default class Strategy {
|
|
119
177
|
private _closeOrder;
|
120
178
|
private _ordersHandle;
|
121
179
|
private _pendingOrderHandle;
|
180
|
+
private _pendingCloseOrderHandle;
|
122
181
|
private _entryOrderHandle;
|
123
182
|
private _orderOrderHandle;
|
124
183
|
private _closeOrderHandle;
|
125
184
|
private _exitOrderHandle;
|
126
185
|
private _exit;
|
127
186
|
private _ordersToExit;
|
187
|
+
private _addExitPendingCloseOrders;
|
128
188
|
private _stopProfit;
|
129
189
|
private _stopLoss;
|
130
190
|
private _trailStopLoss;
|
131
191
|
private _processExitOnClose;
|
132
192
|
private _processExitOrders;
|
133
193
|
private _processOrder;
|
194
|
+
private _calcPercent;
|
195
|
+
private _getCommission;
|
196
|
+
private _calcCurrentOrder;
|
134
197
|
private _isNaN;
|
135
198
|
}
|
136
199
|
export {};
|
@@ -0,0 +1,16 @@
|
|
1
|
+
export declare class Barstate {
|
2
|
+
private _isMarketOpen;
|
3
|
+
private _currentBarIndex;
|
4
|
+
private _totalBarIndex;
|
5
|
+
private _isRealTimeBar;
|
6
|
+
private _preBarIndex;
|
7
|
+
constructor();
|
8
|
+
update(currentBarIndex: number, totalBarIndex: number, isRealTimeBar: boolean, isMarketOpen: boolean): void;
|
9
|
+
get isnew(): boolean;
|
10
|
+
get islast(): boolean;
|
11
|
+
get isfirst(): boolean;
|
12
|
+
get ishistory(): boolean;
|
13
|
+
get isrealtime(): boolean;
|
14
|
+
get isconfirmed(): boolean;
|
15
|
+
get islastconfirmedhistory(): boolean;
|
16
|
+
}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { BuiltInVariables } from "../buildInVariables";
|
2
|
+
export declare class Session {
|
3
|
+
private _variables;
|
4
|
+
constructor(variables: BuiltInVariables);
|
5
|
+
get isfirstbar(): boolean;
|
6
|
+
get isfirstbar_regular(): boolean;
|
7
|
+
get islastbar(): boolean;
|
8
|
+
get islastbar_regular(): boolean;
|
9
|
+
get ismarket(): boolean;
|
10
|
+
get ispostmarket(): boolean;
|
11
|
+
get ispremarket(): boolean;
|
12
|
+
}
|
@@ -0,0 +1,71 @@
|
|
1
|
+
import { IOrder, IStrategy } from "../buildInFuncNamespace";
|
2
|
+
import { BuiltInVariables } from "../buildInVariables";
|
3
|
+
export declare class Strategy {
|
4
|
+
private _orders;
|
5
|
+
private _historyOrders;
|
6
|
+
private _options?;
|
7
|
+
private _max_contracts_held_all;
|
8
|
+
private _max_contracts_held_long;
|
9
|
+
private _max_contracts_held_short;
|
10
|
+
private _max_drawdown;
|
11
|
+
private _max_runup;
|
12
|
+
private _max_runup_percent;
|
13
|
+
private _max_drawdown_percent;
|
14
|
+
private _variables;
|
15
|
+
private _netprofit;
|
16
|
+
private _eventrades;
|
17
|
+
private _avg_trade_percent?;
|
18
|
+
private _closedtrades;
|
19
|
+
private _losstrades;
|
20
|
+
private _grossloss;
|
21
|
+
private _grossloss_percent;
|
22
|
+
private _grossprofit;
|
23
|
+
private _grossprofit_percent;
|
24
|
+
private _wintrades;
|
25
|
+
private _opentrades_capital_held;
|
26
|
+
private _position_avg_price;
|
27
|
+
private _position_size;
|
28
|
+
constructor(variables: BuiltInVariables);
|
29
|
+
update(): void;
|
30
|
+
private _calcMaxDrawdownAndMaxRunup;
|
31
|
+
updateOrders(orders: IOrder[]): void;
|
32
|
+
private _calcMaxContracts;
|
33
|
+
updateHistoryOrders(orders: IOrder[]): void;
|
34
|
+
updateStrategyOptions(options: IStrategy): void;
|
35
|
+
get long(): string;
|
36
|
+
get short(): string;
|
37
|
+
get account_currency(): string;
|
38
|
+
get closedtrades(): number;
|
39
|
+
get opentrades(): number;
|
40
|
+
get opentrades_capital_held(): number;
|
41
|
+
get avg_losing_trade(): number | undefined;
|
42
|
+
get avg_losing_trade_percent(): number | undefined;
|
43
|
+
get avg_trade(): number | undefined;
|
44
|
+
get equity(): number;
|
45
|
+
get netprofit(): number;
|
46
|
+
get eventrades(): number;
|
47
|
+
get openprofit(): number;
|
48
|
+
get avg_trade_percent(): number | undefined;
|
49
|
+
get avg_winning_trade(): number | undefined;
|
50
|
+
get avg_winning_trade_percent(): number | undefined;
|
51
|
+
get initial_capital(): number;
|
52
|
+
get losstrades(): number;
|
53
|
+
get grossloss(): number;
|
54
|
+
get grossloss_percent(): number;
|
55
|
+
get grossprofit(): number;
|
56
|
+
get grossprofit_percent(): number;
|
57
|
+
get wintrades(): number;
|
58
|
+
get margin_liquidation_price(): number | undefined;
|
59
|
+
get max_contracts_held_all(): number;
|
60
|
+
get max_contracts_held_long(): number;
|
61
|
+
get max_contracts_held_short(): number;
|
62
|
+
get max_drawdown(): number;
|
63
|
+
get max_runup(): number;
|
64
|
+
get max_runup_percent(): number;
|
65
|
+
get max_drawdown_percent(): number;
|
66
|
+
get netprofit_percent(): number;
|
67
|
+
get openprofit_percent(): number;
|
68
|
+
get position_avg_price(): number;
|
69
|
+
get position_entry_name(): string | undefined;
|
70
|
+
get position_size(): number;
|
71
|
+
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { IKeyObjectValue } from "../../type";
|
2
|
+
export declare class Ta {
|
3
|
+
private _preAccdist;
|
4
|
+
private _preNvi;
|
5
|
+
private _prePvi;
|
6
|
+
private _preObv;
|
7
|
+
private _prePvt;
|
8
|
+
private _preWad;
|
9
|
+
private _preVwap;
|
10
|
+
private _preValue;
|
11
|
+
private _currentData;
|
12
|
+
private _preData;
|
13
|
+
constructor();
|
14
|
+
update(currentData: IKeyObjectValue): void;
|
15
|
+
get isRealTime(): boolean;
|
16
|
+
get accdist(): any;
|
17
|
+
get iii(): any;
|
18
|
+
get nvi(): any;
|
19
|
+
get wvad(): any;
|
20
|
+
get obv(): any;
|
21
|
+
get pvi(): any;
|
22
|
+
get tr(): any;
|
23
|
+
get pvt(): any;
|
24
|
+
get wad(): any;
|
25
|
+
get vwap(): any;
|
26
|
+
private _getNvi;
|
27
|
+
private _getPvi;
|
28
|
+
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
export declare class Timeframe {
|
2
|
+
private _period;
|
3
|
+
private _multiplier;
|
4
|
+
private _unit;
|
5
|
+
constructor();
|
6
|
+
update(period: string): void;
|
7
|
+
get isdaily(): boolean;
|
8
|
+
get isdwm(): boolean;
|
9
|
+
get isintraday(): boolean;
|
10
|
+
get isminutes(): boolean;
|
11
|
+
get ismonthly(): boolean;
|
12
|
+
get isseconds(): boolean;
|
13
|
+
get isweekly(): boolean;
|
14
|
+
get multiplier(): number;
|
15
|
+
get period(): string;
|
16
|
+
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { Strategy } from "../buildInFuncNamespace";
|
2
|
+
interface IArgs {
|
3
|
+
trade_num: number;
|
4
|
+
}
|
5
|
+
declare class Closedtrdes {
|
6
|
+
private _strategy;
|
7
|
+
constructor(strategy: Strategy);
|
8
|
+
commission({ trade_num }: IArgs): number;
|
9
|
+
entry_bar_index({ trade_num }: IArgs): number | undefined;
|
10
|
+
entry_comment({ trade_num }: IArgs): string;
|
11
|
+
entry_id({ trade_num }: IArgs): string;
|
12
|
+
entry_price({ trade_num }: IArgs): number | undefined;
|
13
|
+
entry_time({ trade_num }: IArgs): number | undefined;
|
14
|
+
exit_bar_index({ trade_num }: IArgs): number | undefined;
|
15
|
+
exit_comment({ trade_num }: IArgs): string | undefined;
|
16
|
+
exit_id({ trade_num }: IArgs): string | undefined;
|
17
|
+
exit_price({ trade_num }: IArgs): number | undefined;
|
18
|
+
exit_time({ trade_num }: IArgs): number | undefined;
|
19
|
+
max_drawdown({ trade_num }: IArgs): number | undefined;
|
20
|
+
max_drawdown_percent({ trade_num }: IArgs): number | undefined;
|
21
|
+
max_runup({ trade_num }: IArgs): number | undefined;
|
22
|
+
max_runup_percent({ trade_num }: IArgs): number | undefined;
|
23
|
+
profit({ trade_num }: IArgs): number | undefined;
|
24
|
+
profit_percent({ trade_num }: IArgs): number | undefined;
|
25
|
+
size({ trade_num }: IArgs): number;
|
26
|
+
private _verifyTradeNum;
|
27
|
+
}
|
28
|
+
export default Closedtrdes;
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { Strategy } from "../buildInFuncNamespace";
|
2
|
+
interface IArgs {
|
3
|
+
trade_num: number;
|
4
|
+
}
|
5
|
+
declare class Opentrades {
|
6
|
+
private _strategy;
|
7
|
+
constructor(strategy: Strategy);
|
8
|
+
commission({ trade_num }: IArgs): number;
|
9
|
+
entry_bar_index({ trade_num }: IArgs): number | undefined;
|
10
|
+
entry_comment({ trade_num }: IArgs): string;
|
11
|
+
entry_id({ trade_num }: IArgs): string;
|
12
|
+
entry_price({ trade_num }: IArgs): number | undefined;
|
13
|
+
entry_time({ trade_num }: IArgs): number | undefined;
|
14
|
+
max_drawdown({ trade_num }: IArgs): number | undefined;
|
15
|
+
max_drawdown_percent({ trade_num }: IArgs): number | undefined;
|
16
|
+
max_runup({ trade_num }: IArgs): number | undefined;
|
17
|
+
max_runup_percent({ trade_num }: IArgs): number | undefined;
|
18
|
+
profit({ trade_num }: IArgs): number | undefined;
|
19
|
+
profit_percent({ trade_num }: IArgs): number | undefined;
|
20
|
+
size({ trade_num }: IArgs): number;
|
21
|
+
private _verifyTradeNum;
|
22
|
+
}
|
23
|
+
export default Opentrades;
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { Strategy } from "../buildInFuncNamespace";
|
2
|
+
import { VStrategy } from "../enum";
|
3
|
+
interface IRiskArgs {
|
4
|
+
value?: any;
|
5
|
+
count?: number;
|
6
|
+
alert_message?: string;
|
7
|
+
type?: VStrategy;
|
8
|
+
contracts?: number;
|
9
|
+
}
|
10
|
+
declare class Risk {
|
11
|
+
private _strategy;
|
12
|
+
constructor(strategy: Strategy);
|
13
|
+
allow_entry_in({ value }: IRiskArgs): void;
|
14
|
+
max_cons_loss_days({ count }: IRiskArgs): void;
|
15
|
+
max_drawdown({ value, type }: IRiskArgs): void;
|
16
|
+
max_intraday_filled_orders({ count }: IRiskArgs): void;
|
17
|
+
max_intraday_loss({ value, type }: IRiskArgs): void;
|
18
|
+
max_position_size({ contracts }: IRiskArgs): void;
|
19
|
+
}
|
20
|
+
export default Risk;
|