以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  日内5分钟的策略如何当天收盘自动平仓  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=25228)

--  作者:jiangsen
--  发布时间:2012/9/5 12:31:31
--  日内5分钟的策略如何当天收盘自动平仓
帮忙加一段语句,使得当天开的仓无论盈亏都在收盘前平掉
--  作者:jinzhe
--  发布时间:2012/9/5 13:15:12
--  

if time>=145500 and time<15000 then begin

sell(1,0,market);

sellshort(1,0,market);

end


--  作者:jiangsen
--  发布时间:2012/9/5 13:26:50
--  

Long := h > T20Hi ;

//多头进场
if Long then begin
myEntryPrice := IF(Open>T20Hi+MINDIFF ,Open ,T20Hi+MINDIFF ) ;
buy( _DEBUG,PosNum,limitr,myEntryPrice);
Position := 1 ;
TurtleUnits := 1 ;
N := AvgTR ;
BuyOrderThisBar := 1;

end //if

//不要跳转,让程序检查同一根K线是否可以加仓
//Goto ContinueLine ;

End //If


//如果当前持有多头仓位的状态

If Position=1 and BARPOS>T20 and h>l Then Begin

//多头加仓条件

While (High>myEntryPrice+0.5*N) and TurtleUnits<4 Do Begin
myEntryPrice := IF(Open>myEntryPrice+0.5*N ,Open ,myEntryPrice+0.5*N ) ;
myEntryPrice := Ceiling(myEntryPrice/MINDIFF)*MINDIFF ;
buy( _DEBUG, PosNum, limitr, myEntryPrice);
TurtleUnits := TurtleUnits+1 ;
BuyOrderThisBar := 1;

End //While

//建立多头离场条件
LongX1 := (low < T10Lo) ;

if LongX1 and BuyOrderThisBar=0 then begin
myExitPrice := IF(Open<T10Lo-MINDIFF ,Open ,T10Lo-MINDIFF ) ;
sell( _DEBUG ,0,limitr,myExitPrice);
Position := 0 ;
TurtleUnits := 0 ;
end

//建立多头止损条件
LongX2 := (Low<myEntryPrice-2*N) ;

if LongX2 and Position=1 and BuyOrderThisBar=0 then begin
myExitPrice := IF(Open<myEntryPrice-2*N ,Open ,myEntryPrice-2*N ) ;
myExitPrice := Floor(myExitPrice/MINDIFF)*MINDIFF ;
sell( _DEBUG ,0,limitr,myExitPrice);
Position := 0 ;
TurtleUnits := 0 ;
end

Goto ContinueLine ;

End //If

 

这个策略我想把每次的开仓1手变为开总资金的25%,然后收盘前5分钟自动平仓

帮忙修改下吧


--  作者:jinzhe
--  发布时间:2012/9/5 15:14:29
--  

把posnum改成25%

收盘前分钟平仓参见上面


--  作者:jiangsen
--  发布时间:2012/9/5 15:58:11
--  

能说具体点吗?

buy( _DEBUG,PosNum=25%,limitr,myEntryPrice);

这样?


--  作者:董小球
--  发布时间:2012/9/6 9:02:55
--  
楼主,按照每次25%买就是
buy( 条件,25%,limitr,myEntryPrice);

明白了么
仔细看看BUY的函数解释吧,里面本身就有这种例子的

--  作者:jiangsen
--  发布时间:2012/9/6 15:56:04
--  
按你这么写是有问题的,比如100资金,第一次开仓花掉总资金的20%,第二次加仓花掉总资金的80%*20%,第三次加仓花掉总资金的(1-20%-80%*20%)*20%,这样下去加仓的手数越加越少(因为加仓涉及到循环)。。。我的要求是每次开仓加仓都是原来资金的20%,即开仓加仓的手数要一样
--  作者:jinzhe
--  发布时间:2012/9/6 16:51:03
--  

原来资金:=100;

 

下单手数:= 100*20% *保证金比率/multiper