Rss & SiteMap

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

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

标题:修正错误 图表改后台

1楼
f三年 发表于:2019/1/1 10:47:13
图表程序是下面这个  我要改后台  然后呢  后台的手数不对  还有开仓重复了   老师帮我看下   后台程序再图表下面

N_DAY:=10;
FUND:=20000;
VAR1:=MAX(1,INTPART(Fund/(O*MULTIPLIER*0.1)));
NN:=BARSLAST(DATE<>REF(DATE,1))+1;
LENGTH_DAY:=HHV(NN,NN+62);
O_TODAY:=VALUEWHEN(NN=1,OPEN);
H_TODAY:=HHV(HIGH,NN);
L_TODAY:=LLV(LOW,NN);
H_YESTERDAY:=REF(H_TODAY,NN);
L_YESTERDAY:=REF(L_TODAY,NN);
C_YESTERDAY:=REF(C,NN);
LENGTH:=N_DAY*LENGTH_DAY;
DISTANCE:=MA(H_YESTERDAY-L_YESTERDAY,LENGTH);
ORB:=MIN(ABS(H_YESTERDAY-C_YESTERDAY),ABS(L_YESTERDAY-C_YESTERDAY));
BAND:=MAX(ORB,DISTANCE*0.1);
UPBAND:=O_TODAY+BAND;
DOWNBAND:=O_TODAY-BAND;
MAC:=MA(CLOSE,LENGTH);
MA_HH:=MA(HHV(HIGH,LENGTH),LENGTH);
MA_LL:=MA(LLV(LOW,LENGTH),LENGTH);
BUYPK:=CLOSE>UPBAND AND CLOSE>MAC AND CLOSE>MA_HH;
SELLPK:=CLOSE<DOWNBAND AND CLOSE<MAC AND CLOSE<MA_LL;
SELLY:=CLOSE<MAC AND CLOSE>ENTERPRICE;
BUYY:=CLOSE>MAC AND CLOSE<ENTERPRICE;
IF BARPOS >LENGTH THEN 
BEGIN
IF BuyPK THEN 
BEGIN
sellshort(holding<0,0,market);
Buy(holding=0,Var1,market); 
END
IF SellPK THEN
BEGIN
sell(holding>0,0,market);
buyShort(holding=0,Var1,MARKET);
END
END
if ENTERBARS>1 then
begin
卖盈:SELL(holding>0 and SellY,0,market);
买盈:SELLSHORT(holding<0 and BuyY,0,market);
end


后台

N_DAY:=10;
FUND:=20000;
VAR1:=MAX(1,INTPART(Fund/(O*MULTIPLIER*0.1)));
NN:=BARSLAST(DATE<>REF(DATE,1))+1;
LENGTH_DAY:=HHV(NN,NN+62);
O_TODAY:=VALUEWHEN(NN=1,OPEN);
H_TODAY:=HHV(HIGH,NN);
L_TODAY:=LLV(LOW,NN);
H_YESTERDAY:=REF(H_TODAY,NN);
L_YESTERDAY:=REF(L_TODAY,NN);
C_YESTERDAY:=REF(C,NN);
LENGTH:=N_DAY*LENGTH_DAY;
DISTANCE:=MA(H_YESTERDAY-L_YESTERDAY,LENGTH);
ORB:=MIN(ABS(H_YESTERDAY-C_YESTERDAY),ABS(L_YESTERDAY-C_YESTERDAY));
BAND:=MAX(ORB,DISTANCE*0.1);
UPBAND:=O_TODAY+BAND;
DOWNBAND:=O_TODAY-BAND;
MAC:=MA(CLOSE,LENGTH);
MA_HH:=MA(HHV(HIGH,LENGTH),LENGTH);
MA_LL:=MA(LLV(LOW,LENGTH),LENGTH);
BUYPK:=CLOSE>UPBAND AND CLOSE>MAC AND CLOSE>MA_HH;
SELLPK:=CLOSE<DOWNBAND AND CLOSE<MAC AND CLOSE<MA_LL;
SELLY:=CLOSE<MAC AND CLOSE>ENTERPRICE;
BUYY:=CLOSE>MAC AND CLOSE<ENTERPRICE;
IF BARPOS >LENGTH THEN 
BEGIN
IF BuyPK THEN 
BEGIN
sellshort(holding<0,0,market);
Buy(holding=0,Var1,market); 
END
IF SellPK THEN
BEGIN
sell(holding>0,0,market);
buyShort(holding=0,Var1,MARKET);
END
END
if ENTERBARS>1 then
begin
卖盈:SELL(holding>0 and SellY,0,market);
买盈:SELLSHORT(holding<0 and BuyY,0,market);
end




