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


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

   

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


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

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

帅哥哟,离线,有人找我吗?
FireScript
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]


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


加好友 发短信
等级:新手上路 帖子:46 积分:0 威望:0 精华:0 注册:2019/7/24 10:36:12
  发帖心情 Post By:2020/6/12 15:42:56    Post IP:123.161.181.192[只看该作者]

50周期内不再开仓吧


 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | 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;

仅供参考。


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


加好友 发短信
等级:新手上路 帖子:46 积分:0 威望:0 精华:0 注册:2019/7/24 10:36:12
  发帖心情 Post By:2020/6/12 16:55:01    Post IP:123.161.181.192[只看该作者]

信号太少了吧,应该是每10根K就统计一次,然后开仓一次的,然后10根K线开仓连续错两次后,到达50根K线时候还是按照10根K的方式开仓

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | 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[只看该作者]

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


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


加好友 发短信
等级:新手上路 帖子:46 积分:0 威望:0 精华:0 注册:2019/7/24 10:36:12
  发帖心情 Post By:2020/6/12 17:21:17    Post IP:123.161.181.192[只看该作者]

应该是表达错误,  其实逻辑很简单,就是统计10根K的最高点和最低点,当前K达到10根K的最高点之上以后,等出阴线时候就做空, 如果一直出阳线那就一直等,等阴线才做空

止损就是那个10根K的最高点价位止损,止盈就是到达10根K的最低点以后并且出阳线就止盈,如果没有出阳线就一直持有, 止盈后就相当于要反手了。

如果连续错3次以后就等价格到达50根K的最高点和最低点再次开仓,开仓条件一样,止盈止损条件也一样

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | 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最高价等于十个周期最高价?我前面代码用的是收盘价。。


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


加好友 发短信
等级:新手上路 帖子:46 积分:0 威望:0 精华:0 注册:2019/7/24 10:36:12
  发帖心情 Post By:2020/6/12 17:26:41    Post IP:123.161.181.192[只看该作者]

只要大于10个周期的最高价就满足开仓条件

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | 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;

修改下。


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