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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请老师帮助写代码

   

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


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

主题:请老师帮助写代码

帅哥哟,离线,有人找我吗?
心静a
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:548 积分:0 威望:0 精华:0 注册:2015/12/24 22:12:45
  发帖心情 Post By:2016/3/29 10:31:57    Post IP:49.69.230.152[只看该作者]

开仓后,RSI直接大于65了,那就不加仓了,

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/3/29 10:40:11    Post IP:58.246.57.26[只看该作者]

variable:n=0;

variable:bj=0;

在开仓语句里面加上粗体的那两句句,例如如:

if 开仓条件  and holding=0 then begin

buy();

n:=0;

bj:=0;

end

if holding>0 and rsi<65 then n:=n+1;

if holding>0 and rsi>60 then bj:=1;

LC:=REF(CLOSE,1);
RSI:=SMA(MAX(CLOSE-LC,0),32,1)/SMA(ABS(CLOSE-LC),32,1)*100;
ma5:=ma(c,5);
if rsi<65 and cross(close,ma5) and bj=0 and n=1 and ref(n=0,1) then buy(1,1,marketr);



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:论坛游侠 帖子:548 积分:0 威望:0 精华:0 注册:2015/12/24 22:12:45
  发帖心情 Post By:2016/3/29 10:59:56    Post IP:49.69.230.152[只看该作者]

老师,不用全局变量函数,用COUNT,EXIST等统计函数,能不能写一下,谢谢!

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/3/29 11:02:57    Post IP:58.246.57.26[只看该作者]

用count等这类函数就不能判断出rsi>65 后不加仓的情况了


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:论坛游侠 帖子:548 积分:0 威望:0 精华:0 注册:2015/12/24 22:12:45
  发帖心情 Post By:2016/3/29 11:52:56    Post IP:49.69.230.152[只看该作者]

variable:nj=0,bj=0;

n65:=65;

//*****************************************************************************************开多
if 无仓开多 and holding=0 then  begin  // 开多条件
无仓多:BUY(1,DD,limitr,close),ORDERQUEUE;
numbuy:=DD;
nj:=0;
bj:=0;
end
//*****************************************************************************************加仓
if holding>0 and rsi<n65 then nj:=nj+1;
if holding>0 and rsi>n65 then bj:=1;
if 加多仓 and bj=0 and nj=1 and ref(nj=0,1) then buy(1,1,limitr,close);

 

老师,帮我查一下,怎么一次也不加仓

 


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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/3/29 13:23:08    Post IP:58.246.57.26[只看该作者]

把你代码都贴一下,我本地看看信号情况

再提供一下品种,合约,周期信息



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:论坛游侠 帖子:548 积分:0 威望:0 精华:0 注册:2015/12/24 22:12:45
  发帖心情 Post By:2016/3/29 14:48:32    Post IP:49.69.230.152[只看该作者]

老师我这样写的行不行,

    开仓历时1:ENTERBARS,NODRAW,COLORWHITE;

    BKN:EXIST(RSI>60,开仓历时1),NODRAW,COLORWHITE;

   if 加多仓 and BKN=0  then buy(1,1,limitr,close);


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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/3/29 14:59:27    Post IP:58.246.57.26[只看该作者]

改成

开仓历时1:ENTERBARS,NODRAW,COLORWHITE;

BKN:EXIST(RSI>65,开仓历时1),NODRAW,COLORWHITE;

jc:exist(rsi<=65m开仓历时1),nodraw,colorwhite;

if 加多仓 and bkn=0 and jc=1 and ref(jc,1)=0 then buy(1,1,limitr,close);



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:论坛游侠 帖子:548 积分:0 威望:0 精华:0 注册:2015/12/24 22:12:45
  发帖心情 Post By:2016/3/30 22:14:26    Post IP:49.69.196.231[只看该作者]

老师好,开仓以后,有多种方法止盈,

             1,如何限止每种方法满足止盈条件只能止盈一次,

             2,每种方法满足止盈条件只能止盈一次的同时,如何确保留有1手以上的仓单,等满足平仓条件才能平,

  //------------------------------------止盈1
if 平空止盈1  then  begin
取空盈1手数:ABS(holding),NODRAW;//取得开空手数,
 Sg11:=IF(取空盈1手数<10,1,IF(取空盈1手数>=10 AND 取空盈1手数<18,2,IF(取空盈1手数>=18,3,NODRAW)));
止空盈1:SELLSHORT(1,Sg11,limitr,close);
 end 
//------------------------------------止盈2
if 平空止盈2 then  begin
取空盈2手数:ABS(holding),NODRAW;//取得开空手数,
Sg22:=IF(取空盈2手数<10,1,IF(取空盈2手数>=10 AND 取空盈2手数<18,2,IF(取空盈2手数>=18,3,NODRAW)));
底盈2:SELLSHORT(1,Sg22 ,limitr,close);
  end 
