以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  请教昨天问题  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=174170)

--  作者:markss
--  发布时间:2020/2/6 11:24:13
--  请教昨天问题
一次开全部仓的代码,请指教有没有问题。还是我设置不对,图表交易我SHIFT+Q后对话框选择每间隔一秒,和这个有关系吗
nput : 止盈点数(200,100,1000,100);
input : 止损点数(200,100,1000,100);
input:间距(20,10,1000,10);
VARIABLE:POSITIONCOUNT=1;
VARIABLE:ENTANDEXITSIGN=1,entpoint=0,EXITPOINT=0;//
VARIABLE:盈损标准=0;
VARIABLE:止盈=0;
VARIABLE:止损=0;


jjjj:=间距*MINDIFF();
if c>=止盈 and holding>0 then 
begin
   平多盈:sell(1,holding,market);
   POSITIONCOUNT:=1;
end
if c<= 止损 and holding>0 then
begin
   平多损:sell(1,holding,market); 
    POSITIONCOUNT:=1;
end

entpoint:=ENTERBARS+1; 
IF entpoint=ENTANDEXITSIGN THEN BEGIN{头寸成功} 
POSITIONCOUNT:=POSITIONCOUNT+1;{头寸计数} 

END 
IF POSITIONCOUNT=1 THEN BEGIN{第一头寸} 

开1:BUY(holding=0,1,MARKET);{在20日新高STOP指令买进}
 盈损标准:=ENTERPRICE;
   
止盈:=盈损标准+止盈点数*MINDIFF;
止损:=盈损标准-止损点数*MINDIFF;
END 
IF POSITIONCOUNT=2 THEN BEGIN{如到第二头寸} 

开2:BUY(c<=ENTERPRICE-jjjj*MINDIFF,1,MARKET);
END 
IF POSITIONCOUNT=3 THEN BEGIN{如到第三头寸} 

开3:BUY(c<=ENTERPRICE-jjjj*MINDIFF,1,MARKET);
END 
IF POSITIONCOUNT=4 THEN BEGIN 

开4:BUY(c<=ENTERPRICE-jjjj*MINDIFF,1,MARKET); 
END 

--  作者:wenarm
--  发布时间:2020/2/6 11:34:42
--  

图表交易我SHIFT+Q后对话框选择每间隔一秒,???、

什么意思?

 

你现在遇到的是什么问题,单独给代码。没有分析意义


--  作者:markss
--  发布时间:2020/2/6 13:32:12
--  
我现在的问题是比如我设定最大4手,每一次下1手,但是现在是一次就下4手。
这段代码是于图表交易,图表交易SHIFT+Z不是调出对话框嘛,对话框里有选项,第一项是信号执行,里面两个选项,一个是间隔多少秒,一个是走完一根K线,
这两个选项会是造成这个问题的原因吗,有没有关系,还是哪不对。

--  作者:FireScript
--  发布时间:2020/2/6 13:45:44
--  
和那2个模式没有关系的。

我加载了你的策略。暂时没看到信号在一个K上同时触发的情况。  你最好提供下你当时同时下四单的交易日志。从日志里能看到这四个单子是如何下的。有可能是设置了下单系数导致的。

建议提供下当时的下单日志。



