Rss & SiteMap

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

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

标题:请教老师如何在本根K线平仓后下根K开仓

1楼
strongcheng 发表于:2018/10/24 8:19:37
我想实现:
固定轮询模式下,在当根K线出现条件一cond1后先平仓,从第二根K线开始后面几条K线,在cond1前提下,只要出现 条件二cond2,就下单,否则不下单,语句要如何编写。因为在当根K线情况下,有可能出现cond2情况,但我不想在当根K线就下单。
2楼
banzhuan 发表于:2018/10/24 8:42:47
可以在cond2的条件中加上EXITBARS作为条件,可以避免在当根K线不下单
3楼
wenarm 发表于:2018/10/24 8:45:00

使用BARSLAST函数进行处理。

例如,判断cond1成立以后到第五根之间的范围。

if  BARSLAST(cond1)>0 and BARSLAST(cond1)<5 and cond2 then begin

    下单语句;

end

 

4楼
strongcheng 发表于:2018/10/24 9:02:30
BARSLAST不能用在IF语句,另外用EXITBARS>0,交易信号在图表全消失不显示了
5楼
wenarm 发表于:2018/10/24 9:11:29

BARSLAST放在if之外使用。赋值给一个变量,把变量放到if里用。

aa:BARSLAST();

if xxxxx then begin

  AA参与计算

end

 

EXITBARS受本周期和次周期指令的影响。并且还要考虑到第一次开仓之前的返回值为-1的情况,

具体看该函数说明中的链接

[此贴子已经被作者于2018/10/24 9:13:11编辑过]
6楼
strongcheng 发表于:2018/10/24 9:19:07
//多头进仓条件
long:=M1>M2;
if long then 
begin
sellshort(HOLDING<0,holding,THISCLOSE);
buy(holding=0 and LOW<M1,1,THISCLOSE);
end


//空头进仓条件
long2:=M2>M1;
if long2 then 
begin
sell(HOLDING>0,holding,thisclose);
buyshort(holding=0 and HIGH>M1,1,THISCLOSE);
end

具体语句,是这样,老师帮忙看下能如何改,多谢!多谢!
7楼
banzhuan 发表于:2018/10/24 9:27:40
确认下您的需求,是平仓(平多、平空)后,本根K线不立马开仓是吗?  
8楼
wenarm 发表于:2018/10/24 9:32:05

麻烦吧你这段代码需要处理的关系说清楚些。

9楼
strongcheng 发表于:2018/10/24 9:48:55
就是在出现条件一:M1>M2后,马上做平仓(平空)后,但当根K线不立马开仓,而是待接下几根K线,条件一仍然成立,出现条件二LOW<M1,即时开多仓(对应之前平空);
另外情况是道理一样,出现M2>M1,马上做平仓(平多)后,但当根K线不立马开仓,而是待接下几根K线,M2>M1仍然成立,出现条件HIGH>M1,即时开空仓(对应之前平多);都在固定轮询情况下。
表达不是很清楚,不好意思,让老师费神了。
10楼
wenarm 发表于:2018/10/24 10:13:17

long:=M1>M2;
long_bar:=BARSLAST(long=1);
if long then
begin
sellshort(HOLDING<0,holding,THISCLOSE);
buy(long_bar>0 and long_bar<5  and holding=0 and LOW<M1,1,THISCLOSE);
end

 

空头部分自行实现。

[此贴子已经被作者于2018/10/24 10:13:35编辑过]
共19 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.03516 s, 2 queries.