欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 如何根据现有资金量自动调整开仓手数的代码

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有6864人关注过本帖树形打印复制链接

主题:如何根据现有资金量自动调整开仓手数的代码

美女呀,离线,留言给我吧!
jiangsen
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:992 积分:4305 威望:0 精华:0 注册:2012/8/3 10:50:38
如何根据现有资金量自动调整开仓手数的代码  发帖心情 Post By:2012/9/4 10:21:01    Post IP:114.90.116.226[显示全部帖子]

比如我有10万资金,每次开仓开2手,当我的资金增长变成15万的时候,自动调整成3手


 回到顶部
美女呀,离线,留言给我吧!
jiangsen
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:992 积分:4305 威望:0 精华:0 注册:2012/8/3 10:50:38
  发帖心情 Post By:2012/9/4 11:13:47    Post IP:114.90.116.226[显示全部帖子]

buy(1,100%,thisclose);这句语句应该添加在哪里啊?而且我用的是enterlong和entershort啊,不是buy

 回到顶部
美女呀,离线,留言给我吧!
jiangsen
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:992 积分:4305 威望:0 精华:0 注册:2012/8/3 10:50:38
  发帖心情 Post By:2012/9/4 12:06:50    Post IP:221.181.104.142[显示全部帖子]

开多用buy,那平多开空平空用什么啊?

 回到顶部
美女呀,离线,留言给我吧!
jiangsen
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:992 积分:4305 威望:0 精华:0 注册:2012/8/3 10:50:38
  发帖心情 Post By:2012/9/4 12:55:04    Post IP:221.181.104.142[显示全部帖子]

我之前说的不够详细抱歉

我把任何时候我拥有的资金平均分成3份,比如我的启动资金有30万,可以开6手股指,每份2手,当我的资金涨到45万的时候,可以开9手,每份3手,当我的资金涨到60万的时候,可以开12手,每份4手,以此类推。。。

第1份资金用来试仓,满足条件A加仓1份,满足条件B再加仓1份

这个代码应该怎么写呢?


 回到顶部
美女呀,离线,留言给我吧!
jiangsen
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:992 积分:4305 威望:0 精华:0 注册:2012/8/3 10:50:38
  发帖心情 Post By:2012/9/4 13:20:02    Post IP:221.181.104.141[显示全部帖子]

那加仓的时候怎么写呢?

 回到顶部
美女呀,离线,留言给我吧!
jiangsen
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:992 积分:4305 威望:0 精华:0 注册:2012/8/3 10:50:38
  发帖心情 Post By:2012/9/4 21:17:59    Post IP:114.90.111.251[显示全部帖子]

按你说的帮忙改一下喽~~

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

//显示账户状态
ContinueLine@ 资产:ASSET,LINETHICK0;
可用现金:CASH(0),LINETHICK0;
Pos:HOLDING,LINETHICK0;
交易次数:TOTALDAYTRADE, LINETHICK0 ;

If _DEBUGOUT>0 Then Begin

 DEBUGFILE2('c:\debugfile.txt','BarPos=%.0f' ,BARPOS,nt ) ;
 DEBUGFILE2('c:\debugfile.txt','T20Hi=%.2f' ,T20Hi ,nt) ;
 DEBUGFILE2('c:\debugfile.txt','N=%.2f' ,N ,nt) ;
 DEBUGFILE2('c:\debugfile.txt','Close=%.2f' ,C ,nt) ;
 DEBUGFILE2('c:\debugfile.txt','Position=%.0f' ,Position,nt ) ;
 DEBUGFILE2('c:\debugfile.txt','TurtleUnits=%.0f' ,TurtleUnits,nt ) ;
 DEBUGFILE2('c:\debugfile.txt','myEntryPrice=%.0f' ,myEntryPrice ,nt) ;
 DEBUGFILE2('c:\debugfile.txt','myExitPrice=%.0f' ,myExitPrice ,nt) ;
 
End //If

 


 回到顶部