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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → [原创]图表交易几点应该注意的问题

   

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


  共有29525人关注过本帖平板打印复制链接

主题:[原创]图表交易几点应该注意的问题

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


加好友 发短信
等级:黑侠 帖子:649 积分:1359 威望:0 精华:0 注册:2009/10/24 1:57:01
  发帖心情 Post By:2012/11/5 21:44:52 [只看该作者]

若两个方向上都有手动干预,每次干预后都希望下一步程序能自动操作,即:

1-holding>0时,手动开了空单,使得tholding<0;此时希望程序能自动平掉空单,但虚拟图表上前面一个信号为开多,没有开空信号,导致无法平仓

2-holding<0时,手动开了多单,使得tholding>0,此时希望程序下一步判断后自动平掉多单,但虚拟图表上前面一个信号为开空,并没有开多信号,导致无法平仓

 

按照阿火的思路加入相应的代码,但两个方向均加入时下面的代码运行不正常,使用环境为图表程式化1秒轮循:

a:="macd.diff";
b:="macd.dea";
jczt:=a>=b;
sczt:=a<b;
//金叉做多死叉做空
//开多,平空
kd:=cross(a,b);
if kd then begin
sellshort(1,0,market);
buy(1,0,market);
end
//平多,开空
kk:=cross(b,a);
if kk then begin
sell(1,0,market);
buyshort(1,0,market);
end
//
aa:tholding2,linethick0;
bb:extgbdata('quanju'),linethick0;
//产生一个虚拟的开空信号,便于后面平空操作
if bb<0 then buyshort(barpos=datacount-1,-bb,thisclose);
//若金叉状态还有空单马上平空
jcpk:=aa<0 and a>b;
if jcpk then begin
sellshort(1,bb,market);
end

//产生一个虚拟开多信号,便于后面平多操作
if bb>0 then buy(barpos=datacount-1,bb,thisclose);
//若死叉状态还有多单马上平多
scpd:aa>0 and a<b,linethick0;
if scpd then begin
sell(1,bb,market);
end
//
if islastbar then extgbdataset('quanju',aa);

 

[此贴子已经被作者于2012-11-5 21:46:13编辑过]

 回到顶部
总数 47 1 2 3 4 5 下一页