2楼
yukizzc 发表于:2019/1/2 9:02:49
下面这个和上面一样,都是图表的
3楼
f三年 发表于:2019/1/3 11:29:56
求老师帮忙改下后台 谢谢
4楼
wenarm 发表于:2019/1/3 13:18:05
你把你后台修改的策略贴出来看下,我们看下具体什么地点造成的差异。
5楼
f三年 发表于:2019/1/3 16:23:05
老师  看下  这是修改的 


N_DAY:=10;
FUND:=20000;
VAR1:=MAX(1,INTPART(Fund/(O*MULTIPLIER*0.1)));
NN:=BARSLAST(DATE<>REF(DATE,1))+1;
LENGTH_DAY:=HHV(NN,NN+62);
O_TODAY:=VALUEWHEN(NN=1,OPEN);
H_TODAY:=HHV(HIGH,NN);
L_TODAY:=LLV(LOW,NN);
H_YESTERDAY:=REF(H_TODAY,NN);
L_YESTERDAY:=REF(L_TODAY,NN);
C_YESTERDAY:=REF(C,NN);
LENGTH:=N_DAY*LENGTH_DAY;
DISTANCE:=MA(H_YESTERDAY-L_YESTERDAY,LENGTH);
ORB:=MIN(ABS(H_YESTERDAY-C_YESTERDAY),ABS(L_YESTERDAY-C_YESTERDAY));
BAND:=MAX(ORB,DISTANCE*0.1);
UPBAND:=O_TODAY+BAND;
DOWNBAND:=O_TODAY-BAND;
MAC:=MA(CLOSE,LENGTH);
MA_HH:=MA(HHV(HIGH,LENGTH),LENGTH);
MA_LL:=MA(LLV(LOW,LENGTH),LENGTH);
BUYPK:=CLOSE>UPBAND AND CLOSE>MAC AND CLOSE>MA_HH;
SELLPK:=CLOSE<DOWNBAND AND CLOSE<MAC AND CLOSE<MA_LL;
SELLY:=CLOSE<MAC AND CLOSE>ENTERPRICE;
BUYY:=CLOSE>MAC AND CLOSE<ENTERPRICE;
IF tbuyholding(1)>0 and BARPOS >LENGTH  and SELLPK THEN tsell(1,tbuyholding(1),mkt);
if tsellholding(1)>0 and  BARPOS >LENGTH  and BUYPK  THEN tsellshort(1,tsellholding(1),mkt);
if TBUYHOLDING(1)=0 and tsellholding(1)=0  and  BARPOS >LENGTH  and BUYPK then tbuy(1,Var1,mkt);
if TBUYHOLDING(1)=0 and tsellholding(1)=0  and  BARPOS >LENGTH  and SELLPK then tbuyshort(1,Var1,mkt);
if tbuyholding(1)>0 and TENTERBARS>1 and SELLY then  tSELL(1,tbuyholding(1),mkt);
if tsellholding(1)>0 and TENTERBARS>1 and BUYY then  tSELL(1,tsellholding(1),mkt);
6楼
FireScript 发表于:2019/1/4 9:25:36
 ENTERPRICE 这是图表上的。你怎么用在后台代码里面了。

SELLY:=CLOSE<MAC AND CLOSE>ENTERPRICE;
BUYY:=CLOSE>MAC AND CLOSE<ENTERPRICE;

这段代码编译时候应该直接就报提示的啊,你换成tENTERPRICE。

然后还有这里

if tsellholding(1)>0 and TENTERBARS>1 and BUYY then  tSELL(1,tsellholding(1),mkt);

你是要平空吧。怎么写成平多了。


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


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