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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 同时满足多个条件开仓

   

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


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

主题:同时满足多个条件开仓

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


加好友 发短信
等级:新手上路 帖子:6 积分:0 威望:0 精华:0 注册:2018/6/9 16:14:51
同时满足多个条件开仓  发帖心情 Post By:2018/6/11 14:57:42    Post IP:180.169.30.6[只看该作者]

//中间变量
MA1:=MA(CLOSE,5);
MA2:=MA(CLOSE,10);
VAR1:=(CLOSE+HIGH+LOW)/3;
VAR2:=HHV(HIGH,10);

当MA1向上金叉MA2,并且VAR1>MA1,并且VAR1>VAR2.当同时满足以上三个条件时,在下一个周期开盘价开多2手;
当MA1向下死叉MA2,并且VAR1<MA1,并且VAR1<VAR2.当同时满足以上三个条件时,在下一个周期开盘价开空2手;

请问老师们这个交易语句要怎么写,谢谢

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


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

你是要在下周期按照当时开盘价开仓2手?


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


加好友 发短信
等级:新手上路 帖子:6 积分:0 威望:0 精华:0 注册:2018/6/9 16:14:51
  发帖心情 Post By:2018/6/11 16:59:15    Post IP:36.102.228.20[只看该作者]

是的,也就是说等这根K线走完,下根K线的市价吧

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


加好友 发短信
等级:新手上路 帖子:6 积分:0 威望:0 精华:0 注册:2018/6/9 16:14:51
  发帖心情 Post By:2018/6/11 17:00:50    Post IP:36.102.228.23[只看该作者]

是的,也就是说等这根K线走完,下根K线的市价吧

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


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

 MA1:=MA(CLOSE,5);
MA2:=MA(CLOSE,10);
VAR1:=(CLOSE+HIGH+LOW)/3;
VAR2:=HHV(HIGH,10);

buycond:cross(ma1,ma2) and var1>ma1 and var1>var2;
sellcond:cross(ma2,ma1) and var1<ma1 and var1<var2;

if buycond then
begin
sellshort(holding<0,holding,market);
buy(holding=0,2,market);
end

if sellcond then
begin
sell(holding>0,holding,market);
buyshort(holding=0,2,market);
end


运行模式选择走完K线就可以了。


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


加好友 发短信
等级:新手上路 帖子:6 积分:0 威望:0 精华:0 注册:2018/6/9 16:14:51
  发帖心情 Post By:2018/6/11 17:16:55    Post IP:36.102.228.20[只看该作者]

好的,谢谢老师

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


加好友 发短信
等级:新手上路 帖子:6 积分:0 威望:0 精华:0 注册:2018/6/9 16:14:51
  发帖心情 Post By:2018/6/11 17:49:06    Post IP:36.102.228.21[只看该作者]

老师我再问一下,我把这公式引用到图表上,图表上怎么没信号,谢谢

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


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

不满足开平条件,自然没有信号输出,你自己扩充k线数量看一下。

上面的代码符合你一楼形容的需求,建议你把条件的:=改成:输出自己的条件,分析下各个条件需求。分析下逻辑上的限制问题



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


加好友 发短信
等级:新手上路 帖子:6 积分:0 威望:0 精华:0 注册:2018/6/9 16:14:51
  发帖心情 Post By:2018/6/12 10:25:28    Post IP:36.102.228.23[只看该作者]

好的,谢谢老师,还有个问题想请教一下,应该怎么修改,公式如下:
 MA1:=MA(CLOSE,5);
MA2:=MA(CLOSE,10);
VAR1:=(CLOSE+HIGH+LOW)/3;
VAR2:=HHV(HIGH,10);

buycond:cross(ma1,ma2) and var1>ma1 and var1>var2;
sellcond:cross(ma2,ma1) and var1<ma1 and var1<var2;

if buycond then 
begin
sellshort(holding<0,holding,market);
buy(holding=0,2,market); 
end

if sellcond then 
begin 
sell(holding>0,holding,market);
buyshort(holding=0,2,market);
end

当满足开多条件开多两手,在接下来的运行过程中,如再有满足开多条件的,便再加仓2手,只要每次有信号都加仓2手,直到平多开空离场.
开空也一样,开空后只要有符合条件的也都加仓2手,直到平空离场,

这两个加仓操作应该怎么添加,谢谢老师帮忙修改一下.

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


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

 if buycond then 
begin
sellshort(holding<0,holding,market);
buy(1,2,market); 
end

if sellcond then 
begin 
sell(holding>0,holding,market);
buyshort(1,2,market);
end

开仓条件里面改下就可以了。现在只要触发开仓条件就会开2手
[此贴子已经被作者于2018/6/12 10:47:37编辑过]


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