等级: 免费版
- 注册:
- 2022-2-11
- 曾用名:
|
自己仿照编写的代码如下:
#可以自己import我们平台支持的第三方Python模块,比如pands、numpy等。
#导入各种库
import time
import os
import csv
import numpy
import talib as ta
#写一些变量和有关的赋值
def init(context):
context.s1 = context.run_info.base_book_id
#均线的两个周期
context.long_period = 20
context.short_period = 5
#befor_trading 此函数会每天策略交易开始前被调用,当天只会被调用一次
def before_trading(context):
pass
#你选择的证券数据更新将会触发 此段逻辑,例如日或分钟历史数据切片或者实时数据切片更新
def handle_bar(context):
#写主要逻辑 开始写算法
#获取交易品种价格,并产生对应的均线数据
close = history_bars(context.s1, context.long_period+1, 'self ', 'close',True)
if len(close) < context.long_period+1:
return
ma5 = ta.SMA(close,context.short_period)
ma20 = ta.SMA(close,context.long_period)
if ma5[-1]>ma20[-1] and ma5[-2]< ma20[-2]:
buy_open(context.s1, "market" ,volume=100,serial_id = 1)
if ma5[-1] < ma20[-1] and ma5[-2] > ma20[-2]:
portfolio = get_portfolio(context.s1,0)
sell_close(context.s1,"market",volume=portfolio.buy_quantity,serial_id = 2)
# after_trading 函数会在每天交易结束后被调用,当天只会被调用一次
def after_trading(context):
pass
|
|