hikyuu2/docs/source/trade_sys/profitgoal.rst
2021-02-07 22:29:53 +08:00

118 lines
3.5 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.. py:currentmodule:: hikyuu.trade_sys
.. highlight:: python
盈利目标策略
============
内建盈利目标策略
----------------
.. py:function:: PG_FixedPercent([p = 0.2])
固定百分比盈利目标,目标价格 = 买入价格 * (1 + p)
:param float p: 百分比
:return: 盈利目标策略实例
.. py:function:: PG_FixedHoldDays([days=5])
固定持仓天数盈利目标策略
:param int days: 允许持仓天数(按交易日算),默认5天
:return: 盈利目标策略实例
.. py:function:: PG_NoGoal()
无盈利目标策略,通常为了进行测试或对比。
:return: 盈利目标策略实例
自定义盈利目标策略
------------------
自定义盈利目标策略接口:
* :py:meth:`ProfitGoalBase.getGoal` - 【必须】获取目标价格
* :py:meth:`ProfitGoalBase._calculate` - 【必须】子类计算接口
* :py:meth:`ProfitGoalBase._clone` - 【必须】克隆接口
* :py:meth:`ProfitGoalBase._reset` - 【可选】重载私有变量
* :py:meth:`ProfitGoalBase.buyNotify` - 【可选】接收实际买入通知,预留用于多次增减仓处理
* :py:meth:`ProfitGoalBase.sellNotify` - 【可选】接收实际卖出通知,预留用于多次增减仓处理
盈利目标策略基类
----------------
.. py:class:: ProfitGoalBase
盈利目标策略基类
.. py:attribute:: name 名称
.. py:attribute:: to 设置或获取交易对象
.. py:attribute:: tm 设置或获取交易管理账户
.. py:method:: __init__(self[, name="ProfitGoalBase"])
初始化构造函数
:param str name: 名称
.. py:method:: get_param(self, name)
获取指定的参数
:param str name: 参数名称
:return: 参数值
:raises out_of_range: 无此参数
.. py:method:: set_param(self, name, value)
设置参数
:param str name: 参数名称
:param value: 参数值
:type value: int | bool | float | string
:raises logic_error: Unsupported type! 不支持的参数类型
.. py:method:: reset(self)
复位操作
.. py:method:: clone(self)
克隆操作
.. py:method:: get_goal(self, datetime, price)
【重载接口】获取盈利目标价格返回constant.null_price时表示未限定目标返回0意味着需要卖出
:param Datetime datetime: 买入时间
:param float price: 买入价格
:return: 目标价格
:rtype: float
.. py:method:: buy_notify(self, trade_record)
【重载接口】交易系统发生实际买入操作时,通知交易变化情况,一般存在多次增减仓的情况才需要重载
:param TradeRecord trade_record: 发生实际买入时的实际买入交易记录
.. py:method:: sell_notify(self, trade_record)
【重载接口】交易系统发生实际卖出操作时,通知实际交易变化情况,一般存在多次增减仓的情况才需要重载
:param TradeRecord trade_record: 发生实际卖出时的实际卖出交易记录
.. py:method:: _calculate(self)
【重载接口】子类计算接口
.. py:method:: _reset(self)
【重载接口】子类复位接口,复位内部私有变量
.. py:method:: _clone(self)
【重载接口】子类克隆接口