示例#1
0
def run_policy():
    p = live_policy_runner.LivePolicySwitch()
    s = boll_pramid.Strategy_Boll_Pre(data_interface.TdxData())
    if agl.is_function(s.setParams):
        s.setParams()
    p.Regist(s)

    while 1:
        agl.tic()
        p.Run()
        agl.toc()
        time.sleep(3)
        if stock.IsShouPan():
            break
示例#2
0
def main(args):
    agl.tic()
    BackTestPolicy.Test()
    agl.toc()
    print("end")
示例#3
0
#-*- coding:utf-8 -*-

"""boll分仓, 择时策略"""

import numpy as np
import pandas as pd
import boll_pramid
import backtest_policy, stock, myenum, agl, account as ac, help, myredis, sign_observation as so, ui
import os
agl.tic()

#ths = stock.createThs()
	
class BollFenCangKline(boll_pramid.Strategy_Boll_Pre):
    """基于日线的boll分仓, 基本指标使用日线Boll以及日线Four"""
    def setParams(self, *args, **kwargs):
	self.base_num =	10000		#第一次买卖的数量    
	self.base_num_ratio = 0.1	#总资金的10%作为初始建仓, 与上一个变量两者可选, 注释该行使用绝对数量
	self.base_ratio	= 0.05		#盈亏区间的比率
	self.base_pramid_ratio = 3	#底部增仓比率
	self.base_rhombus_mid_ratio = 0.3	#仓位形态菱形的下部占比, 当资金不够时, 尽量保留一些资金
	self.base_four = [-0.5, -0.1]		#第一次买卖的技术指标阀值
	for k, v in kwargs.iteritems():
	    setattr(self, k, v)
    def OnFirstRun(self):
	self.key_sell_avg_price = 'BollFenCangKline.SellAvgPrice'+ str(os.getpid())
	self.key_sell_num = 'BollFenCangKline.SellNum'+ str(os.getpid())
	myredis.delKeys('BollFenCangKline')
    def Run(self):
	account = self._getAccount()
	code = self.data.get_code()