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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件策略编写求助区 → [求助]老师帮助改下代码

   

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


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

主题:[求助]老师帮助改下代码

帅哥哟,离线,有人找我吗?
26327756l
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:676 积分:2548 威望:0 精华:3 注册:2011/4/13 16:18:50
  发帖心情 Post By:2011/5/30 9:10:58 [显示全部帖子]

问题正在解决中

[此贴子已经被作者于2011-5-30 9:37:11编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
26327756l
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:676 积分:2548 威望:0 精华:3 注册:2011/4/13 16:18:50
  发帖心情 Post By:2011/5/30 13:48:58 [显示全部帖子]

请问那个回撤是什么意思 计算公式是什么?

 回到顶部
帅哥哟,离线,有人找我吗?
26327756l
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:676 积分:2548 威望:0 精华:3 注册:2011/4/13 16:18:50
  发帖心情 Post By:2011/5/30 14:44:33 [显示全部帖子]

//不知对不对,加入了平仓参数p
input:p(1,1,100,1);
VAR6:=(2*CLOSE+HIGH+OPEN+LOW)/8;

VAR7:=LLV(LOW,12);

VAR8:=HHV(HIGH,20);

VAR9:=EMA((VAR6-VAR7)/(VAR8-VAR7)*150,13);

VARA:=EMA(0.667*REF(VAR9,1)+0.333*VAR9,2);

SARLINE:=ABS(SAR(3,0.01,0.1));

TR1:=SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),6);

HD:=HIGH-REF(HIGH,1);

LD:=REF(LOW,1)-LOW;

DMP:=SUM(IFELSE(HD>0 && HD>LD,HD,0),6);

DMM:=SUM(IFELSE(LD>0 && LD>HD,LD,0),6);

PDI:=DMP*100/TR1,COLORWHITE;

MDI:=DMM*100/TR1,COLORYELLOW;

ADX:=MA(ABS(MDI-PDI)/(MDI+PDI)*150,20),COLORRED;

ADXR:=(ADX+REF(ADX,14))/2,COLORGREEN;

MA10:=EMA(CLOSE,11);

MA1:=MA(CLOSE,5);

if VAR9>VARA&&CLOSE>=SARLINE&&MA10>REF(MA10,1)&&ADX>30&&CLOSE>REF(OPEN,1)&&CLOSE>REF(OPEN,2)&&CLOSE>REF(CLOSE,1)&&CLOSE>REF(CLOSE,2)&&CLOSE>MA1&&CLOSE>OPEN then
  begin
  SELLSHORT(1 ,holding ,MARKET );
  BUY( 1,holding ,MARKET);
  end

if VAR9<=VARA&&CLOSE<SARLINE&&MA10<REF(MA10,1)&&ADX<80&&CLOSE<REF(OPEN,1)&&CLOSE<REF(OPEN,2)&&CLOSE<REF(CLOSE,1)&&CLOSE<REF(CLOSE,2)&&CLOSE<MA1&&CLOSE<OPEN then
 begin
   SELL(1 ,holding ,MARKET );
   BUYSHORT(1 ,holding ,MARKET );
  end


//判断是否亏损达到30个点,自动止损;
if enterprice-c>=30*mindiff  then
begin
sell(1,holding,market);
end
if c-enterprice>=30*mindiff  then
 begin
  sellshort(1,holding,market);
end
//当开仓后,盈利达到40到100点时,回撤80%,平仓
HV:=HHV(ASSET,0); //交易来最大资产

HB:=HV - ASSET; //当前的回撤

hui:HB/HV;
if c-enterprice>=40*mindiff and c-enterprice<=100*mindiff and hui>=0.8  then
begin
sell(1,p,market);
end
if enterprice-c>=40*mindiff and enterprice-c<=100*mindiff and hui=0.8 then
 begin
  sellshort(1,p,market);
end  
//开仓后,盈利达到100点以上时,回撤30%,平仓
if c-enterprice>=100*mindiff and hui=0.3  then
begin
sell(1,p,market);
end
if  enterprice-c>=100*mindiff and hui=0.3 then
 begin
  sellshort(1,p,market);
end  


 


 回到顶部
帅哥哟,离线,有人找我吗?
26327756l
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:676 积分:2548 威望:0 精华:3 注册:2011/4/13 16:18:50
  发帖心情 Post By:2011/5/31 10:03:18 [显示全部帖子]

p是参数 ,手动可以设的 平仓手数。默认是1手。

上面的回撤 不是按照  “开仓后,比如多头,价格涨到100 然后反相的掉到80 就是回撤了20%”

而是总资产的回撤来编写的。

[此贴子已经被作者于2011-5-31 10:14:18编辑过]

 回到顶部