//------------------------------------止盈3
if 平空止盈3 then begin
取空盈3手数:ABS(holding),NODRAW;//取得开空手数,
Sg33:=IF(取空盈3手数<10,1,IF(取空盈3手数>=10 AND 取空盈3手数<18,2,IF(取空盈3手数>=18,3,NODRAW)));
 空止盈3:SELLSHORT(1,Sg33,limitr,close);
   end
//------------------------------------止盈4
BKN3:=COUNT(abs(holding)>=16 and abs(holding)<=20   and ENTERPRICE-c>=x3*MINDIFF,开仓历时1);  
 if BKN3=1 and abs(holding)>=16 and abs(holding)<=20   and ENTERPRICE-c>=x3*MINDIFF then begin
  取得持仓量:=ABS(holding),NODRAW;//取得开空手数,
空6止盈:SELLSHORT(1,3,marketr,ENTERPRICE-MINDIFF*x3);
end
//-----------------------------------------------------------满足条件平空仓
if 平空仓 AND holding<0 then begin
平空:sellshort(1,holding ,limitr,close);
end 
//*****************************************************************************************开多
if 无仓开多 and holding=0 then  begin  //or 开多条件

S1S1:=IF(SS1<10,SS1+2,IF(SS1>=10 AND SS1<20,SS1+1,IF(SS1>=20,SS1,NODRAW)));
DD:=IF(A,手数,IF(B,SS1,IF(CC,S1S1,NODRAW)));
无仓多:BUY(1,DD,limitr,close),ORDERQUEUE;
numbuy:=DD;
end
//*****************************************************************************************加多仓

if 加多仓1  then 加多:buy(1,1,limitr,close);
//*****************************************************************************平多
//------------------------------------止盈1
if 平多止盈1 AND HOLDING>0 then  begin
取多盈1持仓:HOLDING,NODRAW;
bg11:=IF(取多盈1持仓<10,1,IF(取多盈1持仓>=10 AND 取多盈1持仓<18,2,IF(取多盈1持仓>=18,3,NODRAW)));
止多盈1:SELL( 1,bg11,limitr,close);
end
//------------------------------------止盈2
if 平多止盈2 then begin
取多盈2持仓:HOLDING,NODRAW;
bg22:=IF(取多盈2持仓<10,1,IF(取多盈2持仓>=10 AND 取多盈2持仓<18,2,IF(取多盈2持仓>=18,3,NODRAW)));
顶盈2:SELL( 1,bg22,limitr,close);
end
//------------------------------------止盈3
if 平多止盈3 then begin
取多盈3持仓:HOLDING,NODRAW;
bg33:=IF(取多盈3持仓<10,1,IF(取多盈3持仓>=10 AND 取多盈3持仓<18,2,IF(取多盈3持仓>=18,3,NODRAW)));
多止盈3:SELL( 1,bg33,limitr,close);
 end
//-----------------------------------止盈4

SKN3:=COUNT( holding>=16 and holding<=20 and C-ENTERPRICE>=x3*MINDIFF,开仓历时1);
if SKN3=1 and holding>=16 and holding<=20 and C-ENTERPRICE>=x3*MINDIFF then begin
取多盈5持仓:=holding/2,NODRAW;//取得开空手数
多6止盈:SELL( 1,3,marketr,ENTERPRICE+MINDIFF*x3);
end

//------------------------------------------------------------------满足条件平多仓
if 平多仓 AND holding>0 then begin
平多:SELL(1,holding,limitr,close),ORDERQUEUE;

end
//***********************************************************************************************开空
if 无仓开空 then  begin //  or 开空条件
 DD1:=IF(A1,手数,IF(B1,SS111,IF(CC1,S1S111,NODRAW)));
DD10:DD1,NODRAW;
无仓空:BUYSHORT(holding=0,DD1,limitr,close),ORDERQUEUE;
 numbuy:=DD1;
end   
//*****************************************************************************************加空
 if 加空仓1 then 加空:BUYSHORT(1,1,limitr,close),ORDERQUEUE;

 


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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/3/31 9:08:12    Post IP:58.246.57.26[只看该作者]

1.用全局变量来限定,

2.条件加入持仓>1

比如下面这一段:

variable:bj1=0;

if 平空止盈1 and abs(holding)>1 and bj1=0  then begin

Sg11:=IF(取空盈1手数<10,1,IF(取空盈1手数>=10 AND 取空盈1手数<18,2,IF(取空盈1手数>=18,3,NODRAW)));
止空盈1:SELLSHORT(1,Sg11,limitr,close);

bj1:=1;
 end 

 

然后在开仓语句里面重置bj1为0



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
总数 65 上一页 1 2 3 4 5 6 7 下一页