
设计模式
文章平均质量分 70
迈达量化
专注于量化交易系统与交易策略的开发,十几年编程与交易经验。
展开
-
解释器模式构建风控策略的应用
【代码】解释器模式构建风控策略的应用。原创 2024-03-26 20:56:20 · 368 阅读 · 0 评论 -
MVC设计模式的详解及应用
MVC全名是Model View Controller,是一种软件设计典范,也是一个框架模式。它将应用程序分成三个核心部件:模型(Model)、视图(View)和控制器(Controller)。每个部件都有自己的任务和责任。原创 2024-03-23 20:15:00 · 1622 阅读 · 0 评论 -
解释器模式的原理、应用及代码实现
解释器模式(Interpreter Pattern)是一种行为型设计模式,它用于解决特定类型问题的频繁发生。该模式将问题的各个实例表述为一个语言中的句子,并定义一个解释器来解释这些句子。解释器模式通常用于编译器设计、正则表达式解析、符号计算等领域原创 2024-03-23 18:15:00 · 446 阅读 · 0 评论 -
MQL语言实现抽象工厂模式
抽象工厂模式的MQL代码实现。原创 2024-03-15 21:00:00 · 1176 阅读 · 0 评论 -
利用适配器模式使用第三方库
现在我们想要使用一个第三方库中的类Adaptee,该类有一个specificRequest()方法,但是它的接口与我们的系统不兼容。当我们需要使用一个已有的类,但其接口与我们的需求不匹配时,可以使用适配器来将其转换为我们需要的接口。适配器模式是一种设计模式,用于将一个类的接口转换成客户端所期望的另一个接口。当需要添加新的类或接口时,可以通过添加适配器来实现与现有代码的兼容性,而无需修改现有代码。通过使用适配器模式,我们可以更好地管理和组织代码,提高代码的可重用性和可维护性。原创 2024-03-14 20:39:43 · 933 阅读 · 0 评论 -
利用装饰器模式使用第三方库
注意:装饰器模式的目标接口和具体组件可以是第三方代码,也可以是自己编写的代码。装饰器模式的目标接口定义了装饰器和具体组件之间的通用方法,而具体组件是被装饰的对象,它实现了目标接口的方法。装饰器是一个封装器,它包含与目标对象相同的一系列方法,并将请求委派给目标对象。假如有个现成类Trade,里面包含Buy和Sell两个方法,通过设计模式中的装饰器模式来包装这个类如何实现呢?这个基础类ITrade不是必须的,装饰器可以直接继承Trade类。但会丧失一些灵活性,有很多第三方程序也是没有基础类的。原创 2024-03-14 18:15:00 · 1129 阅读 · 0 评论 -
接口隔离原则的实现方法及具体应用
限制方法的参数和返回值:方法的参数和返回值应该尽量简单和明确,避免传递和返回复杂的对象。使用访问器方法(Getter和Setter):通过访问器方法来获取和设置对象的属性值,而不是直接访问对象的属性。封装对象的内部状态和行为:将对象的内部状态和行为封装在类的私有成员中,通过公有的接口方法来访问和操作这些成员。避免链式调用:尽量避免在一个方法中调用多个对象的方法,以减少对象之间的依赖关系。这样可以避免接口的臃肿和不必要的依赖关系,提高代码的灵活性和可维护性。原创 2024-03-13 22:47:21 · 659 阅读 · 0 评论 -
软件设计原则及具体应用
通过将变化的部分抽象出来,将其封装在接口或抽象类中,可以在不修改已有代码的情况下,通过替换具体实现来实现功能的扩展。具体来说,当需要对软件进行修改时,应该通过扩展已有的代码来实现,而不是直接修改已有的代码。通过将依赖关系的创建和管理交给外部容器,可以在不修改已有代码的情况下,通过配置来实现功能的扩展。邮件发送类:一个邮件发送类应该只负责发送邮件的功能,而不应该包含其他与邮件无关的功能,比如日志记录等。日志记录类:一个日志记录类应该只负责记录日志的功能,而不应该包含其他与日志无关的功能,比如发送邮件等。原创 2024-03-13 18:51:42 · 1231 阅读 · 0 评论 -
访问者模式在量化交易系统开发的应用
在量化交易系统开发中,访问者模式可以用于处理不同类型的交易数据,以及执行特定的操作或计算。然后,我们创建了一个BacktestVisitor对象,并遍历策略列表,对每个策略对象调用accept方法,传入访问者对象进行操作。例如,可以定义一个访问者类来计算交易数据的平均值、标准差等统计指标,或者进行数据清洗和预处理操作。通过使用访问者模式,量化交易系统可以更好地组织和管理交易数据,并实现不同的操作和功能。例如,可以定义一个访问者类来根据特定的策略规则执行买入或卖出操作,并更新交易账户的状态。原创 2024-03-12 20:15:00 · 810 阅读 · 0 评论 -
命令模式在量化交易系统开发中的应用
通过使用命令模式,我们可以将交易指令封装成对象,并在需要时进行执行。首先,我们创建一个具体的交易指令类BuyCommand和SellCommand,它们实现了Command接口,并在执行方法中调用经纪人的买入和卖出方法。命令模式在量化交易系统中的应用是通过将交易指令封装成命令对象,以实现交易的灵活性和可扩展性。然后,我们创建一个经纪人类Broker,它包含一个交易指令队列,并提供添加和执行交易指令的方法。最后,我们创建股票对象和交易指令,并将交易指令添加到经纪人的队列中,然后执行交易指令。原创 2024-03-12 18:15:00 · 820 阅读 · 0 评论 -
状态模式在交易策略开发中的应用
使用状态模式可以将每种状态的判断逻辑封装到具体状态类中,使得代码更加清晰和可维护。使用状态模式可以通过改变当前状态对象来实现状态的切换,而不需要修改其他代码。扩展性和可维护性:当需要新增一种交易策略状态时,只需要添加一个新的具体状态类即可,不需要修改已有的代码。然后,创建两个具体状态类BuyState和SellState,分别实现State接口,并在execute方法中实现买入和卖出的具体操作。最后,在交易策略系统中,根据市场行情动态切换状态,并调用当前状态的execute方法执行交易操作。原创 2024-03-11 20:15:00 · 682 阅读 · 0 评论 -
模板方法模式在交易策略开发中的应用
实现交易策略的具体步骤:模板方法模式中的抽象类定义了一些通用的方法和算法步骤,而具体的交易策略则可以通过重写这些方法来实现自己的具体步骤。例如,在一个股票交易策略中,可以定义一个抽象类,其中包含了通用的买入和卖出方法,而具体的交易策略则可以通过重写这些方法来实现自己的买入和卖出逻辑。定义交易策略的框架结构:模板方法模式可以定义一个抽象类作为交易策略的框架,其中包含了一些通用的方法和算法步骤,而具体的交易策略则通过继承该抽象类来实现。具体实现可以根据不同的交易策略进行定制,但信号生成的逻辑是通用的。原创 2024-03-11 18:00:00 · 1633 阅读 · 0 评论