金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3154|回复: 7

老师,怎么写加仓信号

[复制链接]

5

主题

22

帖子

32

积分

Rank: 2

等级: 标准版

注册:
2021-5-20
曾用名:
发表于 2021-11-29 13:42 | 显示全部楼层 |阅读模式
//多头加仓


if close-AVGENTERPRICE()>10 and holding>0 and flag=0 then
begin
    buy(1,1,MARKET);
    flag:=1;
end

//空头加仓

if close+AVGENTERPRICE()>10 and holding<0 and flag=0 then
begin
    BUYSHORT(1,1,MARKET);
    flag:=1;
end



我这样写,图表上没有显示加仓信号



补充内容 (2021-11-29 13:51):
定义了全局变量variable:=flag=0;

补充内容 (2021-11-29 13:53):
定义了全局变量VARIABLE:FLAG=0;
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-11-29 13:45 | 显示全部楼层
这一段代码看不出什么问题的啊。你最好提供完整点的代码。代码是否奏效也要看上下文怎样衔接的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

5

主题

22

帖子

32

积分

Rank: 2

等级: 标准版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2021-11-29 13:55 | 显示全部楼层
//定义参数
INPUT:M(14,1,100,10),N(33,1,100,10),ss(1,1,100,10);


//全局变量

VARIABLE:flag=0;


//中间变量

A:=DMA(CLOSE,N/100);
B:=DMA(CLOSE,M/100);
J:=WMA(CLOSE,55);

//划线部分

STICKLINE(A >= B,A,B,6,0,65535),STICK;     //在图表中画出粉红色的柱状线
STICKLINE(A <= B,A,B,6,0,16711935),STICK;  //在图表中画出黄色的柱状线

舵手:J,LINETHICK2,COLORGREEN;              //在图表中画出绿色的趋势线,作用于交易系统的参考线
PARTLINE(J>REF(J,5),J,255,2,0),LINETHICK2; //在图表中画出分段的趋势线,作用于交易系统的参考线


A,LINEDOT,COLORGRAY;//在图表中画出N(33)周期收盘价的虚线
B,LINEDOT,COLORGRAY;//在图表中画出M(14)周期收盘价的虚线

//交易条件

手数:=ss;

开多平空条件:=CROSS(J,REF(J,5));//开多平空条件
开空平多条件:=CROSS(REF(J,5),J);//开空平多条件


//交易系统


平空:SELLSHORT(开多平空条件,0,MARKET);
平多:SELL(开空平多条件,0,MARKET);
开多:BUY(开多平空条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);


//多头加仓


if close-AVGENTERPRICE()>10 and holding>0 and flag=0 then
begin
    buy(1,1,MARKET);
    flag:=1;
end

//空头加仓

if close+AVGENTERPRICE()>10 and holding<0 and flag=0 then
begin
    BUYSHORT(1,1,MARKET);
    flag:=1;
end
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-11-29 14:01 | 显示全部楼层
[PEL] 复制代码
INPUT:M(14,1,100,10),N(33,1,100,10),ss(1,1,100,10);


//全局变量

VARIABLE:flag=0;


//中间变量

A:=DMA(CLOSE,N/100);
B:=DMA(CLOSE,M/100);
J:=WMA(CLOSE,55);

//划线部分

STICKLINE(A >= B,A,B,6,0,65535),STICK;     //在图表中画出粉红色的柱状线
STICKLINE(A <= B,A,B,6,0,16711935),STICK;  //在图表中画出黄色的柱状线

舵手:J,LINETHICK2,COLORGREEN;              //在图表中画出绿色的趋势线,作用于交易系统的参考线
PARTLINE(J>REF(J,5),J,255,2,0),LINETHICK2; //在图表中画出分段的趋势线,作用于交易系统的参考线


A,LINEDOT,COLORGRAY;//在图表中画出N(33)周期收盘价的虚线
B,LINEDOT,COLORGRAY;//在图表中画出M(14)周期收盘价的虚线

//交易条件

手数:=ss;

开多平空条件:=CROSS(J,REF(J,5));//开多平空条件
开空平多条件:=CROSS(REF(J,5),J);//开空平多条件


//交易系统


if 开多平空条件 and holding<0 then 
begin 
平空:SELLSHORT(开多平空条件,0,MARKET);
flag:=0;//平仓后重置全局变量。	
end 

