金字塔决策交易系统

标题: 当前价格比持仓成本高1%,则全部卖出 [打印本页]

作者: David    时间: 2023-3-2 19:34
标题: 当前价格比持仓成本高1%,则全部卖出
请教一下,我下面的编码是否正确?谢谢!

//当前价格比持仓成本高1%,则全部卖出
IF C>TAVGENTERPRICE*1.01 AND TIME<145900 AND THOLDING>0 THEN BEGIN
平多:TSELL(开空平多条件,THOLDING,LMT,DYNAINFO(30));
END

作者: 技术009    时间: 2023-3-3 08:58
持仓成本用TAVGENTERPRICEex2 吧

指定下多空。
然后持仓也是,用TBUYHOLDINGEX 替代。
作者: David    时间: 2023-3-3 14:19
请问改为下面的对吗?谢谢!


IF C>TAVGENTERPRICEex2*1.01 AND TIME<145900 AND TBUYHOLDINGEX>0 THEN BEGIN





作者: David    时间: 2023-3-3 14:20
请问改为下面的对吗?谢谢!

平多:TSELL(开空平多条件,TBUYHOLDINGEX,LMT,DYNAINFO(30));
作者: 技术009    时间: 2023-3-3 14:22
平多:TSELL(开空平多条件,0,LMT,DYNAINFO(30));

平仓这里直接写0即可。前面是持仓判断
TBUYHOLDINGEX('','',1) 你参数要传递啊。这是基本函数的使用规范了。
作者: David    时间: 2023-3-3 14:32
请问改为下面的对吗?想要取已经买入的持仓量大于0作为条件,谢谢!

IF C>TAVGENTERPRICEex2*1.01 AND TBUYHOLDINGEX('','',0) >0 THEN BEGIN

平多:TSELL(开空平多条件,0,LMT,DYNAINFO(30));
作者: 技术009    时间: 2023-3-3 14:34
这种代码 你自己先编译下。编译能通过首先语法规范上就不会有错误。

比如你上面取持仓均价又没有传递参数。这种编译下直接就报错提示了。

在线函数说明文档:https://www.weistock.com/docs/PEL/notes/
每个函数都有范例说明的。
作者: David    时间: 2023-3-3 15:03
嗯,试着改了一下,编译后,如下面的图片,但是提示说没有begin,第一句有then begin了呀?不知为何?谢谢!
作者: 技术009    时间: 2023-3-3 15:11
这个报错 所指的位置 并不完全准确。你看下这段代码前后是否有 缺少end的地方。这个只能肉眼硬排查下了。
作者: David    时间: 2023-3-3 15:28
本来这句没有报错缺少begin的,只是变更了这两个参数TAVGENTERPRICEEX2("","",1)和TBUYHOLDINGEX("","",0),就报错缺少begin了,

这是之前的,编译后没有报错,
IF C>TAVGENTERPRICE*1.01 AND TIME<145900 AND THOLDING>0 THEN BEGIN
平多:TSELL(开空平多条件,THOLDING,LMT,DYNAINFO(30));
END

这是现在的,编译后报错缺少begin
IF C>TAVGENTERPRICEEX2("","",1)*1.01 AND TIME<145900 AND TBUYHOLDINGEX("","",0)>0 THEN BEGIN
平多:TSELL(开空平多条件,0,LMT,DYNAINFO(30));
END

另外,请问这句话对吗?IF C>TAVGENTERPRICEEX2("","",1)*1.01 AND TIME<145900 AND TBUYHOLDINGEX("","",0)>0 THEN BEGIN
作者: 技术009    时间: 2023-3-3 16:24
你引号搞错了

IF C>TAVGENTERPRICEEX2('','',1)*1.01 AND TIME<145900 AND TBUYHOLDINGEX('','',0)>0
作者: David    时间: 2023-3-3 17:20
好的,谢谢!




欢迎光临 金字塔决策交易系统 (https://www.weistock.com/bbs/) Powered by Discuz! X3.4