Gaster Groups一天交易多少次算高频交易成本低成交速度快?

威科夫交易法,是唯一以主力资金动向,来寻找大机构吸筹派发行为的分析流派。如下图,就是一个典型的威科夫派发区间。 不过威科夫交易法本身并不易轻易掌握,需要经过大量实盘练习后,才能准确定位。因此,最新的《威科夫2.0》,在保留威科夫基本法则的基础上,从交易本质解释了威科夫循环和威科夫阶段等,通过量价关系提供一种更为简单的交易模型。 作为全球性的交易券商,EBC有幸成为《威科夫2.0》的合作机构。本次EBC将为VIP用户带来这本限量权威著作,以及订单流工具1个月试用权。一、最精简的威科夫交易法模型 和威科夫1.0不同的是,威科夫2.0在保留威科夫1.0经典技术形态的基础上,又避开了复杂的检验模型所容易导致的判断陷阱。 如下图,经过威科夫2.0简化,我们只需要通过订单流工具提供的成交量分布,就可以直接利用K线与价值区间和成交量控制点位置关系,寻找趋势信号。以派发为例,如果K线站上控制点位置,但是在小幅突破价值区间后回撤并再次测试控制点,往往是趋势下跌的信号。更为经典的是《威科夫2.0》中的bp形态,它的核心在于成交量控制点的变化。当在行情底部形成bp形态后,说明机构筹码迅速上移,往往会形成连续上涨的信号。 这些全新的结构形态都完整呈现在《威科夫2.0》中,作为全球首发的限量权威著作,本次EBC将为VIP用户免费提供这套《威科夫2.0》,以及订单流工具1个月试用权。 二、EBC订单流工具,为《威科夫2.0》提供数据源支撑 《威科夫2.0》需要配合订单流工具的成交量分布才能更好的研判行情。 EBC在引入《威科夫2.0》时,也免费提供订单流工具,为威科夫交易法学习者提供实时成交量的数据源支持。
EBC订单流工具,直连CME数据端口,以市场的实时买卖量、成交量为基础追踪市场动向,完美契合了威科夫交易法的理论框架。 除了成交量分布,EBC订单流工具还包括逐差累计图,实时展现多空净单力量对比。买卖失衡堆积,提前发现多空异动的迹象。 POC(Point of Control),一键识别趋势反转信号。除了免费领取《威科夫2.0》,本次EBC还将为VIP用户提供订单流工具1个月试用权。EBC作为一家全球性的交易券商,始终秉承“诚信与尊重”的原则,在致力于最优质交易服务的同时,以专业和热忱为交易者提供多元化的交易工具,助力他们在交易之路上取得成功。 EBC始终相信,每个认真交易的人,都值得被认真对待。}
策略简介R-Breaker是一种短线日内交易策略,该策略已经在市场上存活了二十年之久,尤其当指数波动较大时,该策略表现越好,根据S&P至2011年底的统计,R-Break也多次名列前十,由于进入榜单的交易系统业绩并不稳定,尤其是一年业绩榜单,时常会发生变化,因此模型的稳定性和一致性其实比短期排名更加关键,杂志给出了长期来看一致性最好的十大交易模型,其中就包括 R-Breaker 等模型,它们的业绩不一定总是能排进前十名的榜单,但长期以来具有较高的一致性。前十大S&P 交易系统排名排名交易系统名称年收益率 资料来源:https://blog.csdn.net/The_Time_Runner/article/details/88762963策略的基本原理根据前一个交易日的收盘价、最高价和最低价数据通过一定方式计算出六个价位,从大到小依次为:突破买入价、观察卖出价、反转卖出价、反转买入、观察买入价、突破卖出价。以此来形成当前交易日盘中交易的触发条件。(策略源码在文章最后)def get_index_line(klines):
'''计算指标线'''
high = klines.high.iloc[-2]
# 前一日的最高价
low = klines.low.iloc[-2]
# 前一日的最低价
close = klines.close.iloc[-2]
# 前一日的收盘价
pivot = (high + low + close) / 3
# 枢轴点
bBreak = high + 2 * (pivot - low)
# 突破买入价
sSetup = pivot + (high - low)
# 观察卖出价
sEnter = 2 * pivot - low
# 反转卖出价
bEnter = 2 * pivot - high
# 反转买入价
bSetup = pivot - (high - low)
# 观察买入价
sBreak = low - 2 * (high - pivot)
# 突破卖出价
print("已计算新标志线, 枢轴点: %f, 突破买入价: %f, 观察卖出价: %f, 反转卖出价: %f, 反转买入价: %f, 观察买入价: %f, 突破卖出价: %f"
% (pivot, bBreak, sSetup, sEnter, bEnter, bSetup, sBreak))
return pivot, bBreak, sSetup, sEnter, bEnter, bSetup, sBreak追踪盘中价格走势,实时判断触发条件。具体条件如下:突破在空仓条件下,如果盘中价格超过突破买入价,则采取趋势策略,即在该点位开仓做多。在空仓条件下,如果盘中价格跌破突破卖出价,则采取趋势策略,即在该点位开仓做空。反转持多单,当日内最高价超过观察卖出价后,盘中价格出现回落,且进一步跌破反转卖出价构成的支撑线时,采取反转策略,即在该点位反手做空。持空单,当日内最低价低于观察买入价后,盘中价格出现反弹,且进一步超过反转买入价构成的阻力线时,采取反转策略,即在该点位反手做多。设定止损条件。当亏损达到设定值后,平仓。设定是否隔夜留仓。代码实现逻辑实现步骤只要新产生一条日线,即可判断为新交易日的开始,则重新计算七条指标线;if api.is_changing(klines.iloc[-1], "datetime"):
# 产生新k线,则重新计算7条指标线
pivot, bBreak, sSetup, sEnter, bEnter, bSetup, sBreak = get_index_line(klines)根据策略的交易规则,依据当前的持仓信息以及行情最新价突破信息进行加减仓操作;如果设置了非隔夜留仓,在策略进行过程中判断当前时间是否临近交易日结束,即当前行情时间已到达设定的平仓时间,若是则平仓;if api.is_changing(quote, "datetime"):
now = datetime.strptime(quote.datetime, "%Y-%m-%d %H:%M:%S.%f")
if now.hour == CLOSE_HOUR and now.minute >= CLOSE_MINUTE:
# 到达平仓时间: 平仓
print("临近本交易日收盘: 平仓")
target_pos_value = 0
# 平仓
pivot = bBreak = sSetup = sEnter = bEnter = bSetup = sBreak = float("nan")
# 修改各指标线的值, 避免平仓后再次触发设置止损点,每次调仓后记录调仓时的行情价,当调仓价与当前行情价之差大于止损点则平仓止损。STOP_LOSS_PRICE = 10
# 止损点(价格)
target_pos_value = position.pos_long - position.pos_short
# 净目标净持仓数
open_position_price = position.open_price_long if target_pos_value > 0 else position.open_price_short
# 开仓价
# 开仓价与当前行情价之差大于止损点则止损
if (target_pos_value > 0 and open_position_price - quote.last_price >= STOP_LOSS_PRICE) or (target_pos_value < 0 and quote.last_price - open_position_price >= STOP_LOSS_PRICE):
target_pos_value = 0
# 平仓策略代码实现工具免费期货模拟、实盘天勤量化软件:https://www.shinnytech.com/tianqin/回测回测初始设置初始账户资金:100万回测日期:2018.11.14 —— 2018.12.25策略参数:平仓时间:14:50 ;止损点:35多、空头开仓手数:20手合约:INE.sc1905是否隔夜留仓:隔夜不留仓: 在每日收盘前,对所持合约进行平仓回测时盘口行情quote的更新频率:和K线分钟线的更新频率一致回测结果R-Breaker策略回测结果合约代码合约品种收益率风险度最大回撤年化夏普率INE.sc1905原油37.32%0.00%2.78%6.1229上表回测结果中累计收益走势图天勤内策略源码非隔夜留仓(收盘前平仓):# !/usr/bin/env python
#
-*- coding: utf-8 -*-
__author__ = 'limin'
'''
R-Breaker策略(非隔夜留仓: 在每日收盘前,对所持合约进行平仓)
参考: https://www.shinnytech.com/blog/r-breaker
注: 该示例策略仅用于功能示范, 实盘时请根据自己的策略/经验进行修改
'''
from datetime import datetime
from tqsdk import TqApi, TargetPosTask
SYMBOL = "SHFE.au1912"
# 合约代码
CLOSE_HOUR, CLOSE_MINUTE = 14, 50
# 平仓时间
STOP_LOSS_PRICE = 10
# 止损点(价格)
api = TqApi()
print("策略开始运行")
def get_index_line(klines):
'''计算指标线'''
high = klines.high.iloc[-2]
# 前一日的最高价
low = klines.low.iloc[-2]
# 前一日的最低价
close = klines.close.iloc[-2]
# 前一日的收盘价
pivot = (high + low + close) / 3
# 枢轴点
bBreak = high + 2 * (pivot - low)
# 突破买入价
sSetup = pivot + (high - low)
# 观察卖出价
sEnter = 2 * pivot - low
# 反转卖出价
bEnter = 2 * pivot - high
# 反转买入价
bSetup = pivot - (high - low)
# 观察买入价
sBreak = low - 2 * (high - pivot)
# 突破卖出价
print("已计算新标志线, 枢轴点: %f, 突破买入价: %f, 观察卖出价: %f, 反转卖出价: %f, 反转买入价: %f, 观察买入价: %f, 突破卖出价: %f"
% (pivot, bBreak, sSetup, sEnter, bEnter, bSetup, sBreak))
return pivot, bBreak, sSetup, sEnter, bEnter, bSetup, sBreak
quote = api.get_quote(SYMBOL)
klines = api.get_kline_serial(SYMBOL, 24 * 60 * 60)
# 86400: 使用日线
position = api.get_position(SYMBOL)
target_pos = TargetPosTask(api, SYMBOL)
target_pos_value = position.pos_long - position.pos_short
# 净目标净持仓数
open_position_price = position.open_price_long if target_pos_value > 0 else position.open_price_short
# 开仓价
pivot, bBreak, sSetup, sEnter, bEnter, bSetup, sBreak = get_index_line(klines)
# 七条标准线
while True:
target_pos.set_target_volume(target_pos_value)
api.wait_update()
if api.is_changing(klines.iloc[-1], "datetime"):
# 产生新k线,则重新计算7条指标线
pivot, bBreak, sSetup, sEnter, bEnter, bSetup, sBreak = get_index_line(klines)
if api.is_changing(quote, "datetime"):
now = datetime.strptime(quote.datetime, "%Y-%m-%d %H:%M:%S.%f")
if now.hour == CLOSE_HOUR and now.minute >= CLOSE_MINUTE:
# 到达平仓时间: 平仓
print("临近本交易日收盘: 平仓")
target_pos_value = 0
# 平仓
pivot = bBreak = sSetup = sEnter = bEnter = bSetup = sBreak = float("nan")
# 修改各指标线的值, 避免平仓后再次触发
'''交易规则'''
if api.is_changing(quote, "last_price"):
print("最新价: %f" % quote.last_price)
# 开仓价与当前行情价之差大于止损点则止损
if (target_pos_value > 0 and open_position_price - quote.last_price >= STOP_LOSS_PRICE) or \
(target_pos_value < 0 and quote.last_price - open_position_price >= STOP_LOSS_PRICE):
target_pos_value = 0
# 平仓
# 反转:
if target_pos_value > 0:
# 多头持仓
if quote.highest > sSetup and quote.last_price < sEnter:
# 多头持仓,当日内最高价超过观察卖出价后,
# 盘中价格出现回落,且进一步跌破反转卖出价构成的支撑线时,
# 采取反转策略,即在该点位反手做空
print("多头持仓,当日内最高价超过观察卖出价后跌破反转卖出价: 反手做空")
target_pos_value = -3
# 做空
open_position_price = quote.last_price
elif target_pos_value < 0:
# 空头持仓
if quote.lowest < bSetup and quote.last_price > bEnter:
# 空头持仓,当日内最低价低于观察买入价后,
# 盘中价格出现反弹,且进一步超过反转买入价构成的阻力线时,
# 采取反转策略,即在该点位反手做多
print("空头持仓,当日最低价低于观察买入价后超过反转买入价: 反手做多")
target_pos_value = 3
# 做多
open_position_price = quote.last_price
# 突破:
elif target_pos_value == 0:
# 空仓条件
if quote.last_price > bBreak:
# 在空仓的情况下,如果盘中价格超过突破买入价,
# 则采取趋势策略,即在该点位开仓做多
print("空仓,盘中价格超过突破买入价: 开仓做多")
target_pos_value = 3
# 做多
open_position_price = quote.last_price
elif quote.last_price < sBreak:
# 在空仓的情况下,如果盘中价格跌破突破卖出价,
# 则采取趋势策略,即在该点位开仓做空
print("空仓,盘中价格跌破突破卖出价: 开仓做空")
target_pos_value = -3
# 做空
open_position_price = quote.last_price点击查看天勤量化}

我要回帖

更多关于 一天交易多少次算高频交易 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信