欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 写了一个平仓程序,看看对不对

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3811人关注过本帖树形打印复制链接

主题:写了一个平仓程序,看看对不对

帅哥哟,离线,有人找我吗?
haizxj
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1781 积分:0 威望:0 精华:0 注册:2013/6/11 20:05:24
写了一个平仓程序,看看对不对  发帖心情 Post By:2017/9/17 20:57:22    Post IP:124.78.242.92[只看该作者]

 //这个程序用于指定价格平仓,图表化情况下,已经手工开仓,程序平仓
//只平一次

c1:=0;


KD:=c>0;          //开多条件,即时价大于零,开仓
PD:=c>=588;          //平多条件
//KK:=;          //开空条件
//PK:=;          //平空条件



//平空:SELLSHORT(PK,1,THISCLOSE);                  //平空信号
开多:BUY(KD AND HOLDING=0 and c1=0,2,THISCLOSE);          //开多信号
平多:SELL(PD,0,THISCLOSE);                       //平多信号
//开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE);     //开空信号
ho:HOLDING;
if pd then c1:=1;

 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26631 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/9/18 8:16:20    Post IP:180.169.30.6[只看该作者]

你是想实现半自动的方式?

 

[此贴子已经被作者于2017/9/18 8:16:42编辑过]


编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
haizxj
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1781 积分:0 威望:0 精华:0 注册:2013/6/11 20:05:24
  发帖心情 Post By:2017/9/18 10:52:26    Post IP:124.78.242.92[只看该作者]

 是的
想实现半自动

平仓一次

但如果平仓了
又由于C大于零
又会开仓
所以加了限定次数条件

你帮我看一下
对不对

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2017/9/18 11:24:14    Post IP:180.169.30.6[只看该作者]

c1要定义成全局变量,否则限制不了次数。

 



命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
haizxj
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1781 积分:0 威望:0 精华:0 注册:2013/6/11 20:05:24
  发帖心情 Post By:2017/12/12 17:19:16    Post IP:180.158.217.26[只看该作者]

 variable: c1:=0;

//aa:EXTGBDATA(c1 );

KD:=c>0;          //开多条件
PD:=c>=550;          //平多条件
KK:=;          //开空条件
PK:=;          //平空条件


//平空:SELLSHORT(PK,1,THISCLOSE);                  //平空信号
开多:BUY(KD AND HOLDING=0 and c1=0 ,1,THISCLOSE);          //开多信号
平多:SELL(PD,0,THISCLOSE);                       //平多信号
//开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE);     //开空信号
ho:HOLDING;
if pd then c1=1;


怎么还是不行

 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26631 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/12/12 21:28:50    Post IP:101.80.30.167[只看该作者]

麻烦说清楚你的需求,以及上述代码中不满足现象。
[此贴子已经被作者于2017/12/12 21:29:13编辑过]


编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
haizxj
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1781 积分:0 威望:0 精华:0 注册:2013/6/11 20:05:24
  发帖心情 Post By:2017/12/14 19:26:17    Post IP:180.158.217.26[只看该作者]

 由于手工开了一单
现在平仓一手
限价550,
就是只要即时价达到550就平掉

现在发现前面还是有开平信号

 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26631 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/12/15 8:26:14    Post IP:180.169.30.6[只看该作者]

你如果是手工开仓的,希望实现自动平仓的话。应该吧你开仓位置开在历史信号上,并且让其不会在当前k线上满足开仓条件。

 

buy(barpos=1,30,THISCLOSE);//在历史上第一根位置开出足够的仓位,便于后执行平仓条件时有足够的虚拟仓位。条件可以修改为其它的,只要满足上面说的就行。

只有这样你才能不会出现上面说的,存在出现开仓信号。

平多:SELL(PD,1,THISCLOSE); 

 

另外你上面的条件是直接全平,这种情况下,当前仓位可能根本平不掉,因为在历史k线上其虚拟仓位可能已经被平。



编程无捷径,技巧靠积累。
 回到顶部