以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=165619) |
-- 作者:陈志海11 -- 发布时间:2018/9/20 16:07:21 -- 表达不一致 INPUT:N(30,1,250,10); MA30:MA(CLOSE,N); A:CLOSE-AVGENTERPRICE; B:CLOSE-MA30; D:AVGENTERPRICE-CLOSE; E:MA30-CLOSE; IF CROSS(CLOSE,MA30) AND HOLDING=0 THEN BEGIN BUY(1,20%,MARKET); END IF A>0 AND A>=3*B AND CROSS(MA30,CLOSE) THEN BEGIN SELL(1,HOLDING=0,MARKET); END IF A<0 AND CROSS(MA30,CLOSE) THEN BEGIN SELL(1,HOLDING,MARKET); END IF CROSS(MA30,CLOSE) AND HOLDING=0 THEN BEGIN BUYSHORT(1,20%,MARKET); END IF D<0 AND CROSS(CLOSE,MA30) THEN BEGIN SELLSHORT(1,HOLDING,MARKET); END IF D>0 AND D>=3*E AND CROSS(CLOSE,MA30) THEN BEGIN SELLSHORT(1,HOLDING ,MARKET); END 这段加载在图表上变成只做空,不做多,我要表达的意思是k线上穿均线做多,k线下穿均线做空,哪里错了? |
-- 作者:wenarm -- 发布时间:2018/9/20 16:24:46 -- 图表不支持锁仓,开仓之前必须先平反向仓位。 如果你开平条件各不相同,就有可能出现你当前的现象。 [此贴子已经被作者于2018/9/20 16:25:53编辑过]
|
-- 作者:FireScript -- 发布时间:2018/9/20 16:27:29 -- 图表上需要按照开多之前要平空,开空之前要平多原则来编写代码。你需要在代码里面实现触发开多条件时候也要平空才行,开空同理。 |
-- 作者:FireScript -- 发布时间:2018/9/20 16:42:58 -- 我又看了下。调整下代码顺序。 再简化下代码: INPUT:N(30,1,250,10);
MA30:MA(CLOSE,N); A:CLOSE-AVGENTERPRICE; B:CLOSE-MA30; D:AVGENTERPRICE-CLOSE; E:MA30-CLOSE; IF ((D>0 AND D>=3*E) or D<0) AND CROSS(CLOSE,MA30) THEN BEGIN SELLSHORT(holding<0,HOLDING ,MARKET); BUY(holding=0,20%,MARKET); END IF ((A>0 AND A>=3*B) or A<0) AND CROSS(MA30,CLOSE) THEN BEGIN SELL(holding>0,HOLDING,MARKET); BUYSHORT(holding=0,20%,MARKET); END [此贴子已经被作者于2018/9/20 16:48:50编辑过]
|
-- 作者:陈志海11 -- 发布时间:2018/9/21 15:34:31 -- 要开多之前先平空,那吧平空的条件放在前面可以吗? |
-- 作者:陈志海11 -- 发布时间:2018/9/21 15:36:22 -- 就是当平空的条件和开多条件不同的时候,吧平空的条件放在前面,然后在写开多的条件可以吗 |