以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=165524)

--  作者:wy93222357
--  发布时间:2018/9/14 11:28:46
--  如何将最后交易时间往后延一天,
各位大师:我做了一个日内交易模型,最后交易时间是设在当日的收盘平仓出局,现在想将最后交易时间往后延一天,到第二天的收盘时间再平仓出局,请教各位大师,这句应当如何写?
--  作者:FireScript
--  发布时间:2018/9/14 13:18:22
--  
 有个思路,平仓时加一个这个判断条件:
cd:ENTERBARS>TODAYBAR;

开仓历时比当日K数量大,也就是意味着是昨日开仓的。因此今天可以触发平仓。

--  作者:fly
--  发布时间:2018/9/14 13:20:17
--  
是图表程序化交易吗?可以用一个全局变量作为开关,加到之前的收盘前平仓的条件里
--  作者:wy93222357
--  发布时间:2018/9/14 15:39:42
--  
是图表程序化交易,能具体写一下吗,

日内平仓是这样写的
IF  TIME>=185700 THEN BEGIN/
 SELL(HOLDING >0, QTYa1,MARKETR),ORDERQUEUE;
       END  


--  作者:wy93222357
--  发布时间:2018/9/14 15:43:06
--  
这是指持有多头仓位,现在是想把持仓时间延长到第二天收盘再平仓,
--  作者:FireScript
--  发布时间:2018/9/14 16:45:50
--  
 以下是一个简单的范例,可供参考。
A:=20;
B:=10;
SS:=1;
MA1:=MA(CLOSE,A);
MA2:=MA(CLOSE,B);

手数:=ss;

开多条件:=CROSS(MA1,MA2);//开多平空条件

开多:BUY(开多条件 and holding=0,手数,MARKET);

IF TIME=CLOSETIME(0) and ENTERBARS>TODAYBAR then
begin
sell(holding>0,holding,market);
end


hd:holding;
--  作者:wy93222357
--  发布时间:2018/9/14 17:06:19
--  
谢谢!我再理解消化一下。
--  作者:wy93222357
--  发布时间:2018/9/17 9:44:57
--  
大师:TODAYBAR 函数在逐K线模式下不能直接在IF控制语句之内引用
--  作者:FireScript
--  发布时间:2018/9/17 9:49:00
--  
 一般这样处理,涉及到不能在if控制语句下使用的函数可以这样做。

z:TODAYBAR;//定义一个变量存储这个函数返回值

if ..then //在if判断条件下调用z而不是TODAYBAR
begin
...z;//如果是在这里,同样调用z而不是直接使用TODAYBAR
end

--  作者:wy93222357
--  发布时间:2018/9/17 9:52:03
--  
哦,明白了,谢谢1