Rss & SiteMap

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

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

标题:为什么没有平多?

1楼
zyttony1 发表于:2012/10/11 15:21:01

//连续三根红线就做多,连续三根阴线就做空
runmode:0;
ds:=ref(all(close<open,3),1);
zs:=ref(all(close>open,3),1);
if holding=0 then begin
 if ds then
  buy(1,1,limitr,open);
end
if holding=0 then begin
 if zs then
  buyshort(1,1,limitr,open);
end
//if holding>0 then begin
 sell(1,holding,limitr,close); // 这句问什么没有执行?有持仓,但是一直都没有平掉
//end
if holding<0 then begin
 sellshort(1,holding,limitr,close);
end
盈亏:asset-50000,colorred,linethick2;

 

 

 

你好,请问上面的代码 sell(1,holding,limitr,close);  为什么没有执行?有1手多仓,启动了图表程序化,但是一直都没有平。

 

另外,请问代码是什么时候开始执行的?是每来一次行情就执行一遍代码,还是每次K线开始就执行代码?感觉测试起来跟想法不太一样

 

 

2楼
zyttony1 发表于:2012/10/11 15:23:31

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
3楼
RogarZ 发表于:2012/10/11 15:41:05

这一手是不是手工开的  手工开的程序化是不认的

4楼
RogarZ 发表于:2012/10/11 17:04:14

LZ,我仔细看了下。你没有遵循 先平后开的原则

 

if holding=0 then begin
(1)

if zs then

(2)
  buyshort(1,1,limitr,open);
end
//if holding>0 then begin
  sell(1,holding,limitr,close); //

//end

 

红色平仓语句要写在开仓语句之前,你也没讲思路,所以不清是改放(1)的位置还是(2)的位置

[此贴子已经被作者于2012-10-11 17:04:36编辑过]
5楼
jzt321123 发表于:2012/10/11 20:13:45

运行模式如果是逐k线的话 就是没根k线走完一次

6楼
zyttony1 发表于:2012/10/12 15:06:14

你好,是逐K线的,每根K线走完后,代码运行一次,应该按照从上到下执行吧,每一句代码是否都应该执行才对?

7楼
zyttony1 发表于:2012/10/12 15:08:32

即使没有按照先平后开,那这句sell(1,holding,limitr,close)也应该执行啊

8楼
lichenghu 发表于:2012/10/12 15:17:52
楼主您那手单子是手工开的吧!您的图表 日志里没有这手单子
9楼
fly 发表于:2012/10/12 16:02:29

请加上以下条件,再运行看看

if holding>0 AND ENTERBARS>1 then begin
 sell(1,holding,limitr,close);

end


if holding<0 AND ENTERBARS>1 then begin
 sellshort(1,holding,limitr,close);
end

10楼
jzt3321 发表于:2012/10/13 21:57:33

这个问题论坛搜搜一大堆

共10 条记录, 每页显示 10 条, 页签: [1]


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