Rss & SiteMap

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

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

标题:[求助]为什么该程序只开多不开空?

1楼
ppliu 发表于:2011/2/25 11:12:01

我是新手上路,对金子塔语言正在学习中,下面是试着编写的程序,开仓条件是随机的,但是不知为什么只开多,不开空,请求帮助,谢谢啊!

input:n1(3,1,50,2);
input:n2(30,5,60,5);
variable:win1=0,win2=0,maxprofit=0,b=0,s=0;
a:=rand(10000);        //产生随机数,判断其奇偶性,确定做多做空//
if a%2=0 then
b:=1;
else
s:=1;
if b and holding=0 and time=90100 then begin
buy(1,1,limitr,close);
maxprofit:=0;
end
if s and holding=0 and time=90100 then begin
buyshort(1,1,limitr,close);
maxprofit:=0;
end
if holding>0 then begin
  if enterbars>0 then begin
win1:=(close-ENTERPRICE)/ENTERPRICE*100;
         IF win1>MAXPROFIT THEN
             MAXPROFIT:=WIN1;
         WIN2:=(MAXPROFIT-WIN1)/MAXPROFIT*100;
     END
     if win1<-n1 then
     sell(1,holding,limitr,close);
     if win2>n2 and openprofit>0 then
     sell(1,holding,limitr,close);
end
if holding<0 then begin
   if enterbars>0 then begin
   win1:=(enterprice-close)/enterprice*100;
   if win1>maxprofit then
   maxprofit:=win1;
   win2:=(maxprofit-win1)/maxprofit*100;
   end
   if win1<-n1 then
    buyshort(1,holding,limitr,close);
    if win2>n2 and openprofit>0 then
    buyshort(1,holding,limitr,close);
end
if time=145800 and holding<>0 then begin
   sell(holding>0,holding,limitr,close);
   sellshort(holding<o,holding,limitr,close);
end

2楼
fly 发表于:2011/2/25 11:24:36

楼主可以直接设定 S:=1.看看会不会开空

3楼
ppliu 发表于:2011/2/25 11:32:45

直接设置s:=1,也还是不做空,很奇怪呢!

4楼
阿火 发表于:2011/2/25 14:08:45

b 是全局变量。

a是偶数的话,b=1,

下一根K线,a是奇数的话。此时b依然等于1.

 

在平仓后,你要把b重新赋值为 0

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


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