@qfo/qfchart 0.8.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +319 -12
- package/dist/qfchart.min.browser.js +32 -16
- package/dist/qfchart.min.es.js +32 -16
- package/package.json +1 -1
- package/src/QFChart.ts +98 -262
- package/src/components/AbstractPlugin.ts +234 -104
- package/src/components/DrawingEditor.ts +297 -248
- package/src/components/DrawingRendererRegistry.ts +13 -0
- package/src/components/GraphicBuilder.ts +2 -2
- package/src/components/LayoutManager.ts +41 -35
- package/src/components/SeriesBuilder.ts +10 -10
- package/src/components/TooltipFormatter.ts +1 -1
- package/src/index.ts +17 -6
- package/src/plugins/ABCDPatternTool/ABCDPatternDrawingRenderer.ts +112 -0
- package/src/plugins/ABCDPatternTool/ABCDPatternTool.ts +136 -0
- package/src/plugins/ABCDPatternTool/index.ts +2 -0
- package/src/plugins/CypherPatternTool/CypherPatternDrawingRenderer.ts +80 -0
- package/src/plugins/CypherPatternTool/CypherPatternTool.ts +84 -0
- package/src/plugins/CypherPatternTool/index.ts +2 -0
- package/src/plugins/FibSpeedResistanceFanTool/FibSpeedResistanceFanDrawingRenderer.ts +163 -0
- package/src/plugins/FibSpeedResistanceFanTool/FibSpeedResistanceFanTool.ts +210 -0
- package/src/plugins/FibSpeedResistanceFanTool/index.ts +2 -0
- package/src/plugins/FibTrendExtensionTool/FibTrendExtensionDrawingRenderer.ts +141 -0
- package/src/plugins/FibTrendExtensionTool/FibTrendExtensionTool.ts +188 -0
- package/src/plugins/FibTrendExtensionTool/index.ts +2 -0
- package/src/plugins/FibonacciChannelTool/FibonacciChannelDrawingRenderer.ts +128 -0
- package/src/plugins/FibonacciChannelTool/FibonacciChannelTool.ts +231 -0
- package/src/plugins/FibonacciChannelTool/index.ts +2 -0
- package/src/plugins/FibonacciTool/FibonacciDrawingRenderer.ts +107 -0
- package/src/plugins/{FibonacciTool.ts → FibonacciTool/FibonacciTool.ts} +195 -192
- package/src/plugins/FibonacciTool/index.ts +2 -0
- package/src/plugins/HeadAndShouldersTool/HeadAndShouldersDrawingRenderer.ts +95 -0
- package/src/plugins/HeadAndShouldersTool/HeadAndShouldersTool.ts +97 -0
- package/src/plugins/HeadAndShouldersTool/index.ts +2 -0
- package/src/plugins/LineTool/LineDrawingRenderer.ts +49 -0
- package/src/plugins/{LineTool.ts → LineTool/LineTool.ts} +161 -190
- package/src/plugins/LineTool/index.ts +2 -0
- package/src/plugins/{MeasureTool.ts → MeasureTool/MeasureTool.ts} +324 -344
- package/src/plugins/MeasureTool/index.ts +1 -0
- package/src/plugins/ThreeDrivesPatternTool/ThreeDrivesPatternDrawingRenderer.ts +106 -0
- package/src/plugins/ThreeDrivesPatternTool/ThreeDrivesPatternTool.ts +98 -0
- package/src/plugins/ThreeDrivesPatternTool/index.ts +2 -0
- package/src/plugins/ToolGroup.ts +211 -0
- package/src/plugins/TrianglePatternTool/TrianglePatternDrawingRenderer.ts +107 -0
- package/src/plugins/TrianglePatternTool/TrianglePatternTool.ts +98 -0
- package/src/plugins/TrianglePatternTool/index.ts +2 -0
- package/src/plugins/XABCDPatternTool/XABCDPatternDrawingRenderer.ts +178 -0
- package/src/plugins/XABCDPatternTool/XABCDPatternTool.ts +213 -0
- package/src/plugins/XABCDPatternTool/index.ts +2 -0
- package/src/types.ts +37 -11
package/dist/index.d.ts
CHANGED
|
@@ -95,6 +95,7 @@ interface QFChartOptions {
|
|
|
95
95
|
};
|
|
96
96
|
dataZoom?: {
|
|
97
97
|
visible?: boolean;
|
|
98
|
+
pannable?: boolean;
|
|
98
99
|
position?: 'top' | 'bottom';
|
|
99
100
|
height?: number;
|
|
100
101
|
start?: number;
|
|
@@ -147,8 +148,10 @@ interface ChartContext {
|
|
|
147
148
|
updateDrawing(drawing: DrawingElement): void;
|
|
148
149
|
lockChart(): void;
|
|
149
150
|
unlockChart(): void;
|
|
151
|
+
registerDrawingRenderer(renderer: DrawingRenderer): void;
|
|
152
|
+
snapToCandle(point: Coordinate): Coordinate;
|
|
150
153
|
}
|
|
151
|
-
type DrawingType =
|
|
154
|
+
type DrawingType = string;
|
|
152
155
|
interface DrawingElement {
|
|
153
156
|
id: string;
|
|
154
157
|
type: DrawingType;
|
|
@@ -159,6 +162,21 @@ interface DrawingElement {
|
|
|
159
162
|
lineWidth?: number;
|
|
160
163
|
};
|
|
161
164
|
}
|
|
165
|
+
interface DrawingRenderContext {
|
|
166
|
+
drawing: DrawingElement;
|
|
167
|
+
/** Pixel coords for each point, in the same order as drawing.points */
|
|
168
|
+
pixelPoints: [number, number][];
|
|
169
|
+
/** Whether this drawing is currently selected */
|
|
170
|
+
isSelected: boolean;
|
|
171
|
+
/** The ECharts custom series api object */
|
|
172
|
+
api: any;
|
|
173
|
+
}
|
|
174
|
+
interface DrawingRenderer {
|
|
175
|
+
/** The drawing type this renderer handles */
|
|
176
|
+
type: string;
|
|
177
|
+
/** Return an ECharts custom series renderItem group element */
|
|
178
|
+
render(ctx: DrawingRenderContext): any;
|
|
179
|
+
}
|
|
162
180
|
interface PluginConfig {
|
|
163
181
|
id: string;
|
|
164
182
|
name?: string;
|
|
@@ -253,6 +271,7 @@ declare class QFChart implements ChartContext {
|
|
|
253
271
|
private countdownInterval;
|
|
254
272
|
private selectedDrawingId;
|
|
255
273
|
private drawings;
|
|
274
|
+
private drawingRenderers;
|
|
256
275
|
coordinateConversion: {
|
|
257
276
|
pixelToData: (point: {
|
|
258
277
|
x: number;
|
|
@@ -308,6 +327,14 @@ declare class QFChart implements ChartContext {
|
|
|
308
327
|
getOptions(): QFChartOptions;
|
|
309
328
|
disableTools(): void;
|
|
310
329
|
registerPlugin(plugin: Plugin): void;
|
|
330
|
+
registerDrawingRenderer(renderer: DrawingRenderer): void;
|
|
331
|
+
snapToCandle(point: {
|
|
332
|
+
x: number;
|
|
333
|
+
y: number;
|
|
334
|
+
}): {
|
|
335
|
+
x: number;
|
|
336
|
+
y: number;
|
|
337
|
+
};
|
|
311
338
|
addDrawing(drawing: DrawingElement): void;
|
|
312
339
|
removeDrawing(id: string): void;
|
|
313
340
|
getDrawing(id: string): DrawingElement | undefined;
|
|
@@ -422,6 +449,13 @@ declare abstract class AbstractPlugin implements Plugin {
|
|
|
422
449
|
icon?: string;
|
|
423
450
|
protected context: ChartContext;
|
|
424
451
|
private eventListeners;
|
|
452
|
+
private _snapIndicator;
|
|
453
|
+
private _snapMoveHandler;
|
|
454
|
+
private _snapKeyDownHandler;
|
|
455
|
+
private _snapKeyUpHandler;
|
|
456
|
+
private _snapBlurHandler;
|
|
457
|
+
private _snapActive;
|
|
458
|
+
private _lastMouseEvent;
|
|
425
459
|
constructor(config: PluginConfig);
|
|
426
460
|
init(context: ChartContext): void;
|
|
427
461
|
/**
|
|
@@ -464,6 +498,16 @@ declare abstract class AbstractPlugin implements Plugin {
|
|
|
464
498
|
* Access to market data.
|
|
465
499
|
*/
|
|
466
500
|
protected get marketData(): OHLCV[];
|
|
501
|
+
/**
|
|
502
|
+
* Get the event point coordinates, snapping to nearest candle OHLC if Ctrl is held.
|
|
503
|
+
* Use this instead of [params.offsetX, params.offsetY] in click/mousemove handlers.
|
|
504
|
+
*/
|
|
505
|
+
protected getPoint(params: any): [number, number];
|
|
506
|
+
private _bindSnapIndicator;
|
|
507
|
+
private _unbindSnapIndicator;
|
|
508
|
+
private _removeSnapGraphic;
|
|
509
|
+
private _showSnapAt;
|
|
510
|
+
private _hideSnap;
|
|
467
511
|
}
|
|
468
512
|
|
|
469
513
|
declare class MeasureTool extends AbstractPlugin {
|
|
@@ -479,7 +523,7 @@ declare class MeasureTool extends AbstractPlugin {
|
|
|
479
523
|
private lineH;
|
|
480
524
|
private arrowStart;
|
|
481
525
|
private arrowEnd;
|
|
482
|
-
constructor(options
|
|
526
|
+
constructor(options?: {
|
|
483
527
|
name?: string;
|
|
484
528
|
icon?: string;
|
|
485
529
|
});
|
|
@@ -508,7 +552,7 @@ declare class LineTool extends AbstractPlugin {
|
|
|
508
552
|
private line;
|
|
509
553
|
private startCircle;
|
|
510
554
|
private endCircle;
|
|
511
|
-
constructor(options
|
|
555
|
+
constructor(options?: {
|
|
512
556
|
name?: string;
|
|
513
557
|
icon?: string;
|
|
514
558
|
});
|
|
@@ -516,20 +560,18 @@ declare class LineTool extends AbstractPlugin {
|
|
|
516
560
|
protected onActivate(): void;
|
|
517
561
|
protected onDeactivate(): void;
|
|
518
562
|
protected onDestroy(): void;
|
|
519
|
-
private onMouseDown;
|
|
520
|
-
private onChartInteraction;
|
|
521
563
|
private onClick;
|
|
522
|
-
private saveDataCoordinates;
|
|
523
|
-
private updateGraphicFromData;
|
|
524
|
-
private enableClearListeners;
|
|
525
|
-
private clearHandlers;
|
|
526
|
-
private disableClearListeners;
|
|
527
564
|
private onMouseMove;
|
|
528
565
|
private initGraphic;
|
|
529
566
|
private removeGraphic;
|
|
530
567
|
private updateGraphic;
|
|
531
568
|
}
|
|
532
569
|
|
|
570
|
+
declare class LineDrawingRenderer implements DrawingRenderer {
|
|
571
|
+
type: string;
|
|
572
|
+
render(ctx: DrawingRenderContext): any;
|
|
573
|
+
}
|
|
574
|
+
|
|
533
575
|
declare class FibonacciTool extends AbstractPlugin {
|
|
534
576
|
private startPoint;
|
|
535
577
|
private endPoint;
|
|
@@ -541,6 +583,7 @@ declare class FibonacciTool extends AbstractPlugin {
|
|
|
541
583
|
name?: string;
|
|
542
584
|
icon?: string;
|
|
543
585
|
});
|
|
586
|
+
protected onInit(): void;
|
|
544
587
|
onActivate(): void;
|
|
545
588
|
onDeactivate(): void;
|
|
546
589
|
private bindEvents;
|
|
@@ -553,5 +596,269 @@ declare class FibonacciTool extends AbstractPlugin {
|
|
|
553
596
|
private saveDrawing;
|
|
554
597
|
}
|
|
555
598
|
|
|
556
|
-
|
|
557
|
-
|
|
599
|
+
declare class FibonacciDrawingRenderer implements DrawingRenderer {
|
|
600
|
+
type: string;
|
|
601
|
+
render(ctx: DrawingRenderContext): any;
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
declare class FibonacciChannelTool extends AbstractPlugin {
|
|
605
|
+
private startPoint;
|
|
606
|
+
private endPoint;
|
|
607
|
+
private widthPoint;
|
|
608
|
+
private state;
|
|
609
|
+
private graphicGroup;
|
|
610
|
+
private readonly levels;
|
|
611
|
+
private readonly colors;
|
|
612
|
+
constructor(options?: {
|
|
613
|
+
name?: string;
|
|
614
|
+
icon?: string;
|
|
615
|
+
});
|
|
616
|
+
protected onInit(): void;
|
|
617
|
+
onActivate(): void;
|
|
618
|
+
onDeactivate(): void;
|
|
619
|
+
private bindEvents;
|
|
620
|
+
private unbindEvents;
|
|
621
|
+
private onClick;
|
|
622
|
+
private onMouseMove;
|
|
623
|
+
private initGraphic;
|
|
624
|
+
private removeGraphic;
|
|
625
|
+
private updateGraphic;
|
|
626
|
+
private saveDrawing;
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
declare class FibonacciChannelDrawingRenderer implements DrawingRenderer {
|
|
630
|
+
type: string;
|
|
631
|
+
render(ctx: DrawingRenderContext): any;
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
declare class FibSpeedResistanceFanTool extends AbstractPlugin {
|
|
635
|
+
private startPoint;
|
|
636
|
+
private endPoint;
|
|
637
|
+
private state;
|
|
638
|
+
private graphicGroup;
|
|
639
|
+
constructor(options?: {
|
|
640
|
+
name?: string;
|
|
641
|
+
icon?: string;
|
|
642
|
+
});
|
|
643
|
+
protected onInit(): void;
|
|
644
|
+
protected onActivate(): void;
|
|
645
|
+
protected onDeactivate(): void;
|
|
646
|
+
private bindEvents;
|
|
647
|
+
private unbindEvents;
|
|
648
|
+
private onClick;
|
|
649
|
+
private onMouseMove;
|
|
650
|
+
private initGraphic;
|
|
651
|
+
private removeGraphic;
|
|
652
|
+
private updateGraphic;
|
|
653
|
+
private saveDrawing;
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
declare class FibSpeedResistanceFanDrawingRenderer implements DrawingRenderer {
|
|
657
|
+
type: string;
|
|
658
|
+
render(ctx: DrawingRenderContext): any;
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
declare class FibTrendExtensionTool extends AbstractPlugin {
|
|
662
|
+
private points;
|
|
663
|
+
private state;
|
|
664
|
+
private graphicGroup;
|
|
665
|
+
constructor(options?: {
|
|
666
|
+
name?: string;
|
|
667
|
+
icon?: string;
|
|
668
|
+
});
|
|
669
|
+
protected onInit(): void;
|
|
670
|
+
protected onActivate(): void;
|
|
671
|
+
protected onDeactivate(): void;
|
|
672
|
+
private bindEvents;
|
|
673
|
+
private unbindEvents;
|
|
674
|
+
private onClick;
|
|
675
|
+
private onMouseMove;
|
|
676
|
+
private initGraphic;
|
|
677
|
+
private removeGraphic;
|
|
678
|
+
private updateGraphic;
|
|
679
|
+
private saveDrawing;
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
declare class FibTrendExtensionDrawingRenderer implements DrawingRenderer {
|
|
683
|
+
type: string;
|
|
684
|
+
render(ctx: DrawingRenderContext): any;
|
|
685
|
+
}
|
|
686
|
+
|
|
687
|
+
declare class XABCDPatternTool extends AbstractPlugin {
|
|
688
|
+
private points;
|
|
689
|
+
private state;
|
|
690
|
+
private graphicGroup;
|
|
691
|
+
constructor(options?: {
|
|
692
|
+
name?: string;
|
|
693
|
+
icon?: string;
|
|
694
|
+
});
|
|
695
|
+
protected onInit(): void;
|
|
696
|
+
protected onActivate(): void;
|
|
697
|
+
protected onDeactivate(): void;
|
|
698
|
+
private bindEvents;
|
|
699
|
+
private unbindEvents;
|
|
700
|
+
private onClick;
|
|
701
|
+
private onMouseMove;
|
|
702
|
+
private initGraphic;
|
|
703
|
+
private removeGraphic;
|
|
704
|
+
private updateGraphic;
|
|
705
|
+
private saveDrawing;
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
declare class XABCDPatternDrawingRenderer implements DrawingRenderer {
|
|
709
|
+
type: string;
|
|
710
|
+
render(ctx: DrawingRenderContext): any;
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
declare class ABCDPatternTool extends AbstractPlugin {
|
|
714
|
+
private points;
|
|
715
|
+
private state;
|
|
716
|
+
private graphicGroup;
|
|
717
|
+
constructor(options?: {
|
|
718
|
+
name?: string;
|
|
719
|
+
icon?: string;
|
|
720
|
+
});
|
|
721
|
+
protected onInit(): void;
|
|
722
|
+
protected onActivate(): void;
|
|
723
|
+
protected onDeactivate(): void;
|
|
724
|
+
private onClick;
|
|
725
|
+
private onMouseMove;
|
|
726
|
+
private initGraphic;
|
|
727
|
+
private removeGraphic;
|
|
728
|
+
private updateGraphic;
|
|
729
|
+
private saveDrawing;
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
declare class ABCDPatternDrawingRenderer implements DrawingRenderer {
|
|
733
|
+
type: string;
|
|
734
|
+
render(ctx: DrawingRenderContext): any;
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
declare class CypherPatternTool extends AbstractPlugin {
|
|
738
|
+
private points;
|
|
739
|
+
private state;
|
|
740
|
+
private graphicGroup;
|
|
741
|
+
constructor(options?: {
|
|
742
|
+
name?: string;
|
|
743
|
+
icon?: string;
|
|
744
|
+
});
|
|
745
|
+
protected onInit(): void;
|
|
746
|
+
protected onActivate(): void;
|
|
747
|
+
protected onDeactivate(): void;
|
|
748
|
+
private onClick;
|
|
749
|
+
private onMouseMove;
|
|
750
|
+
private initGraphic;
|
|
751
|
+
private removeGraphic;
|
|
752
|
+
private updateGraphic;
|
|
753
|
+
private saveDrawing;
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
declare class CypherPatternDrawingRenderer implements DrawingRenderer {
|
|
757
|
+
type: string;
|
|
758
|
+
render(ctx: DrawingRenderContext): any;
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
declare class HeadAndShouldersTool extends AbstractPlugin {
|
|
762
|
+
private points;
|
|
763
|
+
private state;
|
|
764
|
+
private graphicGroup;
|
|
765
|
+
constructor(options?: {
|
|
766
|
+
name?: string;
|
|
767
|
+
icon?: string;
|
|
768
|
+
});
|
|
769
|
+
protected onInit(): void;
|
|
770
|
+
protected onActivate(): void;
|
|
771
|
+
protected onDeactivate(): void;
|
|
772
|
+
private onClick;
|
|
773
|
+
private onMouseMove;
|
|
774
|
+
private initGraphic;
|
|
775
|
+
private removeGraphic;
|
|
776
|
+
private updateGraphic;
|
|
777
|
+
private saveDrawing;
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
declare class HeadAndShouldersDrawingRenderer implements DrawingRenderer {
|
|
781
|
+
type: string;
|
|
782
|
+
render(ctx: DrawingRenderContext): any;
|
|
783
|
+
}
|
|
784
|
+
|
|
785
|
+
declare class TrianglePatternTool extends AbstractPlugin {
|
|
786
|
+
private points;
|
|
787
|
+
private state;
|
|
788
|
+
private graphicGroup;
|
|
789
|
+
constructor(options?: {
|
|
790
|
+
name?: string;
|
|
791
|
+
icon?: string;
|
|
792
|
+
});
|
|
793
|
+
protected onInit(): void;
|
|
794
|
+
protected onActivate(): void;
|
|
795
|
+
protected onDeactivate(): void;
|
|
796
|
+
private onClick;
|
|
797
|
+
private onMouseMove;
|
|
798
|
+
private initGraphic;
|
|
799
|
+
private removeGraphic;
|
|
800
|
+
private updateGraphic;
|
|
801
|
+
private saveDrawing;
|
|
802
|
+
}
|
|
803
|
+
|
|
804
|
+
declare class TrianglePatternDrawingRenderer implements DrawingRenderer {
|
|
805
|
+
type: string;
|
|
806
|
+
render(ctx: DrawingRenderContext): any;
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
declare class ThreeDrivesPatternTool extends AbstractPlugin {
|
|
810
|
+
private points;
|
|
811
|
+
private state;
|
|
812
|
+
private graphicGroup;
|
|
813
|
+
constructor(options?: {
|
|
814
|
+
name?: string;
|
|
815
|
+
icon?: string;
|
|
816
|
+
});
|
|
817
|
+
protected onInit(): void;
|
|
818
|
+
protected onActivate(): void;
|
|
819
|
+
protected onDeactivate(): void;
|
|
820
|
+
private onClick;
|
|
821
|
+
private onMouseMove;
|
|
822
|
+
private initGraphic;
|
|
823
|
+
private removeGraphic;
|
|
824
|
+
private updateGraphic;
|
|
825
|
+
private saveDrawing;
|
|
826
|
+
}
|
|
827
|
+
|
|
828
|
+
declare class ThreeDrivesPatternDrawingRenderer implements DrawingRenderer {
|
|
829
|
+
type: string;
|
|
830
|
+
render(ctx: DrawingRenderContext): any;
|
|
831
|
+
}
|
|
832
|
+
|
|
833
|
+
interface ToolGroupConfig extends Omit<PluginConfig, 'id'> {
|
|
834
|
+
id?: string;
|
|
835
|
+
name: string;
|
|
836
|
+
icon?: string;
|
|
837
|
+
}
|
|
838
|
+
declare class ToolGroup extends AbstractPlugin {
|
|
839
|
+
private plugins;
|
|
840
|
+
private activeSubPlugin;
|
|
841
|
+
private menuElement;
|
|
842
|
+
private buttonElement;
|
|
843
|
+
private originalIcon;
|
|
844
|
+
private arrowSvg;
|
|
845
|
+
constructor(config: ToolGroupConfig);
|
|
846
|
+
add(plugin: Plugin): void;
|
|
847
|
+
protected onInit(): void;
|
|
848
|
+
protected onActivate(): void;
|
|
849
|
+
protected onDeactivate(): void;
|
|
850
|
+
protected onDestroy(): void;
|
|
851
|
+
private showMenu;
|
|
852
|
+
private hideMenu;
|
|
853
|
+
private handleOutsideClick;
|
|
854
|
+
private activateSubPlugin;
|
|
855
|
+
}
|
|
856
|
+
|
|
857
|
+
declare class DrawingRendererRegistry {
|
|
858
|
+
private renderers;
|
|
859
|
+
register(renderer: DrawingRenderer): void;
|
|
860
|
+
get(type: string): DrawingRenderer | undefined;
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
export { ABCDPatternDrawingRenderer, ABCDPatternTool, AbstractPlugin, CypherPatternDrawingRenderer, CypherPatternTool, DrawingRendererRegistry, FibSpeedResistanceFanDrawingRenderer, FibSpeedResistanceFanTool, FibTrendExtensionDrawingRenderer, FibTrendExtensionTool, FibonacciChannelDrawingRenderer, FibonacciChannelTool, FibonacciDrawingRenderer, FibonacciTool, HeadAndShouldersDrawingRenderer, HeadAndShouldersTool, LineDrawingRenderer, LineTool, MeasureTool, QFChart, ThreeDrivesPatternDrawingRenderer, ThreeDrivesPatternTool, ToolGroup, TrianglePatternDrawingRenderer, TrianglePatternTool, XABCDPatternDrawingRenderer, XABCDPatternTool };
|
|
864
|
+
export type { ChartContext, Coordinate, DataCoordinate, DrawingElement, DrawingRenderContext, DrawingRenderer, DrawingType, Indicator$1 as Indicator, IndicatorOptions, IndicatorPlot, IndicatorPoint, IndicatorStyle, OHLCV, Plugin, PluginConfig, QFChartOptions, ToolGroupConfig };
|