金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 507|回复: 17

老师帮忙改下,谢谢

[复制链接]

1

主题

9

帖子

9

积分

Rank: 1

等级: 新手上路

注册:
2025-3-5
曾用名:
发表于 2025-3-5 14:29 | 显示全部楼层 |阅读模式
小白一个,我想设置8个点移动止损,代码放哪个位置都不对,始终不在止损线位置止损,帮我看看呢谢谢
//开始编写属于您自己的交易指标吧!GO!



//MACD参数
DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;

//---交易信号模块---//
BUY_SIGNAL:=CROSS(DIFF,DEA); // 多头信号
SELL_SIGNAL:=CROSS(DEA,DIFF); // 空头信号

//止盈止损信号
STOPLOSS_B:=HHV(HIGH,ENTERBARS)-8*MINDIFF; //多头止损信号
STOPLOSS_S:=LLV(LOW,ENTERBARS)+8*MINDIFF; //空头止损信号
{
IF HOLDING>0 AND CLOSE<STOPLOSS_B THEN BEGIN
        SELL(1,HOLDING,MARKET); //多头止损
END       
IF HOLDING<0 AND CLOSE>STOPLOSS_S THEN BEGIN
        SELLSHORT(1,HOLDING,MARKET); //空头止损       
END
}
//---交易执行模块---//
IF BUY_SIGNAL THEN BEGIN
        IF HOLDING<0 THEN BEGIN
                SELLSHORT(1,HOLDING,MARKET); //平空
                //SELLSHORT(CLOSE>STOPLOSS_S,HOLDING,MARKET); //空头止损
        END       
        IF HOLDING=0 THEN BEGIN
                BUY(1,LOTS,MARKET); //开多       
        END
END

IF SELL_SIGNAL THEN BEGIN
        IF HOLDING>0 THEN BEGIN
                SELL(1,HOLDING,MARKET); //平多
                //SELL(CLOSE<STOPLOSS_B,HOLDING,MARKET); //多头止损
        END
        IF HOLDING=0 THEN BEGIN
                BUYSHORT(1,LOTS,MARKET); //开空
        END
END


//---图表显示模块---//
//显示止损线开始
//STOPLOSS_B:=(HHV(HIGH,ENTERBARS)-(8*MINDIFF));
//STOPLOSS_S:=(LLV(LOW,ENTERBARS)+(8*MINDIFF));
IF HOLDING>0 THEN BEGIN
        多损:STOPLOSS_B,COLORGRAY,LINETHICK1; //多头止损价
END
IF HOLDING<0 THEN BEGIN
        空损:STOPLOSS_S,COLORGRAY,LINETHICK1; //空头止损价
END
//显示止损线结束
当前资产:ASSET,NOAXIS,COLORGRAY,LINETHICK0;
可用现金:CASH(0),COLORGRAY,LINETHICK0;


回复

使用道具 举报

38

主题

9989

帖子

9999

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-3-5 14:31 | 显示全部楼层
//移动止损部分************************
//求出持仓以来的最高价或最低价,通过与当前价做比较,判断资金回落的幅度
DTYDZS:=(HHV(H,ENTERBARS)-CLOSE)/AVGENTERPRICE>=0.1;
KTYDZS:=(CLOSE-LLV(L,ENTERBARS))/AVGENTERPRICE>=0.1;
SELL(DTYDZS,0,MARKET);
SELLSHORT(KTYDZS,0,MARKET);


看这个范例,一开始不建议直接使用ai写代码,特别是在你对代码一点都看不懂的情况下
//*************************************

//下单
SELL(COND2,0,MARKET);
SELLSHORT(COND1,0,MARKET);

BUY(COND1,30%,MARKET);
BUYSHORT(COND2,30%,MARKET);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

9

帖子

9

积分

Rank: 1

等级: 新手上路

注册:
2025-3-5
曾用名:
 楼主| 发表于 2025-3-5 14:52 | 显示全部楼层
STOPLOSS_B:=HHV(HIGH,ENTERBARS)-8*MINDIFF; //多头止损信号
STOPLOSS_S:=LLV(LOW,ENTERBARS)+8*MINDIFF; //空头止损信号
这个有问题?

//MACD参数
DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;

