Rss & SiteMap

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

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

标题:平仓后不再开仓函数如何写?谢谢

1楼
champion 发表于:2012/12/14 7:33:53

N:=BARSLAST(DATE<>REF(DATE,1));//当天开盘至今的K线数
Y:REF(O,N),NODRAW;
BKTJ
:=TIME>=094500 AND TIME<=142900 AND C>REF(HHV(C,N),1)  AND C>Y+Y*0.006;//价格创新高
SPTJ
=C<REF(LLV(C,10),1) || C>=ENTERPRICE+3*(Y*0.003) OR TIME=145500;
SKTJ
=TIME>=094500 AND TIME<=142900 AND C<REF(LLV(C,N),1) AND C<Y-Y*0.006;
BPTJ
=C>REF(HHV(C,10),1) || C<=ENTERPRICE-3*(Y*0.003) OR TIME=145500;

SELLSHORT(BPTJ AND ENTERBARS>=2,1,MKT);
BUY(BKTJ AND HOLDING=0,1,MKT);

SELL(SPTJ AND ENTERBARS>=2,1,MKT);
BUYSHORT(SKTJ AND HOLDING=0,1,MKT);

以上是模型源码,

老师好,我想问的是我只是希望当C>=ENTERPRICE+3*(Y*0.003) 或者C<=ENTERPRICE-3*(Y*0.003)条件实现而平仓后我不想再开仓了其它的平仓条件实现后如果开仓讯号仍出现后仍然开仓,该如何写呢?谢谢

2楼
jinzhe 发表于:2012/12/14 9:00:45

用全局变量限定

 

variable:n=0;

 

if  平仓条件 then begin

sell();

N:=1;

end

 

if  开仓条件 and n:=0 then

buy();

end

 

3楼
champion 发表于:2012/12/14 9:17:13
老师非常感谢您的回复,因为我编程基础太差,有些地方实在弄不明白,如何将您说的全局变量转换到我的那个模型中?谢谢您
4楼
netfox 发表于:2013/8/24 10:33:39
用全局变量限定

variable:n=0;

if 平仓条件 then begin
sell();
N:=1;
end

if 开仓条件 and n:=0 then
buy();
end


  为啥我依照如此写法,会出现俺键盘光标,导致信号消失或者信号出现问题。
5楼
武田晴信 发表于:2013/8/24 12:06:14
variable:n=0;
 if C>=ENTERPRICE+3*(Y*0.003) or C<=ENTERPRICE-3*(Y*0.003) then begin
  sellshort(1,0,market);//全部平仓的语句
  sell(1,0,market);
  N:=1;
end
 

6楼
武田晴信 发表于:2013/8/24 12:06:47
根据你的代码写的平仓语句
7楼
向日葵 发表于:2015/1/17 12:11:26

 这个问题一直没有有效答复:在出现条件C平仓后,不再开仓,怎么写?
8楼
jinkehoo 发表于:2015/1/17 21:10:26
用TOTALDAYTRADE这个函数可以解决问题
9楼
jinzhe 发表于:2015/1/19 9:15:48

variable:n=0;

 

if  平仓条件 and holding>0 then begin

sell();

N:=1;

end

 

if  开仓条件 and holding and  n:=0 then

buy();

end

 

需要自行添加变量重置,比如

if time=closetime(0) then n:=0;

这样就能保证在第二天能够正常开仓

10楼
向日葵 发表于:2015/1/19 10:42:05
出现条件C后平仓,且不再开仓,一直没有有效的答复?再次请教?
共11 条记录, 每页显示 10 条, 页签: [1] [2]


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