等级: 免费版
- 注册:
- 2021-8-3
- 曾用名:
|
import time
import os
import csv
import numpy
import pandas as pd
import talib as ta
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
qss = 'ccc '
def init(context):
context.s1 = context.run_info.base_book_id
context.ma34 = 34
# before_trading此函数会在每天策略交易开始前被调用,当天只会被调用一次
def before_trading(context):
pass
# 你选择的证券的数据更新将会触发此段逻辑,例如日或分钟历史数据切片或者是实时数据切片更新
def handle_bar(context):
close = history_bars(context.s1, context.ma34+1, 'self', 'close',True)
open = history_bars(context.s1, context.ma34+1, 'self', 'open',True)
if len(close) < context.ma34+1 :
return
DTIME=get_indicator(context.s1,'cs','DTIME','', 'self',200)
cs11=get_indicator(context.s1,'cs','cs11','','5m',200)
cs5=get_indicator(context.s1,'cs','cs5','','self',200)
cs6=get_indicator(context.s1,'cs','cs6','','self',200)
SKK=get_indicator(context.s1,'cs','SKK','','self',200)
S=get_indicator(context.s1,'cs','S','','self',200) #"{:.2f}".format(3.1415926) 字符串格式化
qs = '-- '
if cs11[-1]==1:
qs = '上升趋势'
txt21=zq1+',卖空止盈(红)'
txt22= "K: "+ "{:.2f}".format(SKK1[-1])
mail(txt21,txt22)
if cs5[-1]==1 and cs6[-1]==1 and (SKK[-1]>50 or S[-1]>50):
txt11a=zq0+',买入信号!!'
txt12='('+qss+zq1+qs+'),最低价:'+"{:.2f}".format(LL[-1])+',K:'+"{:.2f}".format(SKK[-1])+',S:'+"{:.2f}".format(S[-1])
mail(txt11a,txt12)
# after_trading函数会在每天交易结束后被调用,当天只会被调用一次
def after_trading(context):
pass
我设置了一个全局变量用于保存qs = '上升趋势'。qss = 'ccc '和qs = '-- '放在两个位置测试效果,是初始值,具体的逻辑是 if cs11[-1]==1:判断为上升趋势,就设置qs = '上升趋势',这个在1小时周期判断。if cs5[-1]==1 and cs6[-1]==1 and (SKK[-1]>50 or S[-1]>50):那么就发出买入信号,这时候就调取qs这个全局变量的值,这一步在15分钟执行。我测试一段时间发过来的值还是qss = 'ccc '和qs = '-- '原始值。请帮忙看看具体哪里错了。谢谢
|
|