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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 编写求助

   

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


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

主题:编写求助

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/9/9 9:11:51    Post IP:180.169.30.6[显示全部帖子]

 1.“行情方向与持仓方向相反” 这个需要具体的定义才能写成代码形式。
2.图表还是后台呢?


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/9/10 9:06:09    Post IP:180.169.30.6[显示全部帖子]

 这个K线的阴阳线 可能是实时变化的,你这里的判断只是取某一刻的吗?哪怕下一秒反转的也无所谓? 比如10min是阳线到了2分钟时候反倒变成阴线了。 另外交易周期是10分钟K周期?


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/9/10 10:18:13    Post IP:180.169.30.6[显示全部帖子]

 我尝试了下。这个图表上做不到,后台或许可以,但是图表不行。图表上无法在一个K内记住某个变化的状态,也就是无法记住是否某个时刻满足阳线条件,只能判断最新状态是否是阳线。而你这个思路是需要做这个判断的,因此这个不行。


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/9/11 9:20:55    Post IP:180.169.30.6[显示全部帖子]

abb3:time0-timetot0(CLOSETIME(0));//收盘K线结束倒计时间

// barpos>extgbdata('t')  这个是关键用来限制下面这个if里面的语句在每个K内 只在满足条件时候执行一次
if barpos>extgbdata('t') and abb3>=10*60 then //收盘前10分钟判断一次 由于行情活跃程度不同,abb3可能无法刚好计时到10分钟位置,所以必须是用>=判断
begin
if c>o and TSELLHOLDINGEX('','',1)>0 then TSELLSHORT(1,TSELLHOLDINGEX('','',1),MKT);
if c<o and TBUYHOLDINGEX('','',1)>0 THEN tsell(1,TBUYHOLDINGEX('','',1),MKT);
extgbdataset('t',barpos);//
end



if abb3>=2*60 then //收盘前2分钟直接全平仓
begin
TSELLSHORT(1,TSELLHOLDINGEX('','',1),MKT);
tsell(1,TBUYHOLDINGEX('','',1),MKT);    
end

需要设置一个全局变量:
工具-选项-数据管理-全局变量

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看


仅供参考

上面后台代码平仓会对所有来源的持仓都平仓的,我没有做精细的控制了。可以自行修改平仓手数之类的。


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/9/16 8:53:56    Post IP:180.169.30.6[显示全部帖子]

 t的作用就是限制部分代码在每个K里只在满足某个条件时候只触发一次的作用。

if barpos>extgbdata('t')  then
begin
extgbdataset('t',barpos);//记住K线位置。
//需要在满足条件时候只操作一次的代码
end

t在符合条件的时候会记住barpos 也就是K线位置, 这样下次再次执行代码时候 barpos>extgbdata('t') 就无法满足了,这样就可以达到限制后面的重复执行。因为这时候 赋值之后barpos是等于extgbdata('t')的值的。无法满足barpos>extgbdata('t')这个条件的。




命数如织,当如磐石。
 回到顶部