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


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

   

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


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

主题:编写程序问题求教

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


加好友 发短信
等级:论坛游侠 帖子:505 积分:0 威望:0 精华:0 注册:2014/10/15 13:12:08
编写程序问题求教  发帖心情 Post By:2018/7/1 11:08:48    Post IP:123.118.2.137[显示全部帖子]

我想编写一个程序,3连阳之后,突破最后一个阳线的高点开多,
止盈是 3个阳线最高点和最低点的距离
止损是:低点反手开空。

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

这个要怎么写,求教。


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


加好友 发短信
等级:论坛游侠 帖子:505 积分:0 威望:0 精华:0 注册:2014/10/15 13:12:08
  发帖心情 Post By:2018/7/2 13:04:33    Post IP:121.69.48.154[显示全部帖子]

举个例子好了
1月1日 开盘100 收盘110 最低95 最高 115
1月2日 开盘105 收盘 118 最低90 最高 120
1月3日 开盘108 收盘120 最低100 最高 130

三连阳

之后,如果价格突破130元,做多。
止盈是 130+(130-90)=170
价格到100,止损后反手做空是 

100开空后,止盈是  100-(130-100)-(130-90)=30
止损平仓(不反手了)是  130元。
在这之后循环,等待下次三连阳

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


加好友 发短信
等级:论坛游侠 帖子:505 积分:0 威望:0 精华:0 注册:2014/10/15 13:12:08
  发帖心情 Post By:2018/7/2 13:48:52    Post IP:121.69.48.154[显示全部帖子]

举个例子好了
1月1日 开盘100 收盘110 最低95 最高 115
1月2日 开盘105 收盘 118 最低90 最高 120
1月3日 开盘108 收盘120 最低100 最高 130

三连阳

之后,如果价格突破130元,做多。
止盈是 130+(130-90)=170
价格到100,止损后反手做空是 

100开空后,止盈是  100-(130-100)-(130-90)=30
止损平仓(不反手了)是  130元。
在这之后循环,等待下次三连阳

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


加好友 发短信
等级:论坛游侠 帖子:505 积分:0 威望:0 精华:0 注册:2014/10/15 13:12:08
  发帖心情 Post By:2018/7/2 14:01:49    Post IP:121.69.48.154[显示全部帖子]

算最近的三连阳

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


加好友 发短信
等级:论坛游侠 帖子:505 积分:0 威望:0 精华:0 注册:2014/10/15 13:12:08
  发帖心情 Post By:2018/7/2 17:40:59    Post IP:121.69.48.154[显示全部帖子]

没有看到 第一次止损,反手空头开仓的开空语句呀.
第二次止损是平仓,没有反手的。

这个本身是一个完整的策略。

多头是3连阳,是我刚刚说的思路,
还有3连阴,是正好相反的,可以止盈,然后止损反手。

我实在没懂,这个写的,可以完整的指导一下吗?谢谢

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


加好友 发短信
等级:论坛游侠 帖子:505 积分:0 威望:0 精华:0 注册:2014/10/15 13:12:08
  发帖心情 Post By:2018/7/3 11:23:28    Post IP:121.69.48.154[显示全部帖子]

第一句 
bb:BARSLAST(ref(ALL(close>open,3),1) and c<=o)+1;
为什么要有  and c<=o


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


加好友 发短信
等级:论坛游侠 帖子:505 积分:0 威望:0 精华:0 注册:2014/10/15 13:12:08
  发帖心情 Post By:2018/7/3 11:40:31    Post IP:121.69.48.154[显示全部帖子]

写反向的时候,还是有问题 ,主要问题是,4连阴用来的平仓,会作用于 四连阳开的单子。比较麻烦,这个有什么好解决的办法?代码如下。

bb:=BARSLAST(ref(ALL(close>open,4),1) and c<=o)+1;

bbs:=BARSLAST(ref(ALL(close<open,4),1) and c>=o)+1;


hh:=hhv(h,4);
ll:=LLV(LOW,4);
high_flag:=ref(hh,bb);
llv_flag:=ref(ll,bb);



if HIGH>high_flag and ref(ALL(close>open,4),1) and c<=o and HOLDING=0  and bbs>bb  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)-(REF(h,BB)-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






hhs:=hhv(h,4);
lls:=LLV(LOW,4);
high_flags:=ref(hhs,bbs);
llv_flags:=ref(lls,bbs);


if low<llv_flags and ref(ALL(close<open,4),1) and c>=o and HOLDING=0  and  bbs<bb then BEGIN
 BUYSHORT(1,1,MARKET);
end


IF l<llv_flags-(high_flags-llv_flags) and  HOLDING<0 THEN BEGIN
 空头止盈s:SELLshort(1,abs(HOLDING),MARKET);
END
IF h > REF(h,BBs) and HOLDING<0 THEN BEGIN
 空头止损s:SELLshort(1,abs(HOLDING),MARKET);
 BUY(1,1,MARKET);
END
if REF(h,BBs)+(REF(h,BBs)-REF(LOW,BBs))+(high_flags-llv_flags)< h and holding>0 then BEGIN
 多头止盈s:sell(1,1,MARKET);
end
IF l<high_flags and  HOLDING>0 THEN BEGIN
 多头止损s:SELL(1,HOLDING,MARKET);
END


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


加好友 发短信
等级:论坛游侠 帖子:505 积分:0 威望:0 精华:0 注册:2014/10/15 13:12:08
  发帖心情 Post By:2018/7/3 15:16:48    Post IP:121.69.48.154[显示全部帖子]

写反向的时候,还是有问题 ,主要问题是,4连阴用来的平仓,会作用于 四连阳开的单子。比较麻烦,这个有什么好解决的办法?代码如下。

bb:=BARSLAST(ref(ALL(close>open,4),1) and c<=o)+1;

bbs:=BARSLAST(ref(ALL(close<open,4),1) and c>=o)+1;


hh:=hhv(h,4);
ll:=LLV(LOW,4);
high_flag:=ref(hh,bb);
llv_flag:=ref(ll,bb);



if HIGH>high_flag and ref(ALL(close>open,4),1) and c<=o and HOLDING=0  and bbs>bb  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)-(REF(h,BB)-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






hhs:=hhv(h,4);
lls:=LLV(LOW,4);
high_flags:=ref(hhs,bbs);
llv_flags:=ref(lls,bbs);


if low<llv_flags and ref(ALL(close<open,4),1) and c>=o and HOLDING=0  and  bbs<bb then BEGIN
 BUYSHORT(1,1,MARKET);
end


IF l<llv_flags-(high_flags-llv_flags) and  HOLDING<0 THEN BEGIN
 空头止盈s:SELLshort(1,abs(HOLDING),MARKET);
END
IF h > REF(h,BBs) and HOLDING<0 THEN BEGIN
 空头止损s:SELLshort(1,abs(HOLDING),MARKET);
 BUY(1,1,MARKET);
END
if REF(h,BBs)+(REF(h,BBs)-REF(LOW,BBs))+(high_flags-llv_flags)< h and holding>0 then BEGIN
 多头止盈s:sell(1,1,MARKET);
end
IF l<high_flags and  HOLDING>0 THEN BEGIN
 多头止损s:SELL(1,HOLDING,MARKET);
END


 回到顶部