using IndexFormula.Finance.DataProvider; using MuchInfo.Chart.Data.EnumTypes; using MuchInfo.Chart.Data.Interfaces; using MuchInfo.Chart.Data.Models; using System; using System.Collections.Generic; namespace MuchInfo.Chart.DataAdapter { /// /// 图表与编辑器的数据交换 /// public interface IDataService { /// /// 使用公式计算图表数据 /// /// 源数据,需要计算的数据 /// 所有要计算的公式 /// 周期类型 /// 自定义周期分钟数 /// 返回图表数据 List Calculate(List source, List sourceChart, Data.EnumTypes.CycleType cycleType, TimeSpan minutes); /// /// 使用公式计算图表数据 /// /// 源数据,需要计算的数据 /// 公式 /// 周期类型 /// 自定义周期分钟数 /// 返回图表数据 FormulaModel Calculate(List source, FormulaModel formula, Data.EnumTypes.CycleType cycleType, TimeSpan minutes); /// /// 打开指标编辑器 /// /// 计算源数据 /// 当前图表的所有计算公式 /// 周期类型 /// 自定义周期分钟数 /// 返回图表数据 List OpenEditor(List source, string[] formulaArray, CycleType cycleType, TimeSpan minutes); /// /// 编辑指定的公式 /// /// 公式名称 void EditFormula(string formulaName); /// /// 打开指标编辑器 /// /// 公式名称 void OpenFormulaEdit(string formulaName); /// /// 设置图表语言 /// /// 语言类型 void SetEditorLanguage(ChartLanguageType language); /// /// 从文件中加载公式集合 /// /// 公式文件fml /// SpaceModel LoadSpaceFromFile(string fileName); /// /// 保存指标参数 /// /// 公式参数 void SaveFormulaParams(List programModels); /// /// 数据转换 /// /// 数据类型 /// 周期 /// 自定义周期时间 /// CommonDataProvider DataPointConvert(List source, Data.EnumTypes.CycleType cycleType, TimeSpan minutes, IDataManager dataManager); } }