以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=73227) |
-- 作者:sunflower -- 发布时间:2014/12/18 13:13:05 -- 全自动模拟中出现未成交 您好! 今天采用“图表自动交易”,“固定时间间隔1秒”进行全自动模拟交易,我的开平仓语句如下: 做多:=H>=REF(C,1)+1; 平多:=L<=REF(C,1)-1; 发现多处K线上面先满足做多,后满足平多,但却只有做多信号,且实际也只开了多仓,而并未执行平多语句,请问这是为什么? 比如前一根的收盘价是3000点,当根K线开盘价是3000点,先到达3002点,开多,而后再到达2998点,却未执行平仓指令,图上也没有平仓信号。
|
-- 作者:jinzhe -- 发布时间:2014/12/18 13:46:09 -- 没有信号就是没有满足平多条件,你再仔细算算价格是不是满足条件 |
-- 作者:sunflower -- 发布时间:2014/12/18 14:18:05 -- IF1412上运行,今天上午出现很多次这种情况,我都仔细算过了,并且当时也都看到了开多,后来该出平仓信号的时候却没出信号也没平仓,我复制了其中一个例子的逐笔详单和信号图如下,请您确认看下是什么原因: 语句: 做多:=H>=REF(C,1)+1; 平多:=L<=REF(C,1)-1; 举例: 1分钟线的1340那个K线(1339:00-1339:59),前一根K线收盘价为3386.0(参见以下信号截图中鼠标所在位置),这根K线开盘后先到达了3387.0所以开多(参见以下逐笔详单),但再后来向下到达3385.0以下时没有按照语句指令出平仓信号(该K线最低价为3383.0)。今天上午的运行中出现很多次这种情况。
|
-- 作者:jinzhe -- 发布时间:2014/12/18 14:29:37 -- 你先把完整的代码贴出来,你的思路肯定是有地方想错了,没信号100%的是条件没满足,不会是系统问题 |
-- 作者:sunflower -- 发布时间:2014/12/18 14:49:39 -- KD:=H>=REF(C,1)+1; PD:=L<=REF(C,1)-1; IF HOLDING>0 THEN BEGIN IF PD THEN SELL(1,0,THISCLOSE); END IF HOLDING=0 THEN BEGIN IF KD THEN BUY(1,1,THISCLOSE); END
|
-- 作者:jinzhe -- 发布时间:2014/12/18 14:57:22 -- 你把平仓写在开仓后面 |
-- 作者:sunflower -- 发布时间:2014/12/18 15:06:29 -- 我现在对于每根K线上每秒的运行原理或机制不太清楚,还请告知:比如为什么平仓写在开仓前面,就会造成一部分情况不能平仓,但大部分情况都能正常平仓?
|
-- 作者:jinzhe -- 发布时间:2014/12/18 15:08:47 -- 代码是从上往下计算的 那么你把平仓代码写在开仓之前 当代码运算到开仓的时候,平仓代码已经运行过了 平仓是要有开仓才会平仓的,而你的平仓又写在开仓之前,那么必然是运行到开仓时,平仓已经运行过,不会再运行 |
-- 作者:sunflower -- 发布时间:2014/12/18 15:22:18 -- 那请问为什么大部分情况都能平仓? 请看我刚才截图的信号图,运行一上午,有多次出现不能平仓的情况,但90%都是能正常开仓平仓的,按您的这个说法,这么写应该都不能平仓才对。
|
-- 作者:sunflower -- 发布时间:2014/12/18 15:29:21 -- 我明白了! |