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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件策略编写求助区 → 求助帮忙写下代码,不会

   

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


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

主题:求助帮忙写下代码,不会

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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2018/1/3 16:37:10 [显示全部帖子]

以下两点需要确认:

1、开多条件中,上个单子亏损是如何定义的,是指上次平仓亏损还是上次开仓后的浮动亏损?若是浮动亏损,那出现亏损时,跳过一个信号后,第2个开仓信号是又不亏损了,该继续开仓还是不开?

2、15分钟、1小时图上,收盘价均大于ma22,这里是定义为cross突破,还是直接>表示?

 

以下是写的案例(以多头为例),仅供模拟测试参考

variable:n=0; //标记亏损后,满足开仓条件的次数

 

ma22:ma(c,22);

ma60:CALLSTOCK(STKLABEL,vtclose,5,-1);   

if cross(c,ma22) and cross(ma60,ma22) and (n=0 or n>2) then  //平仓后首次开仓或亏损后满足2次开仓条件后才开仓
   begin
   buy(1,1,market);
   end 
if c>ma22 and ma60>ma22 and  NUMPROFIT(1)<0 then
   n:=n+1;                                                                             //统计上次平仓亏损以来,满足开仓的条件个数 
if (c<ma22 and ref(c,1)<ma22) or (c<ma22 and (ma22-c)/ma22>=0.05)  then    //平仓条件
   begin
   sell(holding>0,holding,market);
   n:=0;
   end
if c-enterprice>50*mindiff then                       //止盈条件
   begin
   sell(holding>0,holding,market);
   n:=0;
   end
if enterprice-c>10*mindiff then                       //止损条件
   begin
   sell(holding,holding,market);
   n:=0;
   end

    

[此贴子已经被作者于2018/1/3 16:38:46编辑过]

 回到顶部