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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 变量的问题

   

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


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

主题:变量的问题

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


加好友 发短信
等级:论坛游侠 帖子:426 积分:1074 威望:0 精华:0 注册:2011/10/21 13:03:36
变量的问题  发帖心情 Post By:2012/6/17 15:52:43    Post IP:117.81.202.91[只看该作者]

变量一直是我头疼的问题,写了个移动止损的例子,请高手看看错在哪里,谢谢!

我的想法是,开多后,每一次调整后的再次金叉,当根K线的开盘价即为止损价。

 

input:ma5(5,1,10,1);
input:ma15(15,1,30,1);
input:ma40(40,1,60,1);


variable:KD=0;
variable:KK=0;

 

//设置变量
IF HOLDING>0 AND CROSS(MA5,MA15) THEN KD:=OPEN;
KKD:KD;
IF HOLDING<0 AND CROSS(MA15,MA5) THEN KK:=OPEN;
KKK:KK;

 

//固定平仓规则
IF HOLDING>0 AND  CROSS(MA(C,30),MA(C,10)) THEN SELL(1,0,MARKET);
IF HOLDING<0 AND  CROSS(MA(C,10),MA(C,30)) THEN SELLSHORT(1,0,MARKET);

 

//移动平仓规则
IF HOLDING>0 AND  CLOSE<=KD THEN
BEGIN
 SELL(1,0,MARKET);
 KD:=0;
 END
 
IF HOLDING<0 AND  CLOSE>=KK THEN
BEGIN
 SELLSHORT(1,0,MARKET);
 KK:=0;
 END

 

//开仓规则
IF HOLDING=0 AND MA5>MA40 AND MA40>REF(MA40,1) THEN BUY(1,1,MARKET);
IF HOLDING=0 AND MA40<MA5 AND MA40<REF(MA40,1) THEN BUYSHORT(1,1,MARKET);

 

 

IF TIME=151500 THEN
BEGIN
KD=0;
KK=0;
END


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


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

在开仓规则那里添加上

kd:=open;

kk:=open;

 

注意多空仓不要搞反了

[此贴子已经被作者于2012-6-18 9:04:51编辑过]


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

客户服务部

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

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

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


加好友 发短信
等级:论坛游侠 帖子:426 积分:1074 威望:0 精华:0 注册:2011/10/21 13:03:36
  发帖心情 Post By:2012/6/18 10:12:12    Post IP:49.72.144.146[只看该作者]

还是不对啊,图表显示不出来啊!

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


加好友 发短信
等级:金字塔养老院 帖子:1323 积分:6764 威望:0 精华:0 注册:2011/6/14 17:27:11
  发帖心情 Post By:2012/6/18 10:14:53    Post IP:58.246.57.26[只看该作者]



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

客户服务部

-----------------------------------------------------------

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

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
aback
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:426 积分:1074 威望:0 精华:0 注册:2011/10/21 13:03:36
  发帖心情 Post By:2012/6/18 10:55:11    Post IP:49.72.144.146[只看该作者]

早看过了,呵呵,这是看过后才写出来的。
[此贴子已经被作者于2012-6-18 10:56:04编辑过]

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


加好友 发短信
等级:金字塔养老院 帖子:1323 积分:6764 威望:0 精华:0 注册:2011/6/14 17:27:11
  发帖心情 Post By:2012/6/18 10:59:23    Post IP:58.246.57.26[只看该作者]

{
variable:hl=0,aa=0;

if cond and holding>0 and aa=0 then begin
   aa:=1;
   end
  //记录开仓
 
if h>hl and aa>0 then begin
  h:=hl;
 end
 //记录开仓后的最高价
 
if hl-h<5*mindiff and aa>0 then begin
 sell(1,1,market);
 aa:=0;
 hl:=0;
 end
  //最高价回落5个点移动止损离场并把变量初始化,表示移动止损完成。
  }

基础移动止损代码,楼主可以看看。



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

客户服务部

-----------------------------------------------------------

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

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
aback
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:426 积分:1074 威望:0 精华:0 注册:2011/10/21 13:03:36
  发帖心情 Post By:2012/6/18 11:28:46    Post IP:49.72.144.146[只看该作者]

开仓时记录变量,这个我会,可能这个很好判别。

我不是在开仓的时候记录变量,写的时候总是有冲突,虽然在图表上止损价格都能划线出来,但执行不了,会不会要用第二个变量辅助?

[此贴子已经被作者于2012-6-18 11:37:50编辑过]

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


加好友 发短信
等级:论坛游侠 帖子:426 积分:1074 威望:0 精华:0 注册:2011/10/21 13:03:36
  发帖心情 Post By:2012/6/18 13:00:30    Post IP:49.72.144.146[只看该作者]

修改了下

 

ma5:=MA(C,5);
ma15:=MA(C,15);
ma40:=MA(C,40);


variable:KD=0;
variable:KK=0;

 

//设置变量
IF HOLDING>0 AND CROSS(MA5,MA15) THEN KD:=OPEN;
KKD:KD;
IF HOLDING<0 AND CROSS(MA15,MA5) THEN KK:=OPEN;
KKK:KK;

 

//固定平仓规则
IF HOLDING>0 AND  CROSS(MA(C,40),MA(C,15)) THEN SELL(1,0,MARKET);
IF HOLDING<0 AND  CROSS(MA(C,15),MA(C,40)) THEN SELLSHORT(1,0,MARKET);

 

//移动平仓规则
IF HOLDING>0 AND  CLOSE<=KD THEN
BEGIN
 SELL(1,0,MARKET);
 KD:=0;
 END
 
IF HOLDING<0 AND  CLOSE>=KK THEN
BEGIN
 SELLSHORT(1,0,MARKET);
 KD:=0;
 END
 

//开仓规则
IF HOLDING=0 AND MA5>MA40 AND MA40>REF(MA40,1) THEN
BEGIN
 BUY(1,1,MARKET);
  END
 
IF HOLDING=0 AND MA40<MA5 AND MA40<REF(MA40,1) THEN
BEGIN
 BUYSHORT(1,1,MARKET);
 END

 

IF TIME=151500 THEN

BEGIN
KD=0;
KK=0;
END


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


加好友 发短信
等级:金字塔养老院 帖子:1323 积分:6764 威望:0 精华:0 注册:2011/6/14 17:27:11
  发帖心情 Post By:2012/6/18 13:17:10    Post IP:58.246.57.26[只看该作者]

楼主的代码就是达到条件平仓吧,何来移动止损一说?


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

客户服务部

-----------------------------------------------------------

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

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
aback
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:426 积分:1074 威望:0 精华:0 注册:2011/10/21 13:03:36
  发帖心情 Post By:2012/6/18 13:45:49    Post IP:49.72.144.146[只看该作者]

 

移动止损---开多后的每次回调后的均线再次金叉,则记录当根K线的开盘价,此开盘价就是新的止赢价格 。

 

IF HOLDING>0 AND CROSS(MA5,MA15) THEN KD:=OPEN;
KKD:KD;
IF HOLDING<0 AND CROSS(MA15,MA5) THEN KK:=OPEN;
KKK:KK;

 

固定平仓规则----------正常的出场条件
IF HOLDING>0 AND CROSS(MA(C,40),MA(C,15)) THEN SELL(1,0,MARKET);
IF HOLDING<0 AND CROSS(MA(C,15),MA(C,40)) THEN SELLSHORT(1,0,MARKET);


 回到顶部
总数 13 1 2 下一页