金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1826|回复: 0

【图表转后台】-MA均线平仓反手

[复制链接]

14

主题

223

帖子

308

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-18
曾用名:
发表于 2021-6-18 10:09 | 显示全部楼层 |阅读模式
      用图表显示交易信号的图表策略,图表的开多平多下单指令Buy/Sell函数,与后台程式化交易的开多平多下单指令TBuy/TSell函数,参数差异明显,图表后台的机制上也有明显的差异。不能简单的将Buy函数加T就直接后台交易,下面以平仓反手的代码为例:


实现功能:
5日均线上穿20日均线----平空开多
5日均线下破20日均线----平多开空
     图表策略编写如下:

[PEL] 复制代码
//适用周期:1分钟周期
//K线走完
//中间变量
ma5:ma(close,5);
ma20:ma(close,20);
num:=1;//开仓手数
//买卖条件
//5日均线上穿20日均线,平空开多
buycon : =cross (ma5,ma20);
//5日均线下破20日均线,平多开空
sellcon:= cross (ma20,ma5);
//开平仓语句
//平空开多条件:5日均线上穿20日均线
if buycon then 
begin
sellshort(holding<0,num,market);
buy(holding=0,num, market);
end
//平多开空条件:5日均线下破20日均线 
if sellcon then
begin
sell(holding>0,num, market);
buyshort(holding=0,num, market);
end


    同样的图表策略(图表上的持仓holding是虚拟的,资金是虚拟的),转为后台(持仓tholding是实际的持仓,资金也是实盘账户的)
实现以下功能:
5日均线上穿20日均线----平空开多
5日均线下破20日均线----平多开空
     后台程序化交易ma均线平仓反手示例

[PEL] 复制代码
ma5:ma(close,5);
ma20:ma(close,20);
num:=1;//开仓手数
//5日均线上穿20日均线,平空开多
buycon : =cross (ma5,ma20);
//5日均线下破20日均线,平多开空
sellcon:= cross (ma20,ma5);

if buycon and tholding = 0 then tbuy(1, 1, mkt,0,0);//无持仓状态:增加开仓判断
if sellcon and tholding = 0 then tbuyshort(1, 1, mkt,0,0);//无持仓状态:增加开仓判断

//平空开多条件:5日均线上穿20日均线
if buycon and tholding < 0 then
begin
tsellshort(1, num, mkt,0,0);
tbuy(1, num, mkt,0,0);
end//平多开空条件:5日均线下破20日均线 
if sellcon and tholding > 0 then
begin
tsell(1, num, mkt,0,0);
tbuyshort(1, num, mkt,0,0);
end


小结:图表上的持仓是虚拟的,平仓反手的示例中,策略不是持有多仓,就是持有空仓。
         后台的持仓是读取实际账户的持仓,策略运行前,有可能是空仓。所以添加无持仓时满足条件开对应仓位。


金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-12-22 11:56 , Processed in 0.167552 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表