以文本方式查看主题

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

--  作者:wdbbs
--  发布时间:2014/7/4 6:56:21
--  求个价差止损止赢代码
这是我的代码,想找一个止损,止赢代码,如开仓价差后面百分之二止损,最高价差百分之二止赢.但是价差计算好像不对,也找不到开仓价差.求管理帮忙

INPUT:N1(20,10,60,5),N2(1,1,9999,1),N3(1,1,9999,1);
TL01:=\'TA13\';
TL02:=\'RB13\';
TL_C:=CALLSTOCK(TL01,VTCLOSE)-CALLSTOCK(TL02,VTCLOSE),COLORGREEN;
TL_O:=CALLSTOCK(TL01,VTOPEN)-CALLSTOCK(TL02,VTOPEN);
TL_H:=CALLSTOCK(TL01,VTHIGH)-CALLSTOCK(TL02,VTHIGH);
TL_L:=CALLSTOCK(TL01,VTLOW)-CALLSTOCK(TL02,VTLOW);
PZ1SL:=N2;
PZ2SL:=N3;

MA1:=REF(MA(((TL_H+TL_L+TL_C)/3,N1)),1);//三价平均线
KD:=TL_C>=MA1 AND TL_H<>TL_L;
KK:=TL_C<=MA1  AND TL_H<>TL_L;
PD:=TL_C<MA1 AND ENTERBARS>0;
PK:=TL_C>MA1 AND ENTERBARS>0;
DZY:=;
KZY:=;
DZS:=;
KZS:=;

//交易系统
IF STRCMP(STKLABEL,TL01)=0 THEN
BEGIN
SELL(PD AND HOLDING>0,HOLDING,MARKET);
SELLSHORT(PK AND HOLDING<0,HOLDING,MARKET);
BUY(KD AND HOLDING=0,PZ1SL,MARKET);
BUYSHORT(KK AND HOLDING=0 ,PZ1SL,MARKET);
多赢1:SELL(DZY AND HOLDING>0,HOLDING,MARKET),ORDERQUEUE;
空赢1:SELLSHORT(KZY AND HOLDING<0,HOLDING,MARKET),ORDERQUEUE;
多损1:SELL(DZS AND HOLDING>0,HOLDING,MARKET),ORDERQUEUE;
空损1:SELLSHORT(KZS AND HOLDING<0,HOLDING,MARKET),ORDERQUEUE;
END


IF STRCMP(STKLABEL,TL02)=0 THEN 
BEGIN
SELL(PK AND HOLDING>0,HOLDING,MARKET);
SELLSHORT(PD AND HOLDING<0 ,HOLDING,MARKET);
BUY(KK AND HOLDING=0,PZ2SL,MARKET);
BUYSHORT(KD AND HOLDING=0 ,PZ2SL,MARKET);
多赢2:SELL(DZY AND HOLDING>0,HOLDING,MARKET),ORDERQUEUE;
    空赢2:SELLSHORT(KZY AND HOLDING<0,HOLDING,MARKET),ORDERQUEUE;
多损2:SELL(DZS AND HOLDING>0,HOLDING,MARKET),ORDERQUEUE;
空损2:SELLSHORT(KZS AND HOLDING<0,HOLDING,MARKET),ORDERQUEUE;
END;

--  作者:jinzhe
--  发布时间:2014/7/4 9:06:47
--  

开仓价就是enterprice

开仓后的最高最低价就是hhv(h,enterbars+1) llv(l,enterbars+1)


--  作者:wdbbs
--  发布时间:2014/7/4 18:19:06
--  
我说的价差,不是这个,


--  作者:wdbbs
--  发布时间:2014/7/4 18:35:38
--  
是套利价差的开仓价
--  作者:jinzhe
--  发布时间:2014/7/7 9:47:34
--  
开仓价差,那么就要写这样的两个公式进行运用
--  作者:jinzhe
--  发布时间:2014/7/7 9:50:18
--  

写这样的两个同样的公式

 

一个命名为公式1,运用在TA13上

公式最后添加代码:

e1:enterprice;

e2:stkindi(\'rb13\',\'公式2.e1\',0,datatype);

开仓价差:e1-e2;

 

另外一个命名为公式2,运用在RB13上

公式最后添加代码:

e1:enterprice;

e2:stkindi(\'ta13\',\'公式1.e1\',0,datatype);

开仓价差:e1-e2;