Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共10 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:一小时周期上添加交易中止的语句

1楼
一杯沧海 发表于:2020/8/14 14:53:12
我希望在1小时周期交易过程中,在完成一笔交易后在6个交易周期内开仓信号不再执行的语句,谢谢!
2楼
FireScript 发表于:2020/8/14 14:57:29
 你这里这个完成一笔交易是指平仓完了,还是指开仓以后。
[此贴子已经被作者于2020/8/14 16:09:53编辑过]
3楼
一杯沧海 发表于:2020/8/14 16:37:24
平仓了就不再开仓了
4楼
FireScript 发表于:2020/8/14 16:52:32
原开仓条件基础上加个判断就行了

如果是开仓之后6个周期内不在重复开仓:
原开仓条件 and (ENTERBARS>5 or ENTERBARS=-1)

如果是平仓之后6个周期内不在开仓:
(EXITBARS<=5 or EXITBARS=-1) and 原开仓条件

上面只针对单一的开平,如果有多个开仓语句就不适用了。
5楼
一杯沧海 发表于:2020/8/14 16:59:14
好的,谢谢
6楼
一杯沧海 发表于:2020/8/17 8:42:49
按照平仓后不开仓那么EXITBARS<=5 or EXITBARS=-1是用一个即可,还是这两个都要加上呢?
7楼
FireScript 发表于:2020/8/17 8:59:03
EXITBARS<=5 or EXITBARS=-1

后面这部分不可以去掉。因为第一次开仓时候,前面肯定是没有过平仓的。加后面部分就是为了处理这个的。
8楼
一杯沧海 发表于:2020/8/17 9:36:53
收到,我再试试,有问题再请教
9楼
一杯沧海 发表于:2020/8/17 11:25:03
我把语句加进去了,但是因为是“非多既空”的模式,所以增加语句没有任何改变,请帮我修改一下:

IF HOLDING=0 THEN BEGIN   
 IF TMP<=0 THEN 
  BUY(1,ss,MARKET,CLOSE);  
END
IF HOLDING=0 THEN BEGIN   
 IF TMP>0 THEN           
  BUYSHORT(1,ss,MARKET,CLOSE); 
END
IF HOLDING>0 THEN BEGIN   
 IF TMP>0 THEN BEGIN      
  SELL(1,HOLDING,MARKET,CLOSE);   
  BUYSHORT(EXITBARS<=5 or EXITBARS=-1,ss,MARKET,CLOSE);    
 END
END
IF HOLDING<0 THEN BEGIN    
 IF TMP<=0 THEN BEGIN      
  SELLSHORT(1,HOLDING,market,CLOSE); 
  BUY(EXITBARS<=5 or EXITBARS=-1,ss,MARKET,CLOSE);  
 END
END
10楼
FireScript 发表于:2020/8/17 13:09:36
看你的代码  你的需求是上面这个平空后 6个周期之后才允许开多仓或者平多后6个周期才允许开空仓?是这样的需求?
共10 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.10938 s, 3 queries.