Rss & SiteMap

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

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

标题:[求助]

1楼
bbosaabb 发表于:2013/1/21 14:46:56

开仓条件B1 B2  T  S1  S2  平仓条件PB1   PS1 

 

//多开
IF TIME>094500&&TIME<140000&&(B1||B2)&&T THEN
  BEGIN  BUY(HOLDING=0,1,MARKET);
         fuying:=OPENPROFIT;
  END
 
//空开
IF TIME>094500&&TIME<140000&&(S1||S2)&&T THEN
  BEGIN BUYSHORT(HOLDING=0,1,MARKET);
         fuying:=OPENPROFIT;
  END
 
//移动式止盈        
IF OPENPROFIT>fuying then fuying:=OPENPROFIT;
BS1:=  OPENPROFIT<=0.6*fuying && fuying>=OPENPROFIT+30*300;//浮盈从30个点以上回撤40%
BS2:=  OPENPROFIT<=fuying-18 && fuying>=OPENPROFIT+50*300;//浮盈从50个点以上回撤18个点

//多平
IF TIME>150500||PB1||BS||BS2 THEN
  BEGIN  SELL(HOLDING>0,1 ,THISCLOSE);
         Z:=1;
  END
 
//平空
IF TIME>150500||PS1||BS||BS2 THEN
  BEGIN  SELLSHORT(HOLDING<0,1,THISCLOSE);
         Z:=1;
  END

 

为什么不能做反手单?(同一根k柱同时有平多开空信号(或平空开多)它只能默认平仓不会开仓)

 

如果我用以下这种写法就可以实现同时平仓和开仓,但就用不了移动式止盈止损

平空:SELLSHORT((TIME>1505||PS1||BS)&&HOLDING<0,1,MARKET);
开多:BUY(TIME<1400&&(B1||B2)&&T&&HOLDING=0,1,MARKET);         
平多:SELL((TIME>1505||PB1||BS)&&HOLDING>0,1,MARKET);                  
开空:BUYSHORT(TIME<1400&&(S1||S2)&&T&&HOLDING=0,1,MARKET);    

 

我是新手,请客服帮我解一下,谢谢!!

2楼
jinzhe 发表于:2013/1/21 15:00:49
发下信号截图,再发下下单日志
3楼
bbosaabb 发表于:2013/1/21 16:00:38

variable: fuying=0;
variable: Z=0;

N:=BARSLAST(DATE<>REF(DATE,1))+1;//开盘到当前周期数
H30:=VALUEWHEN(N=16,HHV(H,16));//开盘后16根K柱最高价
L30:=VALUEWHEN(N=16,LLV(L,16));//开盘后16根K柱最低价
HL30:=H30-L30;

//引用MACD
DIFF : =EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  := EMA(DIFF,9);

//引用15分钟周的MACD
DIFF15:="BB.DIFF#MIN15";
DEA15:="BB.DEA#MIN15";

 

T:=TOTALDAYTRADE<=2;//限制开仓次数

BS:=OPENPROFIT<-300*20;//浮亏止损点数
//开仓条件
B1:=(CROSS(C,H30)||CROSS(C,L30))&&DIFF15>DEA15&&DIFF>DEA;//开多条件1
S1:=(CROSS(L30,C)||CROSS(H30,C))&&DIFF15<DEA15&&DIFF<DEA;//开空条件1
B2:=CROSS(DIFF15,DEA15)&&C>H30&&DIFF>DEA&&TIME>100000&&TIME<140000;//开多条件2
S2:=CROSS(DEA15,DIFF15)&&C<L30&&DIFF<DEA&&TIME>100000&&TIME<140000;//开空条件2
//平仓条件
PB1:=CROSS(DEA15,DIFF15)&&DEA<0;//平多条件1
PS1:=CROSS(DIFF15,DEA15)&&DEA>0;//平空条件1

//多开
IF TIME>094500&&TIME<140000&&(B1||B2)&&T THEN
  BEGIN  BUY(HOLDING=0,1,MARKET);
         fuying:=OPENPROFIT;
  END
 
//空开
IF TIME>094500&&TIME<140000&&(S1||S2)&&T THEN
  BEGIN BUYSHORT(HOLDING=0,1,MARKET);
         fuying:=OPENPROFIT;
  END
 
//浮动止盈        
IF OPENPROFIT>fuying then fuying:=OPENPROFIT;
BS1:=  OPENPROFIT<=0.6*fuying && fuying>=OPENPROFIT+30*300;//浮盈从30个点以上回撤40%
BS2:=  OPENPROFIT<=fuying-18 && fuying>=OPENPROFIT+50*300;//浮盈从50个点以上回撤18个点

//多平
IF TIME>150500||PB1||BS||BS2 THEN
  BEGIN  SELL(HOLDING>0,1 ,THISCLOSE);
         Z:=1;
  END
 
//平空
IF TIME>150500||PS1||BS||BS2 THEN
  BEGIN  SELLSHORT(HOLDING<0,1,THISCLOSE);
         Z:=1;
  END

 

 

 

 

第二种

variable: fuying=0;
variable: Z=0;

N:=BARSLAST(DATE<>REF(DATE,1))+1;//开盘到当前周期数
H30:=VALUEWHEN(N=16,HHV(H,16));//开盘后16根K柱最高价
L30:=VALUEWHEN(N=16,LLV(L,16));//开盘后16根K柱最低价
HL30:=H30-L30;

//引用MACD
DIFF : =EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  := EMA(DIFF,9);

//引用15分钟周的MACD
DIFF15:="BB.DIFF#MIN15";
DEA15:="BB.DEA#MIN15";

 

T:=TOTALDAYTRADE<=2;//限制开仓次数

BS:=OPENPROFIT<-300*20;//浮亏止损点数
//开仓条件
B1:=(CROSS(C,H30)||CROSS(C,L30))&&DIFF15>DEA15&&DIFF>DEA;//开多条件1
S1:=(CROSS(L30,C)||CROSS(H30,C))&&DIFF15<DEA15&&DIFF<DEA;//开空条件1
B2:=CROSS(DIFF15,DEA15)&&C>H30&&DIFF>DEA&&TIME>100000&&TIME<140000;//开多条件2
S2:=CROSS(DEA15,DIFF15)&&C<L30&&DIFF<DEA&&TIME>100000&&TIME<140000;//开空条件2
//平仓条件
PB1:=CROSS(DEA15,DIFF15)&&DEA<0;//平多条件1
PS1:=CROSS(DIFF15,DEA15)&&DEA>0;//平空条件1


平空:SELLSHORT((TIME>1505||PS1||BS)&&HOLDING<0,1,MARKET);
开多:BUY(TIME<1400&&(B1||B2)&&T&&HOLDING=0,1,MARKET);         
平多:SELL((TIME>1505||PB1||BS)&&HOLDING>0,1,MARKET);                  
开空:BUYSHORT(TIME<1400&&(S1||S2)&&T&&HOLDING=0,1,MARKET);    

 

 

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


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