金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1800|回复: 2

这两种写法有什么区别?

[复制链接]

6

主题

23

帖子

23

积分

Rank: 1

等级: 新手上路

注册:
2023-6-5
曾用名:
发表于 2023-6-15 09:09 | 显示全部楼层 |阅读模式
昨天那个复杂的交易模块老师们没时间看,只好自己一段段拆分了调试,发现好像就是BUY命令的问题,想请教一下,以下两段代码有什么区别,为何第一种能执行,第二种就无法执行?其实条件完全一样,只是把buy中一个条件移到前面的if中。buy/sell  这些指令中的CON有什么限制吗?
[PEL] 复制代码
IF 确认多=1 and 开多次数=0  and (大趋势=1 OR  大趋势=4)  THEN BEGIN
   趋买市开多:BUY(holding=0,手数,MARKET);   
   开多次数:=1;
   开多状态:=1;//开仓状态1,多趋势首仓,2多趋势加仓,3震荡仓和空趋势下的多仓
   END   



第二种不能执行
[PEL] 复制代码
 IF (大趋势=1 OR  大趋势=4) AND 开多次数=0 THEN BEGIN
   趋买市开多:BUY(确认多=1 AND HOLDING=0,手数,THISCLOSE);   
   开多次数:=1;
   开多状态:=1;//开仓状态1,多趋势首仓,2多趋势加仓,3震荡仓和空趋势下的多仓
   END  

回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-15 09:36 | 显示全部楼层
你这个语句是不一样的。不一样的地方在于,下单语句之外的赋值语句 会因为你2种写法不一样,造成结果有差异。

第二种情况 “确认多=1 ” 不满足的情况下,后面的变量也会赋值,从而引发一些列差异。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

6

主题

23

帖子

23

积分

Rank: 1

等级: 新手上路

注册:
2023-6-5
曾用名:
 楼主| 发表于 2023-6-15 09:55 | 显示全部楼层
技术009 发表于 2023-6-15 09:36
你这个语句是不一样的。不一样的地方在于,下单语句之外的赋值语句 会因为你2种写法不一样,造成结果有差异 ...

明白了,谢谢老师解答
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-16 03:20 , Processed in 0.153587 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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