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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 如果写不成程序化,麻烦请写成指标,谢谢

   

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


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

主题:如果写不成程序化,麻烦请写成指标,谢谢

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


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

 “当前K收盘价突破10K的最高点” 这个思路有问题。如果是包含当前K在内的10个K,不存在突破,最多是当前收盘价当月十周期最高价。


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


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

 止盈条件是什么?你只有止损条件?
“做多止损是到达之前10K的周期最低点后,出阳线就止损 ”到达这个价格,然后还必须是阳线才止损?


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


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

 “10K信号连续止赢2次就停止” 这个操作是怎样的。什么叫10k信号连线止盈2次?10个周期内反手止盈2次不再开仓?


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


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

 如果是连续2次反手就不开仓的话。你数据稍微多一点,当前也就不再会有交易信号了。因为模型在历史上已经满足不再开仓的条件了,后续也不会出信号了。所以这种通常是有一个限定,比如多少周期不再开仓。
[此贴子已经被作者于2020/6/12 15:39:40编辑过]


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


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

 VARIABLE:ct:=0;
cd1:ref(c=hhv(h,10),1) and c<o;//当前k阳线,前一个K满足收盘价等于10个周期最高价
cd2:ref(c=llv(l,10),1) and c>o;//当前k阴线,前一个K满足收盘价等于10个周期最低价

dtzsp:VALUEWHEN(cd1,ref(llv(l,10),1));//取10周期最低价
ktzsp:VALUEWHEN(cd2,ref(hhv(h,10),1));//取10周期最高价

if cd1 and holding<0 then
begin
pkkd:sellshort(holding<0,holding,market);
ct:=ct+1;//反手的时候记录下
end
buy(cd1 and holding=0 and ct<2,1,market);

if cd2 then
begin
pdkk:sell(holding>0,holding,market);
ct:=ct+1;//反手的时候记录下
end
buyshort(cd2 and holding=0 and ct<2,1,market);


if c<=dtzsp and holding>0 then
begin
dtzs:sell(c<=dtzsp and holding>0,holding,market);
if ct<2 then ct:=0;
end

if c>=ktzsp and holding<0  then
begin
ktzs:sellshort(c>=ktzsp and holding<0,holding,market);
if ct<2 then ct:=0;
end

if count(ct=2,50)=50 then ct:=0;

仅供参考。


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


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

cd1:ref(c=hhv(h,10),1) and c<o;//当前k阳线,前一个K满足收盘价等于10个周期最高价
cd2:ref(c=llv(l,10),1) and c>o;//当前k阴线,前一个K满足收盘价等于10个周期最低价

按照上面逻辑。你是要当前收盘价等于10周期的最高或者最低价,才会可能开仓。这个条件就是很难满足。你自己看下就知道了。


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


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

 你这个开仓条件,你最好重新考虑下。用前面的方式,很难满足。如果想表达突破,可以考虑用均线这种方式。


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


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

 “当前K达到10根K的最高点之上以后” 这个是指当前K最高价等于十个周期最高价?我前面代码用的是收盘价。。


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


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

 VARIABLE:ct:=0;
cd1:=ref(h=hhv(h,10),1) and c<o;//当前k阳线,前一个K满足收盘价等于10个周期最高价
cd2:=ref(l=llv(l,10),1) and c>o;//当前k阴线,前一个K满足收盘价等于10个周期最低价

dtzsp:=VALUEWHEN(cd1,ref(llv(l,10),1));//取10周期最低价
ktzsp:=VALUEWHEN(cd2,ref(hhv(h,10),1));//取10周期最高价

if cd1 and holding<0 then
begin
pkkd:sellshort(holding<0,holding,market);
ct:=ct+1;//反手的时候记录下
end
buy(cd1 and holding=0 and ct<2,1,market);

if cd2 and holding>0 then
begin
pdkk:sell(holding>0,holding,market);
ct:=ct+1;//反手的时候记录下
end
buyshort(cd2 and holding=0 and ct<2,1,market);


if c<=dtzsp and holding>0 then
begin
dtzs:sell(c<=dtzsp and holding>0,holding,market);
if ct<2 then ct:=0;
end

if c>=ktzsp and holding<0  then
begin
ktzs:sellshort(c>=ktzsp and holding<0,holding,market);
if ct<2 then ct:=0;
end

if count(ct=2,50)=50 then ct:=0;

修改下。


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


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

加2个变量:
zj:ASSET;//资产
cc:holding;//持仓


命数如织,当如磐石。
 回到顶部
总数 11 1 2 下一页