if 开空平多条件 and holding>0  then 
begin 
平多:SELL(开空平多条件,0,MARKET);
flag:=0;//平仓后重置全局变量。
end 
开多:BUY(开多平空条件 and holding=0,手数,MARKET);
开空:BUYSHORT(开空平多条件 and holding=0,手数,MARKET);


//多头加仓


if C-AVGENTERPRICE>10*MINDIFF and holding>0 and flag=0 then 
begin
    多加仓:buy(1,1,MARKET);
    flag:=1;
end

//空头加仓

if AVGENTERPRICE-C>10*MINDIFF and holding<0 and flag=0 then
begin
    空加仓:BUYSHORT(1,1,MARKET);
    flag:=1;
end


变更:1.平仓后重置全局变量 2.空盈利10点加仓地方原先写错了,已纠正。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

5

主题

22

帖子

32

积分

Rank: 2

等级: 标准版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2021-11-29 14:04 | 显示全部楼层
好的,谢谢老师了,您辛苦了
回复

使用道具 举报

5

主题

22

帖子

32

积分

Rank: 2

等级: 标准版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2021-11-29 14:42 | 显示全部楼层
老师,在此基础上,能不能在给我添加一套移动止盈条件

条件是     最高点回撤30跳,就平多        最低点回撤30跳     就平空   谢谢了老师
         
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-11-29 15:08 | 显示全部楼层
[PEL] 复制代码
INPUT:M(14,1,100,10),N(33,1,100,10),ss(1,1,100,10);
 
 
//全局变量
 
VARIABLE:flag=0;
 
 
//中间变量
 
A:=DMA(CLOSE,N/100);
B:=DMA(CLOSE,M/100);
J:=WMA(CLOSE,55);
 
//划线部分
 
STICKLINE(A >= B,A,B,6,0,65535),STICK;     //在图表中画出粉红色的柱状线
STICKLINE(A <= B,A,B,6,0,16711935),STICK;  //在图表中画出黄色的柱状线
 
舵手:J,LINETHICK2,COLORGREEN;              //在图表中画出绿色的趋势线,作用于交易系统的参考线
PARTLINE(J>REF(J,5),J,255,2,0),LINETHICK2; //在图表中画出分段的趋势线,作用于交易系统的参考线
 
 
A,LINEDOT,COLORGRAY;//在图表中画出N(33)周期收盘价的虚线
B,LINEDOT,COLORGRAY;//在图表中画出M(14)周期收盘价的虚线
 
//交易条件
 
手数:=ss;
 
开多平空条件:=CROSS(J,REF(J,5));//开多平空条件
开空平多条件:=CROSS(REF(J,5),J);//开空平多条件




 
 
//交易系统

if 开多平空条件 and holding<0 then
begin
平空:SELLSHORT(开多平空条件,0,MARKET);
flag:=0;//平仓后重置全局变量。    
end
 
if 开空平多条件 and holding>0  then
begin
平多:SELL(开空平多条件,0,MARKET);
flag:=0;//平仓后重置全局变量。
end

Len1:=BARSLAST(开多平空条件);
Len2:=BARSLAST(开空平多条件);


//需要注意的是这里最高最低价 判断的是收盘价 也可以改成最高,最低价
H1:=hhv(c,Len1);//开仓以来最高价,不包含开仓K在内
L1:=llv(c,Len2);//开仓以来最低价
if  H1-c>=30*MINDIFF and  holding>0 then 多回撤平仓:sell(1,holding,market);
if  C-L1>=30*MINDIFF and  holding<0 then 空回撤平仓:sellshort(1,holding,market);



开多:BUY(开多平空条件 and holding=0,手数,MARKET);
开空:BUYSHORT(开空平多条件 and holding=0,手数,MARKET);
 
 
//多头加仓
 
 
if C-AVGENTERPRICE>10*MINDIFF and holding>0 and flag=0 then
begin
    多加仓:buy(1,1,MARKET);
    flag:=1;
end
 
//空头加仓
 
if AVGENTERPRICE-C>10*MINDIFF and holding<0 and flag=0 then
begin
    空加仓:BUYSHORT(1,1,MARKET);
    flag:=1;
end



需要注意的是这里开仓后的最高最低价 判断的是收盘价 也可以改成最高,最低价。
2种方式在回测效果上有会一些差异。  
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

5

主题

22

帖子

32

积分

Rank: 2

等级: 标准版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2021-11-29 15:20 | 显示全部楼层
很感谢老师耐心的服务,再次感谢老师无私的帮助,祝老师财源广进,发大财
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 13:32 , Processed in 0.290248 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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