打印本文打印本文 关闭窗口关闭窗口

此种手数情况如何编写?

作者:金字塔 来源:cxh99.com 发布时间:2017年05月25日
  • 咨询内容:

    如下图:


    此主题相关图片如下:图片1.jpg


    请问该如何编写,才能使每次建仓的手数相同?


     

  • 金字塔客服:

    buy(1,1,marketr)

    这样就是1手

     

  • 用户回复: 不是这样。我第一次建仓的手数是通过资金的2%/ATR倍数得出来的,比如算出来手数是a1,我可以做到让第二次建仓的手数也是a1,即ref(a1,enterbars); ,但是第二次开仓之后的手数却不是固定为a1,而是变化的。我想把我随后所有的加仓的手数都固定为第一次开仓的手数,就像上图那样,该如何编写?

     

  • 网友回复:

    你这种算法处理,每次开仓是时都会根据当前的资金去计算手数、

    你如果只想在第一次计算时计算手数,后面统一按这个数量开仓,用全局变量标记计算

    VARIABLE:flag=0;

     

    if flag= 0 then  begin

      2%/ATR;

      flag:= 1;

    end

     

  • 网友回复: 我知道以下这样写应该是错的,按照你的意思,应该怎样写呢?
    a1:0.01*valuewhen(barpos=1,asset);        //初始资金的1%a2:floor(a1/(2*atr));                         //开仓手数
    //第一次建仓if cond1 then begin buy(1,a2,marketr);
    //第n次建仓b1:ref(a2,enterbars);variable:n=0; flag=0;if cond2then beginbuy(1,b1,marketr);n:=n+1;flag:=1;end
打印本文打印本文 关闭窗口关闭窗口