金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 4733|回复: 18

请老师帮我改一下策略。多头空头开仓后6个点止盈10个点止损

[复制链接]

30

主题

58

帖子

58

积分

等级: 免费版

注册:
2021-6-13
曾用名:
发表于 2024-3-6 14:30 | 显示全部楼层 |阅读模式
VALUEWHEN(TODAYBAR=1,open);
n1:=todaybar;
dm:=4-INTPART(LOG(C));
结算价:ROUNDS(IF(sum(vol,n1)=0,C,sum(C*vol,n1)/sum(vol,n1)),2+dm);
PARTLINE(CLOSE>结算价,结算价),LINETHICK1,colorFF;
PARTLINE(CLOSE<结算价,结算价),LINETHICK1,colorFF0000;


HH:=HHV(CLOSE,N);
LL:=LLV(CLOSE,N);
HH1:=BARSLAST((HH>REF(HH,1)));
LL1:=BARSLAST((LL<REF(LL,1)));
A:=IFELSE((HH1 < LL1),1,IFELSE((HH1 > LL1),-1,0));
AA:IFELSE(A>=0,LL,HH),DOT,COLORYELLOW;
PARTLINE(CLOSE>AA,AA),LINETHICK2,colorFF;
PARTLINE(CLOSE<AA,AA),LINETHICK2,colorFF0000;
MA6:=EMA(CLOSE,60);


PARTLINE(MA6>ref(MA6,1), MA6,COLORRED);
PARTLINE(MA6<ref(MA6,1) , MA6,COLORBLUE);


手数:=SS;


//交易条件
开多条件:=CROSS(LL1,HH1)&&结算价>ref(结算价,1);
平多条件:=CROSS(HH1,LL1);
开空条件:=CROSS(HH1,LL1)&&结算价<ref(结算价,1);
平空条件:=CROSS(LL1,HH1);
//交易系统

平空:SELLSHORT(平空条件 AND HOLDING<0,手数,LIMITR,C);
平多:SELL(平多条件 AND HOLDING>0,手数,LIMITR,C);
开空:BUYSHORT(开空条件 AND HOLDING>=0,手数,LIMITR,C);
开多:BUY(开多条件 AND HOLDING<=0,手数,LIMITR,C);
//注意先平后开原则
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-3-6 14:38 | 显示全部楼层
加上这段
//多头止盈
IF C-AVGENTERPRICE>6*MINDIFF and holding>0 THEN BEGIN
SELL(1,HOLDING,MARKET);
END

//多头止损
IF AVGENTERPRICE-C>10*MINDIFF  and holding>0 THEN BEGIN
SELL(1,HOLDING,MARKET);
END

//空头止损
IF C-AVGENTERPRICE>10*MINDIFF and holding<0 THEN BEGIN
SELLshort(1,HOLDING,MARKET);
END

//空头止盈
IF AVGENTERPRICE-C>6*MINDIFF and holding<0 THEN BEGIN
SELLshort(1,HOLDING,MARKET);
END
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2024-3-6 14:40 | 显示全部楼层
if c-avgenterprice>=6*mindiff then
begin
多止盈:sell(1,HOLDING,market);
end


if avgenterprice-c>=6*mindiff then
begin
空止盈:sellshort(1,HOLDING,market);
end


if avgenterprice-c>=10*mindiff then
begin
多止损:sell(1,HOLDING,market);
end


if c-avgenterprice>=10*mindiff then
begin
空止损:sellshort(1,HOLDING,market);
end
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

30

主题

58

帖子

58

积分

等级: 免费版

注册:
2021-6-13
曾用名:
 楼主| 发表于 2024-3-6 14:46 | 显示全部楼层
请问老师原来的平空平多能去除么?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2024-3-6 15:00 | 显示全部楼层
你可以直接注释掉。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

30

主题

58

帖子

58

积分

等级: 免费版

注册:
2021-6-13
曾用名:
 楼主| 发表于 2024-3-6 16:55 | 显示全部楼层
老师请帮我加上当天最后一根k线不开仓,开仓的最后一分钟要平掉,
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2024-3-6 17:00 | 显示全部楼层
[PEL] 复制代码
valuewhen(todaybar=1,open);
n1:=todaybar;
dm:=4-intpart(log(c));
结算价:rounds(if(sum(vol,n1)=0,c,sum(c*vol,n1)/sum(vol,n1)),2+dm);
partline(close>结算价,结算价),linethick1,colorff;
partline(close<结算价,结算价),linethick1,colorff0000;


hh:=hhv(close,n);
ll:=llv(close,n);
hh1:=barslast((hh>ref(hh,1)));
ll1:=barslast((ll<ref(ll,1)));
a:=ifelse((hh1 < ll1),1,ifelse((hh1 > ll1),-1,0));
aa:ifelse(a>=0,ll,hh),dot,coloryellow;
partline(close>aa,aa),linethick2,colorff;
partline(close<aa,aa),linethick2,colorff0000;
ma6:=ema(close,60);


partline(ma6>ref(ma6,1), ma6,colorred);
partline(ma6<ref(ma6,1) , ma6,colorblue);


手数:=ss;


//交易条件
开多条件:=cross(ll1,hh1)&&结算价>ref(结算价,1);
平多条件:=cross(hh1,ll1);
开空条件:=cross(hh1,ll1)&&结算价<ref(结算价,1);
平空条件:=cross(ll1,hh1);
//交易系统

平空:sellshort(平空条件 and holding<0,手数,limitr,c);
平多:sell(平多条件 and holding>0,手数,limitr,c);
开空:buyshort(开空条件 and holding>=0 and time<>closetime(0),手数,limitr,c);
开多:buy(开多条件 and holding<=0 and time<>closetime(0),手数,limitr,c);
//注意先平后开原则


if c-avgenterprice>=6*mindiff then
begin
多止盈:sell(1,holding,market);
end


if avgenterprice-c>=6*mindiff then
begin
空止盈:sellshort(1,holding,market);
end


if avgenterprice-c>=10*mindiff then
begin
多止损:sell(1,holding,market);
end


if c-avgenterprice>=10*mindiff then
begin
空止损:sellshort(1,holding,market);
end

if (time=closetime(0) and not(islastbar)) or (islastbar and remainingtime(closetime(0))<=60)  then 
begin 
收盘平空:sellshort(1,holding,market);	
收盘平多:sell(1,holding,market);
end
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

30

主题

58

帖子

58

积分

等级: 免费版

注册:
2021-6-13
曾用名:
 楼主| 发表于 2024-3-6 18:19 | 显示全部楼层
老师请修改一下,平仓不能等k线走完。达到6个点就平仓
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-3-7 08:52 | 显示全部楼层
这个代码没有关系,实际运行时采用固定时间间隔模式运行策略即可
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

30

主题

58

帖子

58

积分

等级: 免费版

注册:
2021-6-13
曾用名:
 楼主| 发表于 2024-3-14 10:06 | 显示全部楼层
老师请修改一下,实际运行时采用固定时间间隔模式运行策略
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-8-1 07:32 , Processed in 0.106632 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表