QMT量化双均线止盈止损策略
发布时间:2023-8-24 15:53阅读:421
QMT量化双均线止盈止损策略
喵喵喵!招财猫又和大家见面了,量化又好久没说了,今天来份!
今天给大家讲的就是我们经常要用的止盈止损策略。那先说下,止盈止损在我们客户股票投资中是非常难掌控操作的,但是量化里面可不一样,我们可以设置好,不受你的情绪和动作快慢影响,可以不断回测调试达到你的所需的结果。
我们在量化里面可以有两种双均线止盈止损策略思路:
追踪止盈止损
追踪止盈是在达到盈利目标后,并不立即止盈,而是等到盈利从最大盈利回落到一定幅度后再止盈。
追踪止损就是止损点随价格变动而调整,跟踪价格变化的止损策略,特点是让盈利跟随价格奔跑,止损价格跟踪市场最高价格的正向波动自动调整。
固定百分比止盈止损
固定百分比止损就是根据建仓价格的一定百分比率确定止损点位,当市场价格超越该价位时即行平仓止损的策略。
固定百分比止盈也是根据建仓价格的一定百分比率来确定止盈点,当持仓达到止盈点时,不管未来的价格走势和潜在盈利能力如何,立即平仓出局
比喻说财阀哥基于移动均线交叉趋势跟踪策略,添加了两种止盈止损模式。一种是追踪止盈止损,另一种是固定百分比止盈止损,两种止盈止损模式通过变量进行切换,在使用时进行手动设置即可。
一、如何使用
1.进入平台,打开任意一个策略,进入策略编辑器,如下图:
2.在左侧策略列表,右击,选择导入公式,选择策略对应的文件。导入成功后,可在左侧策略列表栏中找到该策略,如下图:
3.通过点击回测,可在日志输出栏中查看不同数据获取方法返回的结果。
#encoding:gbk
'''
本策略事先设定好交易的股票篮子,然后根据指数的CCI指标来判断超买和超卖
当有超买和超卖发生时,交易事先设定好的股票篮子
'''
import pandas as pd
import numpy as np
import talib
def init(ContextInfo):
#hs300成分股中sh和sz市场各自流通市值最大的前3只股票
ContextInfo.trade_code_list=['601398.SH','601857.SH','601288.SH','000333.SZ','002415.SZ','000002.SZ']
ContextInfo.set_universe(ContextInfo.trade_code_list)
ContextInfo.accID = '6000000058'
ContextInfo.buy = True
ContextInfo.sell = False
def handlebar(ContextInfo):
#计算当前主图的cci
mkdict = ContextInfo.get_market_data(['high','low','close'],count=int(period)+1)
highs = np.array(mkdict['high'])
lows = np.array(mkdict['low'])
closes = np.array(mkdict['close'])
cci_list = talib.CCI(highs,lows,closes,timeperiod=int(period))
now_cci = cci_list[-1]
ContextInfo.paint("CCI",now_cci,-1,0,'noaxis')
#交易策略
if len(cci_list)<2:
return
#买入条件:指数CCI进入超卖区间时触发买入信号,过滤连续超卖导致的买入信号
buy_condition = cci_list[-2]
#卖出条件:指数CCI进入超买区间时触发卖出信号,过滤连续超买导致的卖出信号
sell_condition = cci_list[-2]>sell_value>=now_cci and ContextInfo.sell
if buy_condition:
ContextInfo.buy = False
ContextInfo.sell = True
#列表中股票分别下单买入10手
for stockcode in ContextInfo.trade_code_list:
order_lots(stockcode,10,ContextInfo,ContextInfo.accID)
elif sell_condition:
ContextInfo.buy = True
ContextInfo.sell = False
#列表中股票分别下单卖出10手
for stockcode in ContextInfo.trade_code_list:
order_lots(stockcode,-10,ContextInfo,ContextInfo.accID)
#可买或可卖状态
ContextInfo.draw_text(bool(buy_condition),float(now_cci),'buy') #绘制买点
ContextInfo.draw_text(bool(sell_condition),float(now_cci),'sell') #绘制卖点
ContextInfo.paint('can_buy',ContextInfo.buy,-1,0,'nodraw')
ContextInfo.paint('can_sell',ContextInfo.sell,-1,0,'nodraw')
你建立了自己的策略之后可以检验执行了。
如果你这边需要量化QMT,可以联系我
量化QMT策略定时自动下单,如果报单失败,30秒后自动申报,有专用的极速柜台,极速柜台因为是VIP通道,所以客户更少,会让你的速度更快 ,且该QMT支持多标的,并行运行。
这一款基于Python语言的策略交易平台,支持股票、期货、期权、债券等全品种交易,帮助你快速实现个性化交易想法,基于内存柜台,比普通柜台速度快40倍。
你如果想拥有如此完美的QMT可以联系我开通哦!


温馨提示:投资有风险,选择需谨慎。
-
锁定目标收益:国泰海通2025高收益理财,如何规划您的短期财富增长?
2025-07-18 18:07
-
从 ⌈销量第一⌋ 到公司 ⌈停工停产⌋ ,罗马仕到底经历了什么?
2025-07-18 18:07
-
【能源赛道】可控核聚变为何成全球焦点?
2025-07-18 18:07