以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  求程序的编写  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=67786)

--  作者:azzhe
--  发布时间:2014/7/24 10:45:43
--  求程序的编写
如果当天的交易是盈利的,就停止交易,这个要怎么表达?
--  作者:jinzhe
--  发布时间:2014/7/24 10:48:52
--  

交易条件加上

asset-ref(asset,todaybar)<=0


--  作者:azzhe
--  发布时间:2014/7/24 10:55:15
--  
如果,我今天交易了4次,第一次亏损10个点,交易了1手,第二次亏损8个点,交易了2手,第三次亏损15个点,交易了3手,那么,我怎么统计每一次亏损的点数,然后在总的计算出亏损的点数?
第四次才盈利,交易了4手,这是我想3手盈利的点数可以补平前面的亏损,先平仓3手,留下一手,到平仓信号出现。这样要如何表达?

--  作者:jinzhe
--  发布时间:2014/7/24 11:30:27
--  

variable:n=0;//n计算亏损总点数

if 平多条件1 and 持仓判断 then begin

   sell(1,0,下单价位);

   if numprofit(1)<0 then n:=n+(exitprice-enterprice)*手数1;//手数1是开仓手数

end

 

if 平空条件1  and 持仓判断 then begin

    sellshort(1,0,下单价位);

    if numprofit(1)<0 then n:=n+(enterprice-exitprice)*手数2;//手数2也是开仓手数

end

 

//这只是简单的例举了开多开空两种情况,如果公式里面有多个开多开空语句,那么就要按照上面的方法多写几遍

 

 

s1:=n*MULTIPLIER;//亏损总金额

if openprofit>0 then

ss:=abs(s1)/abs(enterprice-c)/MULTIPLIER;//在盈利的情况下,把亏损总金额除以当前的开平价差,再除以合约单位,得出需要多少手,可能会有小数点

tt:=floor(ss);//把求出的手数向下取整,则得出平掉亏损持仓需要平掉当前多少手