以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  收盘全部平仓  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=167554)

--  作者:llq
--  发布时间:2019/1/7 15:35:49
--  收盘全部平仓
老师好,14:58收盘不论多少仓位,按照14:58那根1分钟K线图收盘价,全部平仓,不能留隔夜仓,这个应该怎么写程序。
--  作者:FireScript
--  发布时间:2019/1/7 15:56:10
--  
 你在什么周期上交易的呢?
如果不是1分钟时间是落不到14:58这个点上的。然后价格也需要你自己去引用下。
 暂以1分钟为例说明吧。
 if  time>=165800 then
begin
sell(1,holding,limit,c);//我假设周期是1分钟,这里是价格参数填c。如果是其他周期下需要跨周期引用下,这个参考下callstock函数的使用。
sellshort(1,holding,limit,c);
end

[此贴子已经被作者于2019/1/7 16:09:05编辑过]

--  作者:llq
--  发布时间:2019/1/7 16:08:39
--  
老师,我用的是15分钟的


--  作者:llq
--  发布时间:2019/1/7 16:16:33
--  
老师好:以下是我写的,我用的是15分钟,但是今天到了15:00收盘我看了一下还有仓位,没有全部平仓,信号已经发了出来,请帮助修正到15:55就必须要平仓

IF TIME>=185000 THEN BEGIN
收盘平多:SELL(1,1,MARKET);
收盘平空:SELLSHORT(1,1,MARKET);
END

--  作者:FireScript
--  发布时间:2019/1/7 16:23:45
--  
 那你你只能跨周期引用下小周期的时间和价格了,这个需要用stkind函数实现。

新建一个指标t,代码如下:
t:time;
sp:c;


当前15分钟周期下
t:stkind(\'\',\'t.t\',0,1,0);//1分钟时间
sp:stkind(\'\',\'t.c\',0,1,0);//1分钟周期上的价格c
 if  t=185800 then
begin
sell(1,holding,limit,sp);
sellshort(1,holding,limit,sp);
end