Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:求编写。

1楼
id773161 发表于:2012/6/13 11:14:29

1 赋值

 

求出4个品种1分钟周期上一根K线上的最高价 与 最低价

编写指标H

HH:=HHV(H,5);

 

引用:

ycuh:=stkindi('CU00','H',0,1,-1);
yruh:=stkindi('RU00','H',0,1,-1);
yznh:=stkindi('ZN00','H',0,1,-1);
ylh:=stkindi('L00','H',0,1,-1);

 

 

中间语句

求出 上面4个连续合约 最高值最大的一个品种做多

平多:如果该品种不是最大值 平仓

求出 上面4个连续合约  最高值最小的一个品种做空

平空:如果该品种不是最小值 平仓

 

哪位老师能用后台交易 写出来 谢谢 

 

对我而言难题:1 品种最大,最小的定义;

                     2 在开平仓语句里,如何做到多品种交易逻辑的准确性,开平仓控制等;

[此贴子已经被作者于2012-6-13 11:21:52编辑过]
2楼
rushtaotao 发表于:2012/6/13 11:20:55
直接放进去吧  后台可以用stkindi函数
3楼
id773161 发表于:2012/6/13 11:31:26
在线等解,谢谢各位老师了。
4楼
just 发表于:2012/6/13 13:36:02

问题1

在后台里你可以写4组开平仓语句,用指定品种下单功能,例,

ycuh:=stkindi('CU00','H',0,1,-1);
yruh:=stkindi('RU00','H',0,1,-1);
yznh:=stkindi('ZN00','H',0,1,-1);
ylh:=stkindi('L00','H',0,1,-1);

 

 

if ycuh>yruh and ycuh>yznh and ycuh>ylh then begin

tbuy(tholding=0,1,mkt,0,0,'','cu00');

end

 

问题2要如何控制。

 

5楼
id773161 发表于:2012/6/13 13:52:43

后台交易里,多品种多策略交易,很容易开平仓混乱的,如何解决还有日内交易和非日内交易仓位读取问题

6楼
id773161 发表于:2012/6/13 14:19:44

后台交易里,多品种多策略交易,很容易开平仓混乱的,如何解决还有日内交易和非日内交易仓位读取问题

 

大概我懂了,傻瓜写法就是多条件都写上去。

 

1

 

if  conda1 and var1>var2 then tbuy(1,1,mkt,0,0,'','sqcu00');

if conda1 and not(var1>var2 ) then tbuy(1,1,mkt,0,0,'','sqru00');

满足conda1的情况下,对引用的数值较大的合约下单

 

 

2

a1:=max(var1,var2);
a2:=max(var3,var4);
a3:=max(var5,var6);
a4:=max(var7,var8);
a5:=max(var9,var10);
a6:=max(var11,var12);
a7:=max(var13,var14);
a8:=max(var15,var16);
a9:=max(a1,a2);
a10:=max(a3,a4);
a11:=max(a5,a6);
a12:=max(a7,a8);
a13:=max(a9,a10);
a14:=max(a11,a12);
a15:=max(a13,a14);
conda1:=a15;

 

||

 
a1:=max(var1,max(var2,max(var3,max(var4,max(var5,max(var6,max(var7,max(var8,max(var9,max(var10,max(var11,max(var12,max(var13,max(var14,max(var15,var16)))))))))))))));
a2:=if(a1=var1,'if00',if(a1=var2,'ru00',if(a1=var3,'cu00',if(a1=var4,'rb00'........一直比较到var16以及所对应的品种合约代码))))
然后a2就是所要的品种合约代码

 

这是我求最大值的16个合约 (var1-var16) ,求出 conda1只是一个值,并不是指定的那个合约 (此办法在多品种下 会同时开多个仓出来)(逐K模式下很卡)

 

3

我的思路就是这么依次类推,希望能帮助你

var1:stkindi('CU00','ypm.zd',2,1,-1);
var1-1:=1;
var2:stkindi('RU00','ypm.zd',2,1,-1);
var2-2:=2;
var3:stkindi('if00','ypm.zd',2,1,-1);
var3-3:=3;
var4:stkindi('if01','ypm.zd',2,1,-1);
var4-4:=4;

variable:a1-1:0;
a1:=max(var1,var2);
a1-1:if(a1=var1,var1-1,var2-2);

variable:a2-2:0;
a2:=max(var3,var4);
a2-2:if(a2=var3,var3-3,var4-4);

也就是说,后台是序列模式的,因此你需要全局变量的话 你就要用EXTGBDATA( )。variable只能用在逐k线
 
4
 

各位老师,如果我用 a:=TINSORT('自选股','ypm.zd',0); 板块指标升序排列
                          b:=TINSORT('自选股','ypm.zd',1); 板块指标降序排列
此函数引用比较简单,但是我不知道怎么使用,

 

(此种方法最简单,但是后台测试也是同时开几个品种)

 

总结上述情况,

1

我个人觉得我开平仓的逻辑有问题。

2

中间语句的定义有问题

3

上面第3种不会,序列模式下的全局变量

[此贴子已经被作者于2012-6-13 14:21:19编辑过]
7楼
id773161 发表于:2012/6/13 14:35:48

还有哪位老师能帮我看看第4种方法,如何实现

 

只做多头第一

 

和空头第一 

[此贴子已经被作者于2012-6-13 14:36:33编辑过]
共7 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in .04688 s, 2 queries.