金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 219|回复: 7

请老师看看我编写的对不对,问题出现在哪里?谢谢了

[复制链接]

39

主题

147

帖子

147

积分

Rank: 2

等级: 标准版

注册:
2023-6-14
曾用名:
发表于 2024-10-8 16:10 | 显示全部楼层 |阅读模式
INPUT:手数(1,1,100,1),亏(10,1,80,1),盈(30,1,80,1),跳(1,0,10,1);  

//{MACD}
快DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26);
慢信DEA:=EMA(快DIFF,9);
柱MACD:=(快DIFF-慢信DEA)*2;

柱涨:=柱MACD>=REF(柱MACD,1) ;
柱上涨:=柱MACD>=REF(柱MACD,1) AND 柱MACD >= 0;
柱下涨:=柱MACD>=REF(柱MACD,1) AND 柱MACD < 0 ;
柱跌:=柱MACD<=REF(柱MACD,1) ;
柱上跌:=柱MACD<REF(柱MACD,1) AND 柱MACD >= 0;
柱下跌:=柱MACD<REF(柱MACD,1) AND 柱MACD< 0 ;


快大慢信:=快DIFF>慢信DEA;
快小慢信:=快DIFF<慢信DEA;

//{综合标识多空操作区}
MACD红持区:=快大慢信  AND  柱涨;
MACD红变区:=快大慢信  AND  柱跌;
MACD绿持区:=快小慢信  AND  柱跌;
MACD绿变区:=快小慢信  AND  柱涨;

STICKLINE(MACD红持区,44,49,2,0,RGB(162,81,0)); //红区持股不动..........
STICKLINE(MACD红变区,44,49,2,1,RGB(255,128,128)); //红区多转空或调整.........
STICKLINE(MACD绿持区,44,49,2,0,RGB(64,128,128)); //绿区持股不动............
STICKLINE(MACD绿变区,44,49,2,1,RGB(166,166,166));//绿区空转多或调整.....

//////////////{红灰区止跌K}
////////////////{不创新低K:}
变红K:=C>O;
收盘高昨K:=C>REF(C,1);
红灰止跌K:=MACD红变区 AND  (变红K OR 收盘高昨K);

STICKLINE(红灰止跌K=1,65,70,2,0,RGB(255,106,181)); //红灰止跌画..........

{红灰区止跌K}
{不创新低K:}
////变红K:=C>O;
////收盘高昨K:=C>REF(C,1);
MACD红灰止跌K:=MACD红变区 AND (变红K OR 收盘高昨K);

STICKLINE(MACD红灰止跌K=1,49,54,2,0,RGB(255,106,181)); //红灰止跌画.......


//////////
{天量后一跟k--卖平}
红灰止跌K定位:=BARSLAST(红灰止跌K);
天量:=V=HHV(V,10);
阳天量:=天量=1 AND (c>O OR C=O);
阳天量定位:=BARSLAST(阳天量);
阳天量判断:=REF(阳天量=1,阳天量定位) AND (阳天量定位<红灰止跌K定位 OR 阳天量定位=红灰止跌K定位);
阳天量后一根跌破成立:=IF(阳天量判断,l<REF(l,1),0);


{红灰止跌K--买开}
//全局变量用来记录红灰止跌k最高价
VARIABLE:全局高价=0,比较用全局高价=0,全局上穿后n低价=0;

前一天红灰止跌K:=红灰止跌K;
前一天高价:=HIGH;

IF 前一天红灰止跌K THEN 全局高价:=前一天高价;
IF 前一天红灰止跌K THEN 比较用全局高价:=前一天高价;


记录红灰高价:全局高价+MINDIFF*跳;//////////////////////////////////+++++++跳动
//记录比较用红灰高价:比较用全局高价;
穿前灰红价:=cross(h,记录红灰高价) ;

//IF (REF(穿前灰红价,1) or 绿) THEN 全局高价:=DRAWNULL;//如果上穿成功,那么初始化全局高价为无效数。
IF (REF(穿前灰红价,1) or 快小慢信) THEN 全局高价:=0;//如果上穿成功,那么初始化全局高价为0。

//多头固定止损+移动止盈
多头固定止损:(ENTERPRICE-CLOSE)/MINDIFF>亏;
开仓价:ENTERPRICE;
多头盈利达标:(CLOSE-ENTERPRICE)/MINDIFF>盈;
多头盈利达标后平仓:IF(多头盈利达标,l<REF(l,1),0);

///////////交易条件
开多条件:穿前灰红价 AND HOLDING=0 ;//1--------------
平多条件:((阳天量后一根跌破成立 or ref(快小慢信,1)) or 多头固定止损 or 多头盈利达标) AND holding>0 ;//--------


