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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 连亏五次停一次

   

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


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

主题:连亏五次停一次

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


加好友 发短信
等级:论坛游侠 帖子:155 积分:525 威望:0 精华:0 注册:2011/3/25 11:28:59
连亏五次停一次  发帖心情 Post By:2017/8/7 22:33:32    Post IP:111.198.249.2[只看该作者]

老师好,日内一分钟框架。一日只开仓一次。连续亏损五日停一日开仓。停一日后可以继续开仓然后只要连续五日亏损就停一日。怎么编写?先谢谢了。

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/8/7 22:58:53    Post IP:180.158.246.145[只看该作者]

variable:lossnum=0;// 全局变量,平仓时判断一下是盈利/亏损,若亏损lossnum就加1

cs:=5;//限定一天最多亏损5次

 

ma5:=ma(5,close);

ma20:=ma(20,close);

 

cond1:=cross(ma5,ma20);

cond2:=cross(ma20,ma5);

if cond2 and holding>0 then

begin

  sell(1,1,thisclose);

  if c<enterprice then lossnum:=lossnum+1;

end

if cond1 and holding=0 and lossnum<cs then  buy(1,1,thisclose);

 

if time=closetime(0) then lossnum:=0;// 商品期货,收盘的同时,lossnum赋值为0

//收盘lossnum不赋值为0,第二天就不再开仓了



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


加好友 发短信
等级:论坛游侠 帖子:155 积分:525 威望:0 精华:0 注册:2011/3/25 11:28:59
  发帖心情 Post By:2017/8/8 22:22:05    Post IP:111.198.249.2[只看该作者]

感谢老师及时回复,可能是我没有表达清楚吧。我自己是亏损一次就计数一次的,计数到连续五次亏损就停止开仓一次。由于我一天就开仓一次,所以连续五次亏损就是连亏五天后想停止一天操作。但是停止一天后仍然恢复亏五停一这个循环。现在可以实现亏五停一但是停开仓一天后“又要开仓”怎么编写。
也就是老师说的lossnum最后判断盈亏如亏损就不清零lossnum就可以第二天不开仓了,但是第三天还要让他开仓怎么编写。

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


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

计算亏损需要有平仓动作,那么你的平仓是每天也只平1次,还是没有限制,如果是前者,那中间如果其中一天没有平仓动作。要从新记连亏?



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


加好友 发短信
等级:论坛游侠 帖子:155 积分:525 威望:0 精华:0 注册:2011/3/25 11:28:59
  发帖心情 Post By:2017/8/9 8:57:53    Post IP:111.198.249.2[只看该作者]

“计算亏损需要有平仓动作,那么你的平仓是每天也只平1次,还是没有限制,如果是前者,那中间如果其中一天没有平仓动作。要从新记连亏?”
老师好,我是每天开仓一次,平仓一次。我做日内不会其中一天没有平仓动作的。其实我可以编程连亏五次停止一次,但就是不知道如何编写停止一次之后如何继续再开仓。

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


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

if time=closetime(0) and lossnum=5 then lossnum:=0;//lossnum=5时作为第六天的一个条件,在第六天最后时刻将其初始化为0即可

 



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


加好友 发短信
等级:论坛游侠 帖子:155 积分:525 威望:0 精华:0 注册:2011/3/25 11:28:59
  发帖心情 Post By:2017/8/9 15:07:59    Post IP:111.198.249.2[只看该作者]

老师好,按照if time=closetime(0) and lossnum=5 then lossnum:=0;编写。程序就会在连亏第五次的当天收盘时清零了lossnum,这样第六天还会开仓的,没有能够实现连亏五次停一次的目的。
  老师说:“lossnum=5时作为第六天的一个条件,在第六天最后时刻将其初始化为0即可”。我就是在编程中不能判断出这个第六天......


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


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

看下这个逻辑

variable:flag_num=0;//作为记录亏损5次后经过的天数。

 

if date<>ref(date,1)  and lossnum=5 then flag_num:=flag_num+1;//开盘第一根并且lossnum=5时,开始启动记录flag_num

if date<>ref(date,1) and  flag_num=2  then begin

               lossnum:=0;

               flag_num:=0;

 

  end

[此贴子已经被作者于2017/8/9 15:36:01编辑过]


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


加好友 发短信
等级:论坛游侠 帖子:155 积分:525 威望:0 精华:0 注册:2011/3/25 11:28:59
  发帖心情 Post By:2017/8/9 21:58:13    Post IP:111.198.249.2[只看该作者]

向wenarm老师致敬!!在老师的帮助下已经解决了。

 回到顶部