以文本方式查看主题

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

--  作者:一代天骄
--  发布时间:2018/10/17 9:49:13
--  时间止损

MA_30:MA(CLOSE,30);
IF holding>0 and ENTERBARS+1>=3 and CLOSE<AVGENTERPRICE THEN
   BEGIN
   SELL(1,0,MARKET);
   DRAWTEXT( 1,HIGH ,"平多" );
END
IF CROSS(CLOSE,MA_30) THEN
   BEGIN
   BUY(HOLDING=0,1,MARKET);
   DRAWTEXT( 1,HIGH ,"开多" );
end
aa:ENTERBARS+1;
bb:ENTERBARS+1>=3;
cc:holding>0;
dd:CLOSE<AVGENTERPRICE;

时间止损这样写对吗?请高手解答一下


--  作者:FireScript
--  发布时间:2018/10/17 10:13:25
--  
 你这个”时间止损” 具体是怎样的操作?我需要了解你的思路才能去判断代码是否符合你的思路。

--  作者:一代天骄
--  发布时间:2018/10/17 10:14:41
--  
比如说开仓三天不赚钱止损,我看前面也有个关于时间的帖子一直没看懂,新手多指教,开仓条件是k线穿均线开仓,止损开仓后三天不赚钱止损
--  作者:FireScript
--  发布时间:2018/10/17 10:31:42
--  
  试了下,代码可以的。
--  作者:无为剑
--  发布时间:2018/10/17 12:48:45
--  
平多:SELL(1,0,MARKET);
代码可以直接这样写的,无需用DRAWTEXT函数的

--  作者:一代天骄
--  发布时间:2018/10/17 14:47:24
--  
可以用全局变量来控制周期吗
MA_30:MA(CLOSE,30);
VARIABLE:SUM_DATE=0;;
TIME_COND:VALUEWHEN(CROSS(CLOSE,MA_30),DATE);
IF DATE=TIME_COND THEN SUM_DATE:=SUM_DATE+1;
AA:SUM_DATE>=3;
BB:HOLDING>0;
CC:CLOSE<AVGENTERPRICE;
IF AA=1 AND BB=1 AND CC=1 THEN 
   BEGIN 
   SELL(1,0,MARKET);
   DRAWTEXT( 1,HIGH ,"平多" );
END 
IF CROSS(CLOSE,MA_30) THEN 
   BEGIN
   BUY(HOLDING=0,1,MARKET);
   DRAWTEXT( 1,HIGH ,"开多" );
END

--  作者:FireScript
--  发布时间:2018/10/17 15:01:19
--  
 你要怎样控制周期?全局变量是可以用的,但是我不清楚你具体思路是怎样的。你这里TIME_COND:VALUEWHEN(CROSS(CLOSE,MA_30),DATE); 取的是cross返回值是1时候的日期。SUM_DATE则是当天cross返回值是1之后的K线数量或者说是K线跨度。 我看不出来这个取值是干嘛的。