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


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

   

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


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

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

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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2011/5/30 10:16:57 [显示全部帖子]

仅把策略改写到金字塔里,以下代码即可实现.

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));

T:=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(IF(HD>0 and HD>LD,HD,0),6);

DMM:=SUM(IF(LD>0 and LD>HD,LD,0),6);

PDI:=DMP*100/T;

MDI:=DMM*100/T,;

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);

//平空开多
long:=MA10>REF(MA10,1) and CLOSE>REF(OPEN,1) and CLOSE>REF(OPEN,2) and CLOSE>REF(CLOSE,1) and CLOSE>REF(CLOSE,2) and CLOSE>MA1;//最新价高于前两个周期的开盘价和收盘价。
//平多开空
short:=MA10<REF(MA10,1) and CLOSE<REF(OPEN,1) and CLOSE<REF(OPEN,2) and CLOSE<REF(CLOSE,1) and CLOSE<REF(CLOSE,2) and CLOSE<MA1;//最新价低于前两个周期的开盘价和收盘价。

{开多}ENTERLONG:long and VAR9>VARA and CLOSE>=SARLINE and ADX>30 and CLOSE>OPEN,TFILTER;
{平多}EXITLONG:short and VAR9<=VARA and CLOSE<SARLINE and ADX<80 and CLOSE<OPEN,TFILTER;
{开空}ENTERSHORT:short and VAR9<=VARA and CLOSE<SARLINE and ADX<80 and CLOSE<OPEN ,TFILTER ;
{平空}EXITSHORT:long and VAR9>VARA and CLOSE>=SARLINE and ADX>30 and CLOSE>OPEN ,TFILTER;



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2011/5/30 11:04:55 [显示全部帖子]

如果是想实现止损止盈,那就需要标准版及其以上

以下以高级图表程序化交易-----标准版功能,为例说明

 

//K线走完模式,逐K线模式
variable:maxprofit=0;//有仓位时最大获利幅度

 

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));

T:=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(IF(HD>0 and HD>LD,HD,0),6);

DMM:=SUM(IF(LD>0 and LD>HD,LD,0),6);

PDI:=DMP*100/T;

MDI:=DMM*100/T,;

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);

//平空开多
long:=MA10>REF(MA10,1) and CLOSE>REF(OPEN,1) and CLOSE>REF(OPEN,2) and CLOSE>REF(CLOSE,1) and CLOSE>REF(CLOSE,2) and CLOSE>MA1;//最新价高于前两个周期的开盘价和收盘价。
//平多开空
short:=MA10<REF(MA10,1) and CLOSE<REF(OPEN,1) and CLOSE<REF(OPEN,2) and CLOSE<REF(CLOSE,1) and CLOSE<REF(CLOSE,2) and CLOSE<MA1;//最新价低于前两个周期的开盘价和收盘价。

if long and VAR9>VARA and CLOSE>=SARLINE and ADX>30 and CLOSE>OPEN then
begin
sellshort(holding<0,1,market);
buy(holding=0,1,market);
maxprofit:=0;
end

if short and VAR9<=VARA and CLOSE<SARLINE and ADX<80 and CLOSE<OPEN then
begin
sell(holding>0,1,market);
buyshort(holding=0,1,market);
maxprofit:=0;
end


//判断当前持仓状态下的最大盈利
win:=0;
win2:=0;

if holding > 0 and enterbars > 0 then
begin
 win:=(c-enterprice)/enterprice*100; //记录最大盈利
 if win > maxprofit then
  maxprofit:=win;
 
 win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end

if holding < 0 and enterbars > 0 then
begin
 win:=(enterprice-c)/enterprice*100; //记录最大盈利
 if win > maxprofit then
  maxprofit:=win;
 
 win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end

//亏损达到30个点---30个最小变动价位,自动止损;
SELL((ENTERPRICE-c)>=30*mindiff and holding>0,0,MARKET);
SELLSHORT((c-ENTERPRICE)>=30*mindiff and holding<0,0,MARKET);

//当开仓后,盈利达到40到100点时,回撤80%,平仓;
if c-enterprice>40*mindiff and c-enterprice<100*mindiff and holding>0 then
begin
SELL(win2 >= 80, 0,market);
end
if enterprice-c>40*mindiff and enterprice-c<100*mindiff and holding<0 then
begin
SELL(win2 >= 80, 0,market);
end


//开仓后,盈利达到100点以上时,回撤30%,平仓。
if c-enterprice>=100*mindiff and holding>0 then
begin
SELL(win2 >= 30, 0,market);
end
if enterprice-c>=100*mindiff and holding<0 then
begin
SELL(win2 >= 30, 0,market);
end



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2011/5/30 11:11:18 [显示全部帖子]

如果是想信号出现持续"w"秒再发委托的话,得是专业版.


金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部