//---交易信号模块---//
BUY_SIGNAL:=CROSS(DIFF,DEA); // 多头信号
SELL_SIGNAL:=CROSS(DEA,DIFF); // 空头信号

//止盈止损信号
STOPLOSS_B:=HHV(HIGH,ENTERBARS)-8*MINDIFF; //多头止损信号
STOPLOSS_S:=LLV(LOW,ENTERBARS)+8*MINDIFF; //空头止损信号

//---交易执行模块---//
IF BUY_SIGNAL THEN BEGIN
        IF HOLDING<0 THEN BEGIN
                SELLSHORT(1,HOLDING,MARKET); //平空
                //头寸计算
        END      
        IF HOLDING=0 THEN BEGIN
                BUY(1,1,MARKET); //开多      
        END
END

IF SELL_SIGNAL THEN BEGIN
        IF HOLDING>0 THEN BEGIN
                SELL(1,HOLDING,MARKET); //平多
                //头寸计算
        END
        IF HOLDING=0 THEN BEGIN
                BUYSHORT(1,1,MARKET); //开空
        END
END


//---图表显示模块---//
//显示止损线开始
//STOPLOSS_B:=(HHV(HIGH,ENTERBARS)-(8*MINDIFF));
//STOPLOSS_S:=(LLV(LOW,ENTERBARS)+(8*MINDIFF));
IF HOLDING>0 THEN BEGIN
        多损:STOPLOSS_B,COLORGRAY,LINETHICK1; //多头止损价
END
IF HOLDING<0 THEN BEGIN
        空损:STOPLOSS_S,COLORGRAY,LINETHICK1; //空头止损价
END
//显示止损线结束
当前资产:ASSET,NOAXIS,COLORGRAY,LINETHICK0;
可用现金:CASH(0),COLORGRAY,LINETHICK0;


看过了也试过了,照抄过来都不行,不加止损就正常的,这个和上面的例子有什么不一样吗
回复

使用道具 举报

38

主题

9989

帖子

9999

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-3-5 14:57 | 显示全部楼层
你这里应该是要写平仓动作把,但是你写的是输出止损价是为何
所以我怀疑你是不是用的ai生成代码,自己对这个逻辑一点都没去看下
截图202503051457186618.png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

9

帖子

9

积分

Rank: 1

等级: 新手上路

注册:
2025-3-5
曾用名:
 楼主| 发表于 2025-3-5 15:00 | 显示全部楼层
这个是在图表上显示止损价线的,写平仓动作也试了的,不得按止损价止损
回复

使用道具 举报

38

主题

9989

帖子

9999

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-3-5 15:06 | 显示全部楼层
STOPLOSS_B:=HHV(HIGH,ENTERBARS)-c>8*MINDIFF; //多头止损信号
STOPLOSS_S:=c-LLV(LOW,ENTERBARS)>8*MINDIFF; //空头止损信号

if STOPLOSS_B then sell(1,holding,marketr);
if STOPLOSS_S then sellshort(1,holding,marketr);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

9

帖子

9

积分

Rank: 1

等级: 新手上路

注册:
2025-3-5
曾用名:
 楼主| 发表于 2025-3-5 15:30 | 显示全部楼层
试了还是不行啊,和我最开始写那个感觉一样啊,试了无数回不行啊
截图202503051527121710.png
截图202503051528089737.png
回复

使用道具 举报

1

主题

9

帖子

9

积分

Rank: 1

等级: 新手上路

注册:
2025-3-5
曾用名:
 楼主| 发表于 2025-3-5 15:32 | 显示全部楼层
中间白线是止损线,该止损没有止损
回复

使用道具 举报

1

主题

9

帖子

9

积分

Rank: 1

等级: 新手上路

注册:
2025-3-5
曾用名:
 楼主| 发表于 2025-3-5 15:38 | 显示全部楼层
你看最后开空之后马上又平空
回复

使用道具 举报

38

主题

9989

帖子

9999

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-3-5 15:38 | 显示全部楼层
STOPLOSS_B:HHV(HIGH,ENTERBARS)-c>8*MINDIFF; //多头止损信号

你看下这个条件呢,现在这个是开仓以来最高价-当前的收盘价 大于8跳就平仓

你可以自己修改价格比如把high改成close都可以,建议用户自己去学习下写代码和看代码
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-18 21:36 , Processed in 0.272748 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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