Rss & SiteMap

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

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

标题:临时定义的变量

1楼
李亚弟 发表于:2013/6/13 12:08:03
我定义了一个普通的变量15windot,不是全局变量。变量的第一次使用是在time=093000,可是我在图表上时间093000之前(具体是091544)shift+Q,显示15windot的值是-12.000。
15windot作为一个临时定义的变量,为什么会在没定义的时间也出现呢?

2楼
jinzhe 发表于:2013/6/13 13:10:47

这个具体时间是当前的行情时间?还是k线时间?

 

3楼
李亚弟 发表于:2013/6/13 13:33:19
K线时间
4楼
jinzhe 发表于:2013/6/13 13:44:42
秒周期?
5楼
李亚弟 发表于:2013/6/13 13:52:45
分笔
6楼
jinzhe 发表于:2013/6/13 13:54:35
代码怎么写的,贴一下
7楼
李亚弟 发表于:2013/6/13 14:19:56
//01 取消FirstGrid,用GridInterval代替
//02 不能单纯的逐K线,必须1秒轮询。以轮询方式定kcj/pcj
//03 信号输出
//04 尝试解决白箭头,显示格子线.
//05 白箭头未改好。先做一个改动:每逢15分钟全部平仓
//06 恢复FirstGrid
//07 恢复多次下单 TmpGridIndex MyRealMp 
//08 对07进行编译上的修改
//09 修复趋势单很快平仓的问题  drawtext(1,pcj,'这里',colorgreen,5);
//10 几处订正。补充单边震荡单趋势单的转换(没补充。原意的大部分已经在止盈止损里做了平仓,对于StyleChangeGrid与StyleChangeGrid+1 这个价格区间则不做处理。)
//12 添加czbz,修正midline的赋值时刻,令第一次赋值后,同秒内不再赋值。分笔交易需要这个限制,1分钟K线则不用。
//13 把c改为o,添加drawtext用于分析
//14 取消FirstGrid,用GridInterval代替
//15 修改时间点。113000平仓后早上不再开仓.
//16 113000的平仓要提前发出指令,令在112900平仓,并早上不再开仓。(之前的版本漏了113000的平仓)
//18 130000不需要清仓
//19 价位微调
//20 15windot daywindot
//22 修补。1,删除不必要的else。2,删除4部曲的时间的重复限制。
runmode:0;
variable:MyRealMp=0,qcbz=0,RealMidLine=0,ccfl=0,czbz=0,kcjd=0,pcjd=0,kcjk=0,pcjk=0,daywindot=0;//ccfl,持仓分类,0,无持仓,1,震荡单,2,趋势单

time1:= time=091500 or time=093000 or time=094500 or time=100000 or  
time=101500 or time=103000 or time=104500 or time=110000 or time=111500 
or time=130000 or time=131500 or time=133000 or time=134500 or time=140000 or time=141500 or time=143000 or time=144500 or time=150000;
if time1 then begin
   if czbz=0 then begin
 MidLine:=open;
 RealMidLine:=MidLine;
 czbz:=1;
   end
end else czbz:=0;
MinPoint:=0.2;//最小变动值,比如上海A股最小变动值为0.01元

MidLine1:RealMidLine,COLORMAGENTA,LINETHICK3;


    //定时清仓
    If  time=093000 or time=094500 or time=100000 or  
time=101500 or time=103000 or time=104500 or time=110000 or time=111500 or time=112900
        or time=131500 or time=133000 or time=134500 or time=140000 or time=141500 or time=143000 or time=144500 or time=150000 or time=150800 then begin
        if  qcbz=0 then begin
            If  holding<0 then begin 
                pcj:=o+OffSet*MinPoint;
                15windot:=kcjk-(pcjk+pcj*(-1)*holding)+(pcjd-kcjd);//系统会连续开仓连续平仓,所以分别累加多头空头的开仓价、平仓价,最后相减得盈利点数。以15分钟为一个周期,周期结束就全部平仓。
                sellshort(1,0,limitr,pcj); 
            end
            If  holding>0 then begin 
                pcj:=o-OffSet*MinPoint;
                15windot:=(pcjd+pcj*holding)-kcjd+(kcjk-pcjk);
                sell(1,0,limitr,pcj);
            end
            //drawtext(1,pcj,'1',COLORBLUE,4);
            daywindot:=daywindot+15windot;
            MyRealMp:=0;ccfl:=0;qcbz:=1;kcjd:=0;pcjd:=0;kcjk:=0;pcjk:=0;
            if 15windot>=0 then DRAWTEXT(1,o,NUMTOSTR(15windot,1),COLORRED,4);
            if 15windot<0 then DRAWTEXT(1,o,NUMTOSTR(15windot,1),COLORGREEN,4);
            15windot:=0;
        end
       If time=150800 then begin  
          if daywindot>=0 then DRAWTEXT(1,o,NUMTOSTR(daywindot,1),COLORRED,5);
          if daywindot<0 then DRAWTEXT(1,o,NUMTOSTR(daywindot,1),COLORGREEN,5); 
     daywindot:=0;15windot:=0;//下面的代码不再出现15windot。其实15windot作为临时变量,并不需特别赋值为0.
  end
    end else qcbz:=0;
    
    tradetime:=(Time>=091500 and Time<112900) or (Time>=130000 And Time<150800);//112900 150800必须平仓后就不开仓,所以是=不是<=
    if tradetime then begin
    
。。。各种平仓。分开记录多单空单的平仓价。。。
。。。各种开仓。分开记录多单空单的平仓价。。。
      end

8楼
jinzhe 发表于:2013/6/13 14:28:51
offset未定义?
9楼
李亚弟 发表于:2013/6/13 14:40:58
不是。offset只是作为一个参数来用的。
共9 条记录, 每页显示 10 条, 页签: [1]


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