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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请问如何编写这个策略?

   

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


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

主题:请问如何编写这个策略?

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/5/22 14:38:34    Post IP:180.169.30.6[显示全部帖子]

 交易周期是什么周期,也是五分钟吗?


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/5/22 15:01:26    Post IP:180.169.30.6[显示全部帖子]

p:VALUEWHEN(TODAYBAR=1,o);

buy(holding=0 and c>p,1,market);
buyshort(holding=0 and c<p,1,market);

if OPENPROFITPER>=0.05 or OPENPROFITPER<=-0.01 and holding<>0 then
begin
sell(holding>0,holding,market);
sellshort(holding<0,holding,market);
end


代码如上,但是按照这个逻辑交易次数非常多。每次平仓之后,必然会开空或者开多,完全不存在空档。


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/5/22 15:17:54    Post IP:180.169.30.6[显示全部帖子]

“第二次开仓条件就是行情回到每天第一次五分钟开盘价点位为开仓条件” 这个是指价格再次大于第一个K的开盘价?那这岂不是意味着再次开仓,必然是开多?


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/5/22 15:48:16    Post IP:180.169.30.6[显示全部帖子]

 “在第一次开仓的单子平仓后,如果价格再次回到第一根K的价格” 这个具体如何定义才算回到第一个K的价格。比如说第一个K的开盘价在当前K价格范围呢?相当于第一个K的价格在当前K最高最低价之间。 
[此贴子已经被作者于2020/5/22 15:50:48编辑过]


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/5/22 16:09:19    Post IP:180.169.30.6[显示全部帖子]

 p:VALUEWHEN(TODAYBAR=1,o);

cd:h>=p and p>=l;//需要判断开盘K的开盘价是否在当前K范围内
buy(holding=0 and c>o and cd,1,marketr);
buyshort(holding=0 and c<o and cd,1,marketr);

浮动盈亏:OPENPROFITPER;//单位是%
if OPENPROFITPER>=5 or OPENPROFITPER<=-1 and holding<>0 then
begin
多头止损:sell(holding>0,holding,market);
空头止损:sellshort(holding<0,holding,market);
end




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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/5/25 9:00:05    Post IP:180.169.30.6[显示全部帖子]

1.百分比开仓这个可以把下单手数调整成百分比数值的形式即可。
用法:BUY(COND,V,Type,P);表示当COND条件成立时,
买入V股(手)当前品种,TYPE表示买入类型,
P表示买入价格,所有参数均可以省略。
V:买入股(手)数或买入资金百分比(V%),若为0或者省略表示100%,若使用实际资金百分比买入请参考PERTRADER函数;
TYPE:可以是本周期收盘:THISCLOSE(本周期入场),市价:MARKET(次周期开盘价入场),
限价单:LIMITR(本周期入场),停损单:STOP(次周期入场)等交易方式控制符;
P:对于限价单、停损单需要指定的买入价格

例如:BUY(C>O ,1000,THISCLOSE);表示收阳线则在本周期收盘价上买入1000股(手)。
BUY(C>0,50%,LIMITR,CLOSE-0.2);表示在指定限价CLOSE-0.2元位置下买入限价单,
若价格达到或低于该价格则用50%资金买入。


2.这个现象我本地倒是没看到。也是在螺纹钢上的。而且按照持仓均价的算法,是不会在当个K触发止盈止损的,因为当个K的收盘价就是被当做持仓价了。而盈亏也是按照收盘价算的。

3.如果要其他周期也可以使用。那么下面这个
p:VALUEWHEN(TODAYBAR=1,o);
则需要跨周期调用,这样才能适应各个周期的情况。
这个建议你先自行尝试下。


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/5/25 13:34:09    Post IP:180.169.30.6[显示全部帖子]

 这个倒是没有现成的策略。以下这些都是有相关的函数可以用到的。你可以看下。

日均交易次数3次左右  TOTALDAYTRADE   TOTALTRADE
最大连续亏损5次以内  NUMSEQLOSS   TMAXSEQLOSS
最大资金回撤15%  MAXDRAWDOWN   MAXDRAWDOWNPCT


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/5/25 14:10:48    Post IP:180.169.30.6[显示全部帖子]

 代码问题都只在论坛处理的。电话里描述,挂完电话技术人员再接个电话很可能又忘记了。你们描述成文字,我们还能翻看前面的帖子来追溯下。


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