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


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

   

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


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

主题:编写程序问题求教

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


加好友 发短信
等级:管理员 帖子:26631 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2018/7/1 14:37:40    Post IP:180.164.218.109[显示全部帖子]

以下是引用zengxing在2018/7/1 11:08:48的发言:
我想编写一个程序,3连阳之后,突破最后一个阳线的高点开多,
止盈是 3个阳线最高点和最低点的距离
止损是:低点反手开空。

然后,这次开空的
止盈是3个阳线最高点和最低点的距离,再加一次,最后的阳线,高点到低点的距离。
止损是 阳线高点,这次止损之后就平仓了,不再开多。

这个要怎么写,求教。

3连阳之后,突破最后一个阳线的高点开多???  这里说的突破最后一个阳线,指的是3连阳的第三根,还是之外的一根,即4根阳线。

止盈3个阳线的最高和和最低点的距离是两者之差?  止盈条件和谁比较?

低点反手开空,低点的定义是3根阳线的最低点?等等,请吧你的需求条件具体化。

[此贴子已经被作者于2018/7/1 14:38:22编辑过]


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


加好友 发短信
等级:管理员 帖子:26631 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2018/7/2 13:54:24    Post IP:180.169.30.6[显示全部帖子]

你所说的三连阳,如果后面依旧是阳线即大于3根以上的连续阳线情况下,怎么突破?

[此贴子已经被作者于2018/7/2 13:54:50编辑过]


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


加好友 发短信
等级:管理员 帖子:26631 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2018/7/2 14:52:02    Post IP:180.169.30.6[显示全部帖子]


bb:BARSLAST(ref(ALL(close>open,3),1) and c<=o)+1;
hh:=hhv(h,3);
ll:=LLV(LOW,3);
high_flag:ref(hh,bb);
llv_flag:ref(ll,bb);

if HIGH>high_flag and ref(ALL(close>open,3),1) and c<=o and HOLDING=0 then BEGIN
 buy(1,1,MARKET);
end

IF HIGH>high_flag+(high_flag-llv_flag) and  HOLDING>0 THEN BEGIN
 多头止盈:SELL(1,HOLDING,MARKET);
END

IF LOW < REF(LOW,BB) and HOLDING>0 THEN BEGIN
 多头止损:SELL(1,HOLDING,MARKET);
 BUYSHORT(1,1,MARKET);
END

if REF(LOW,BB)-(high_flag-REF(LOW,BB))-(high_flag-llv_flag)> low and holding<0 then BEGIN
 空头止盈:sellSHORT(1,1,MARKET);
end

IF HIGH>high_flag and  HOLDING<0 THEN BEGIN
 空头止损:SELL(1,HOLDING,MARKET);
END



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


加好友 发短信
等级:管理员 帖子:26631 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2018/7/2 18:43:29    Post IP:180.164.218.109[显示全部帖子]

bb:BARSLAST(ref(ALL(close>open,3),1) and c<=o)+1;
hh:=hhv(h,3);
ll:=LLV(LOW,3);
high_flag:ref(hh,bb);
llv_flag:ref(ll,bb);

if HIGH>high_flag and ref(ALL(close>open,3),1) and c<=o and HOLDING=0 then BEGIN
 buy(1,1,MARKET);
end

IF HIGH>high_flag+(high_flag-llv_flag) and  HOLDING>0 THEN BEGIN
 多头止盈:SELL(1,HOLDING,MARKET);
END

IF LOW < REF(LOW,BB) and HOLDING>0 THEN BEGIN
 多头止损:SELL(1,HOLDING,MARKET);
 BUYSHORT(1,1,MARKET);
END

if REF(LOW,BB)-(high_flag-REF(LOW,BB))-(high_flag-llv_flag)> low and holding<0 then BEGIN
 空头止盈:sellSHORT(1,1,MARKET);
end

IF HIGH>high_flag and  HOLDING<0 THEN BEGIN
 空头止损:SELLshort(1,HOLDING,MARKET);
END


红色这个位置写错函数了。空头方向并没有反手。你不明白的地方,可以指出给你解答。

上面的代码是给你的参考范例,你可能需要理解后根据自己的思路进行调整。关于你说的3连阴,建议你在理解上述代码后,自行尝试学习编写。

[此贴子已经被作者于2018/7/2 18:47:50编辑过]


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


加好友 发短信
等级:管理员 帖子:26631 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2018/7/3 11:53:03    Post IP:180.169.30.6[显示全部帖子]

判断最近的三连阳、(存在3根以上的连续阳线)


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


加好友 发短信
等级:管理员 帖子:26631 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2018/7/3 16:04:13    Post IP:180.169.30.6[显示全部帖子]

这个要看你连阳和连阴两个部分代码之间条件是不是和你交易思路一致了。

如果你想区分来,可以用全局变量标记区分。



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