--  作者:markss
--  发布时间:2020/2/6 14:10:35
--  
是的,加载图表上看不出来,实际在跑的过程中是这个情况。以下是我今天的日志,麻烦了。
2020-02-06 11:20:10.186    【回报】MN000206 : 登录成功
2020-02-06 13:36:14.492    【下单】HG03 价2.621500 量2 买卖1 类型0 开平1 账户MN000206 Formula 0
2020-02-06 13:36:15.764    【下单】已提交,订单ID :10099
2020-02-06 13:36:15.964    【指令】收到回报指令 ID = 10099
2020-02-06 13:36:16.003    【回报】MN000206 : HG03 - 已报单 2 价格:2.6215  卖
2020-02-06 13:36:16.006    【指令】收到回报指令 ID = 10099
2020-02-06 13:36:16.009    【指令】收到Order回报指令 ID = 10099 Status = 3
2020-02-06 13:36:16.059    【指令】收到回报指令 ID = 10099
2020-02-06 13:36:16.061    【指令】收到Order回报指令 ID = 10099 Status = 1
2020-02-06 13:36:16.065    【指令】收到成交回报指令 ORDERID = 10099
2020-02-06 13:36:16.069    【指令】平仓计量 EBuy:0 ESell:1
2020-02-06 13:36:16.073    【回报】MN000206 : HG2003 - 已成交 1 价格:2.6215  卖
2020-02-06 13:36:16.210    【指令】收到成交回报指令 ORDERID = 10099
2020-02-06 13:36:16.211    【指令】平仓计量 EBuy:0 ESell:0
2020-02-06 13:36:16.311    【回报】MN000206 : HG2003 - 已成交 1 价格:2.6215  卖
2020-02-06 13:36:16.312    【回报】MN000206 : HG2003 - 全部成交 2
2020-02-06 13:36:16.319    【指令】收到回报指令 ID = 10099
2020-02-06 13:36:40.713    【图表】HG03 运行完毕
2020-02-06 13:36:42.200    【同步】MN000206 : HG03 理论持仓 多9 空0 实际持仓 多0 空0
2020-02-06 13:36:42.201    【图表】HG03 理论持仓比实际持仓大,需要补仓
2020-02-06 13:36:42.225    【下单】HG03 价0.000000 量9 买卖0 类型1 开平0 账户MN000206 Formula 1
2020-02-06 13:36:42.227    【下单】已提交,订单ID :10100
2020-02-06 13:36:42.349    【指令】收到回报指令 ID = 10100
2020-02-06 13:36:42.380    【回报】MN000206 : HG03 - 已报单 9 价格:0.0000  买
2020-02-06 13:36:42.381    【指令】收到回报指令 ID = 10100
2020-02-06 13:36:42.382    【指令】收到Order回报指令 ID = 10100 Status = 3
2020-02-06 13:36:42.409    【指令】收到成交回报指令 ORDERID = 10100
2020-02-06 13:36:42.411    【指令】平仓计量 EBuy:0 ESell:0
2020-02-06 13:36:42.416    【回报】MN000206 : HG2003 - 已成交 9 价格:2.6205  买
2020-02-06 13:36:42.417    【回报】MN000206 : HG2003 - 全部成交 9
2020-02-06 13:36:42.419    【指令】收到回报指令 ID = 10100
2020-02-06 13:40:13.653    【图表】HG03 运行完毕
2020-02-06 14:06:36.564    【图表】HG00 运行完毕
2020-02-06 14:06:43.683    【持仓监控】理论多头持仓比实际持仓小,需要平仓
2020-02-06 14:06:43.684    【下单】HG03 价0.000000 量9 买卖1 类型1 开平1 账户MN000206 Formula 1
2020-02-06 14:06:43.685    【下单】已提交,订单ID :10101
2020-02-06 14:06:43.885    【指令】收到回报指令 ID = 10101
2020-02-06 14:06:43.918    【回报】MN000206 : HG03 - 已报单 9 价格:0.0000  卖
2020-02-06 14:06:43.928    【指令】收到回报指令 ID = 10101
2020-02-06 14:06:43.929    【指令】收到Order回报指令 ID = 10101 Status = 3
2020-02-06 14:06:43.967    【指令】收到成交回报指令 ORDERID = 10101
2020-02-06 14:06:43.968    【指令】平仓计量 EBuy:0 ESell:0
2020-02-06 14:06:43.975    【回报】MN000206 : HG2003 - 已成交 9 价格:2.6190  卖
2020-02-06 14:06:43.977    【回报】MN000206 : HG2003 - 全部成交 9
2020-02-06 14:06:43.978    【指令】收到回报指令 ID = 10101


--  作者:FireScript
--  发布时间:2020/2/6 14:19:57
--  
这个日志是今天的啊。不过能看出来你用了持仓同步功能  所以当时的单子不是模型下的。是持仓同步功能下的。
你当时的实际持仓和虚拟持仓可能有差异,程序会根据差值 去补全。




--  作者:markss
--  发布时间:2020/2/6 14:54:27
--  
我应该怎么设置?



--  作者:FireScript
--  发布时间:2020/2/6 15:01:03
--  
这个勾选先去掉:

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看



--  作者:markss
--  发布时间:2020/2/6 16:26:43
--  
OK,我先试试,感谢。
--  作者:markss
--  发布时间:2020/2/6 20:27:29
--  
应该就是这个问题,试到现在没出现过问题,非常感谢。