//交易系统////////////////////////////////开多cross(h,记录红灰高价),穿越后马上成交
开多:BUY(开多条件 ,手数,marketr);
平多:SELL(平多条件,手数,marketr);

请老师看看,以上是我编写的指标,大概意思是macd快线上穿慢线后,当macd柱小于前一个柱子的时候,凡是出现阳线,那么以此根阳线的最高价为基准,后面只要价格上穿,那么就买入,,a:当macd快线下穿慢线,平多。b:当阳线出现天量时,后面只要有任意一根最低价跌破前一根最低价,平多。c:固定止损。d:当盈利达到30跳时,后面后面只要有任意一根最低价跌破前一根最低价,平多。(如图所示)

出现的问题是:
①买入时,如果连续出现阳线,那么不会以第一根上穿最高价时买入,而是后面会陆续抬高,,,我的目的是连续出现阳线以最低的买入。
②平多时,b条件,也是出现问题,不会卖出。
③我写的buy和sell语句能否实现只要一突破就马上买入,一跌破就马上平仓,而不用等到收盘呢?
请老师改正并帮我写下正确的系统,谢谢了
微信图片_20241008144803.png
回复

使用道具 举报

31

主题

7766

帖子

7776

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-10-8 16:36 | 显示全部楼层
记录红灰高价:全局高价+MINDIFF*跳;//////////////////////////////////+++++++跳动
//记录比较用红灰高价:比较用全局高价;
穿前灰红价:h>记录红灰高价 ;

改成直接最高价大于呢,另外你看下记录红会高价这个记录的有没有问题

平多不会卖出你看下是哪个条件没有符合然后和自己预期的不太一样呢

一突破就马上买入,一跌破就马上平仓,而不用等到收盘呢
这个就是盘中下单,运行时候选择固定轮询的模式就可以了
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

39

主题

147

帖子

147

积分

Rank: 2

等级: 标准版

注册:
2023-6-14
曾用名:
 楼主| 发表于 2024-10-8 16:43 | 显示全部楼层
技术008 发表于 2024-10-8 16:36
记录红灰高价:全局高价+MINDIFF*跳;//////////////////////////////////+++++++跳动
//记录比较用红灰高价 ...

记录红灰高价没有问题,只不过是,连续符合条件的时候,都是延续新出的高价,不会买入,,,比较绕口,你复制到软件上一看就明白我说的啥意思了
回复

使用道具 举报

31

主题

7766

帖子

7776

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-10-8 16:45 | 显示全部楼层
大概意思是macd快线上穿慢线后,当macd柱小于前一个柱子的时候,凡是出现阳线,那么以此根阳线的最高价为基准,后面只要价格上穿,那么就买入

那这个就是当前价格和记录的最高价做比较,大于记录价格就买入?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

39

主题

147

帖子

147

积分

Rank: 2

等级: 标准版

注册:
2023-6-14
曾用名:
 楼主| 发表于 2024-10-8 16:51 | 显示全部楼层
技术008 发表于 2024-10-8 16:45
大概意思是macd快线上穿慢线后,当macd柱小于前一个柱子的时候,凡是出现阳线,那么以此根阳线的最高价为基 ...

是滴,假如有两根都是符合条件的阳线,且是连续阳线,那么不会大于就买入,而是等到连续阳线结束后,才会以最后一根阳线买入,,我图上有标识
回复

使用道具 举报

31

主题

7766

帖子

7776

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-10-8 17:15 | 显示全部楼层
穿前灰红价:h>记录红灰高价 and  (c<o or ref(c<o,1));

这样呢,当前或者上一跟k至少有一个是阴线
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

39

主题

147

帖子

147

积分

Rank: 2

等级: 标准版

注册:
2023-6-14
曾用名:
 楼主| 发表于 2024-10-8 17:20 | 显示全部楼层
技术008 发表于 2024-10-8 17:15
穿前灰红价:h>记录红灰高价 and  (c

是滴,这样可以,只要不是连续阳线,都可以正常卖出,,但是只要是连续阳线的情况,也就是连续符合条件,那么就不会执行前一个,只会执行最后一个
我意思是,如何才能只要一出现符合条件阳线就执行。无论是否连续阳线

补充内容 (2024-10-8 17:22):
也正是这样,所以我用到了全局变量,用来记录价格,但是效果还是一样,一遇到连续符合条件的阳线,就不会执行
回复

使用道具 举报

31

主题

7766

帖子

7776

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-10-8 17:22 | 显示全部楼层
上面这个是买入,你卖出不希望连续阳线那就也加上(c<o or ref(c<o,1))
这个就是表示当前或者上一个k是阴线,符合这个条件要求
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 18:15 , Processed in 0.274187 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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