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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 求教老师 发单

   

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


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

主题:求教老师 发单

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


加好友 发短信
等级:论坛游侠 帖子:505 积分:0 威望:0 精华:0 注册:2014/10/15 13:12:08
求教老师 发单  发帖心情 Post By:2017/8/10 11:04:25    Post IP:1.119.129.16[只看该作者]

如何能做到,开仓是K线走完确认发单,平仓是K线中满足条件平仓?

看 http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=9439没有看懂,老师能直接指点一下吗?谢谢



源码如下:
 HH1:=IFELSE(H<REF(H,1)&&REF(H,1)<REF(H,2),REF(H,2),0);
LL1:=IFELSE(L>REF(L,1)&&REF(L,1)>REF(L,2),REF(L,2),0);
HH2:=VALUEWHEN(HH1>0,HH1);
LL2:=VALUEWHEN(LL1>0,LL1);
K1:=IFELSE(CLOSE>HH2,-3,IFELSE(CLOSE<LL2,1,0));
K2:=VALUEWHEN(K1<>0,K1);

 
//交易条件

if K2<=0 then begin 
sellshort(holding<0,holding,marketr);
buy(holding=0,holding,marketr);
end
if K2>0 then begin 
sell(holding>0,holding,marketr);
buyshort(holding=0,holding,marketr);

end


VARIABLE:nb=0,mb=0,ns=0,ms=0;
h1:=hhv(h,enterbars+1);
l1:=llv(l,enterbars+1);
zuidab:=h1-enterprice;
zuidas:=enterprice-l1;
if zuidab>=10*mindiff and zuidab<20*mindiff then nb:=1; 
if nb=1 and 2*(h1-c)>=zuidab and holding>0 then begin  
sell(1,0.75*holding,marketr);
nb:=0;
end
if zuidab>20*mindiff  then mb:=1; 
if mb=1 and 5*(h1-c)>=2*zuidab and holding>0 then begin  
 sell(1,0.75*holding,marketr);
 mb:=0;
 end
 
 
 
 
 if zuidas>=10*mindiff and zuidas<20*mindiff then ns:=1; 
if ns=1 and 2*(c-l1)>=zuidas and holding>0 then begin 
sellshort(1,0.75*holding,marketr);
ns:=0;
end
if zuidas>20*mindiff  then ms:=1; 
if ms=1 and 5*(c-l1)>=2*zuidas and holding>0 then begin  
 sellshort(1,0.75*holding,marketr);
 ms:=0;
 end





if K2<=0 then begin 
sellshort(holding<0,holding,marketr);
buy(holding=0,holding,marketr);
end
if K2>0 then begin 
sell(holding>0,holding,marketr);
buyshort(holding=0,holding,marketr);
end 

 回到顶部
美女呀,离线,留言给我吧!
pyd
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2017/8/10 11:10:55    Post IP:180.169.30.6[只看该作者]

http://www.weistock.com/bbs/dispbbs.asp?BoardID=10&ID=151891&skin=0

看这个例子写的很清楚的,您先看下如果还是不会改的话再帮您改写。


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


加好友 发短信
等级:论坛游侠 帖子:505 积分:0 威望:0 精华:0 注册:2014/10/15 13:12:08
  发帖心情 Post By:2017/8/10 11:15:10    Post IP:1.119.129.16[只看该作者]

这个例子和刚刚的不一样。我修改如下,老师看看可以吗?  这样修改的话,是选择,固定时间发单吗?




HH1:=IFELSE(H<REF(H,1)&&REF(H,1)<REF(H,2),REF(H,2),0);
LL1:=IFELSE(L>REF(L,1)&&REF(L,1)>REF(L,2),REF(L,2),0);
HH2:=VALUEWHEN(HH1>0,HH1);
LL2:=VALUEWHEN(LL1>0,LL1);
K1:=IFELSE(CLOSE>HH2,-3,IFELSE(CLOSE<LL2,1,0));
K2:=VALUEWHEN(K1<>0,K1);

 
//交易条件




VARIABLE:nb=0,mb=0,ns=0,ms=0;
h1:=hhv(h,enterbars+1);
l1:=llv(l,enterbars+1);
zuidab:=h1-enterprice;
zuidas:=enterprice-l1;
if zuidab>=10*mindiff and zuidab<20*mindiff then nb:=1; 
if nb=1 and 2*(h1-c)>=zuidab and holding>0 then begin  
sell(1,0.75*holding,marketr);
nb:=0;
end
if zuidab>20*mindiff  then mb:=1; 
if mb=1 and 5*(h1-c)>=2*zuidab and holding>0 then begin  
 sell(1,0.75*holding,marketr);
 mb:=0;
 end
 
 
 
 
 if zuidas>=10*mindiff and zuidas<20*mindiff then ns:=1; 
if ns=1 and 2*(c-l1)>=zuidas and holding>0 then begin 
sellshort(1,0.75*holding,marketr);
ns:=0;
end
if zuidas>20*mindiff  then ms:=1; 
if ms=1 and 5*(c-l1)>=2*zuidas and holding>0 then begin  
 sellshort(1,0.75*holding,marketr);
 ms:=0;
 end




if ref(K2,1)<=0 then begin 
sellshort(holding<0,holding,marketr);
buy(holding=0,holding,marketr);
end
if ref(K2,1)>0 then begin 
sell(holding>0,holding,marketr);
buyshort(holding=0,holding,marketr);

end

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


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

是的,使用固定时间间隔,对于你希望走完k的条件,直接引用上一根已经走完k的信号。


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


加好友 发短信
等级:论坛游侠 帖子:505 积分:0 威望:0 精华:0 注册:2014/10/15 13:12:08
  发帖心情 Post By:2017/8/11 9:17:33    Post IP:1.119.129.16[只看该作者]

现在这么改,不止盈了,是怎么回事?就是一下代码不运行了
VARIABLE:nb=0,mb=0,ns=0,ms=0;
h1:=hhv(h,enterbars+1);
l1:=llv(l,enterbars+1);
zuidab:=h1-enterprice;
zuidas:=enterprice-l1;
if zuidab>=10*mindiff and zuidab<20*mindiff then nb:=1; 
if nb=1 and 2*(h1-c)>=zuidab and holding>0 then begin  
sell(1,0.75*holding,marketr);
nb:=0;
end
if zuidab>20*mindiff  then mb:=1; 
if mb=1 and 5*(h1-c)>=2*zuidab and holding>0 then begin  
 sell(1,0.75*holding,marketr);
 mb:=0;
 end

 回到顶部
美女呀,离线,留言给我吧!
pyd
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2017/8/11 10:07:37    Post IP:180.169.30.6[只看该作者]

注释下你的4个if条件 分别要表达什么意思


 回到顶部