Rss & SiteMap

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

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

标题:[求助]为什么没有执行

1楼
wzywzy292 发表于:2011/12/21 23:14:17
请教:这个模型为什么没有执行 m1d:=m1d-1

谢谢!!

源码如下:


VARIABLE:m1d=0;

m1d:=5;//开仓手数

AA:=MA(C,5)>MA(C,20);

IF time>=092100 AND time<=145700 then begin

if AA then begin
sellshort(holding<0, holding,limitr,c);  
buy(1,m1d,limitr,c);
end
m1d:=m1d-1;
end

if time>=151200 then begin
sell(1,0,limitr,c);
m1d:=0;
end

2楼
阿火 发表于:2011/12/21 23:33:11

在最前面 m1d赋值为5,也就是每次都会为5

如果你的本意是下单后减1手,第二天又从5开始,改为这样

if date<>ref(date,1) then m1d:=5; 

3楼
wzywzy292 发表于:2011/12/22 9:05:50
 还是不行
1、有些地方手数超过了5。
2、忘了说是日内
3、谢谢

4楼
阿火 发表于:2011/12/22 10:26:07

m1d 每次都减少,最后会为0 ,为0 代表满仓。

开仓时还要加一个mid>0的限定

5楼
fly 发表于:2011/12/22 10:40:58

就这段代码,每次一执行策略,

一开始就会把M1D变为5,所以如果你的钱够,那么每次日内图上显示的开多,都应该是5手,一直到你的资金不够不再开仓为止(最后一个开多手数,小于等于5大于等于1)

 

总共开多的手数超过5,是正常的.

 

你再领会领会自己写的代码的意思,或者把你对自己代码的领悟写出来,看看可能是你哪里理解的有误

6楼
wzywzy292 发表于:2011/12/22 10:44:02
帮忙写个完整的呗,谢谢
7楼
wzywzy292 发表于:2011/12/22 10:52:53
本意是下单后再开单就减1手
[此贴子已经被作者于2011-12-22 10:53:47编辑过]
8楼
just 发表于:2011/12/22 14:21:12

VARIABLE:m1d=0;

if date<>ref(date,1) then m1d:=5;//开仓手数

AA:=MA(C,5)>MA(C,20);

IF time>=092100 AND time<=145700 then begin

if AA then begin
sellshort(holding<0, holding,limitr,c);  
buy(1,m1d,limitr,c);
m1d:=m1d-1;
end
end

if time>=151200 then begin
sell(1,0,limitr,c);
m1d:=0;
end

 这样就可以了

[此贴子已经被作者于2011-12-22 14:21:44编辑过]
9楼
wzywzy292 发表于:2011/12/22 14:33:33
第一次开了5手,但第二次开的不是4手,麻烦再看看,谢谢
10楼
just 发表于:2011/12/22 14:52:34
资金问题 初始资金调大点就可以了。开仓条件上再加个M1D>=1。
[此贴子已经被作者于2011-12-22 14:53:20编辑过]
共14 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.04297 s, 3 queries.