金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2963|回复: 3

求教老师解答下谢谢

[复制链接]

10

主题

52

帖子

52

积分

等级: 免费版

注册:
2022-9-18
曾用名:
发表于 2022-10-14 07:40 | 显示全部楼层 |阅读模式
老师好:请教下问题,先谢谢老师屡次的热心帮助!
a1,同个公式在两台电脑上测试,结果出现不同结果,数据都补充了,这是什么原因哦,费率一致都设置了 测试品种为:山东海化,时间:20211001-20221001
a2,我这个公式加上了当日买进次日才能卖出了,怎么还有当日买进,接着当日平仓的情况,哪里没写对吗
b1,公式写成 买进卖出预警的话这样写对吗,
b2,开仓量d写成:d=100%不识别,如果全仓的话改怎么写呢

【A1和a2公式问题公式:】
//金字塔学习
CLOSEPOSMODE:1; //指定图表理论平仓模式为优先平老仓
ODDLOTSMODE:1;  //不允许零股交易,例如股票将按照最小100股单位调整
input: b(3,3,60,1),s(5,5,60,1),
dt(10,5,60,1),
cy(13,5,60,1),;
//引用
mac:="ma引用.ma1#day";                              
mab:=ma(mac,b);         
rmab:ref(mab,1) ;
MAs:=MA(mac,s) ;      
rmas:ref(mas,1) ;      ;
madt:=ma(mac,dt);                 
rmadt:ref(madt,1) ;               
macy:=ma(mac,cy);               
rmacy:ref(macy,1) ;
//持仓
可平:=HOLDING-DAYHOLDING;
持仓:=ref(可平,1)>0;

//买进条件
买进:=h>ref(MAB,1);     
多头:=madt>ref(madt,1);
超越:=h>macy;           
不能涨停:=mac/ref(mac,1)<1.095;
买进条件:=买进 and 多头  and 超越 and 不能涨停;

//卖出条件+持仓
卖出:=l<ref(mas,1);
卖出条件:=持仓 and 卖出;
//止损条件+持仓
止损:=(AVGENTERPRICE-c)/AVGENTERPRICE>=0.02  and 持仓;
//交易系统
开多:BUY(买进条件, 100%,   thisclose);
平多:SELL(卖出条件 or 止损 ,100%,  thisclose);
//说明
//持仓:holding, COLORcyan  linethick0;
资产:asset,noaxis , colorred, linethick0;
//可用现金:cash(0),linethick0;

【b1和b2公式问题公式:为上面的改的】
CLOSEPOSMODE:1; //指定图表理论平仓模式为优先平老仓
ODDLOTSMODE:1;  //不允许零股交易,例如股票将按照最小100股单位调整
input: b(3,3,60,1),s(5,5,60,1),
dt(15,5,60,1),
cy(19,5,60,1),;
//引用
mac:="ma引用.ma1#day";//ma1为引用的收盘价                              
mab:=ma(mac,b),colorred;        
rmab:ref(mab,1),colorred ;{买卖点}
MAs:=MA(mac,s) ,COLORYELLOW;      
rmas:ref(mas,1), colorgreen;      
madt:=ma(mac,dt);                 
rmadt:ref(madt,1) ;               
macy:=ma(mac,cy);              
rmacy:ref(macy,1) ;
//持仓
可平:=HOLDING-DAYHOLDING;
持仓:=ref(可平,1)>0;
//买进条件
买进:=h>ref(MAB,1);     
多头:=madt>ref(madt,1);
超越:=h>macy;         
不能涨停:=mac/ref(mac,1)<1.095;
买进条件:=买进 and 多头  and 超越 and 不能涨停;
//卖出条件+持仓
卖出:=l<ref(mas,1);
卖出条件:=持仓 and 卖出;
//止损条件+持仓
止损:=(AVGENTERPRICE-c)/AVGENTERPRICE>=0.02  and 持仓;
//开仓量
D:=10;
//交易系统
if 买进条件 then
        begin
        AA:=BUY(买进条件,d,MARKET);
        DEBUGFILE('C:\Users\Administrator\Desktop\TEST.TXT','当前合约:'+stklabel &' 买卖手数:'&numtostr(d,0),           0);   
    numtostr(买进条件,0)-1;   //将开多转化为字符串,精确到小数后0位数, -1;
   end
if 卖出条件 or 止损  then
begin
BB:=SELL(卖出条件 or 止损,HOLDING,MARKET);
DEBUGFILE('C:\SY\TEST.TXT','当前合约:'+stklabel &'    买卖手数:'&numtostr(1,0),0);
numtostr(卖出条件 or 止损,0)-1;
end
//说明
//持仓:holding, COLORcyan  linethick0;
资产:asset,noaxis , colorred, linethick0;
//可用现金:cash(0),linethick0;



回复

使用道具 举报

37

主题

9972

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2022-10-14 08:34 | 显示全部楼层
1.检查相应的设置。并再确认下:右键数据查看下相应周期的数据在这个时段内数据量是否一样
2.平多:SELL(卖出条件 or 止损 ,100%,  thisclose);//股票可平都得到的,自然这里的下单数量需要时是可平的数量。而100%代表全部持仓,自然包括当天开的。
3. 这个没有办法帮你判断,只能说语法没有错误。预警和程序化之间没有区别,只是对条件进行预警而不是直接委托处理。预警只要监控相应的条件即可。
4.这种方式不行。100%只能直接作为参数写在buy这类交易函数中。像你第一个策略的方式一样
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

10

主题

52

帖子

52

积分

等级: 免费版

注册:
2022-9-18
曾用名:
 楼主| 发表于 2022-10-14 09:08 | 显示全部楼层
老师,这个数据也没问题啊,您帮忙看下什么原因呢?
另外,第二条问题,那卖出该怎么写才能不把当天买进的卖出了,谢谢
666.png
回复

使用道具 举报

38

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2022-10-14 09:23 | 显示全部楼层
可平:=HOLDING-DAYHOLDING;
SELL(卖出条件 or 止损,可平,MARKET);

把一台电脑软件安装目录下data这整个文件夹拷贝到另一台电脑然后进行测试对比
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-8 11:59 , Processed in 0.167137 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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