Rss & SiteMap

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

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

标题:限定加仓次数

1楼
大豆0911 发表于:2018/2/4 17:00:13
版主好,我想请教一下,我的图表交易系统设置了:满足A条件,则加仓。但是A条件会随着趋势发展,触发好几次,越往后,加仓效果越不理想。
现在我想限定,只在第一次满足A条件的时候加仓。第二次、第三次A条件出现都不加仓,请问如何实现?非常感谢!
2楼
wenarm 发表于:2018/2/4 21:31:07
使用全局变量进行控制。
控制部分示例如下。
VARIABLE:flag=0;
if 加仓条件 and flag=0 then begin
 加仓语句;
 flag:=1;
end

在需要恢复加仓的条件下把flag从新置0,否者在图表上只会加仓一次后,后面将无法进行有效加仓。

3楼
大豆0911 发表于:2018/2/4 22:16:26
以下是引用wenarm在2018/2/4 21:31:07的发言:
使用全局变量进行控制。
控制部分示例如下。
VARIABLE:flag=0;
if 加仓条件 and flag=0 then begin
 加仓语句;
 flag:=1;
end

在需要恢复加仓的条件下把flag从新置0,否者在图表上只会加仓一次后,后面将无法进行有效加仓。
 
版主辛苦了,非常感谢!

4楼
大豆0911 发表于:2018/2/4 22:56:31
按照版主写的示例,我写出了这样的语句,可是出现了新的问题,就是第一次加仓也不再执行了。烦请版主帮我看看问题所在?谢谢了!(如果我把系统语句中的flag:=1;  改成flag:=0;则和原来一样加仓不止一次)
VARIABLE:flag=0;
(中间变量和其他系统语句略)……
if 加多条件 and flag=0 then begin
BUY(HOLDING>0,30%,market);//交易系统之加多操作
flag:=1;
end
if 加空条件  and flag=0 then begin
BUYSHORT(HOLDING<0,30%,market);//交易系统之加空操作
flag:=1;
end

5楼
wenarm 发表于:2018/2/4 23:35:58
flag只能控制一个方向的限制,你多空两种类型需要使用两个全局变量分别记录处理。
另外,在2楼已经说了,你需要在一个特定的情况下再把flag标志位的值改成0,(例如全平时,将flag置0)否者图表中在第一次加仓后,就再也不会进入加仓的语句段了。
VARIABLE:flag=0,flag1=0;
if 加多条件 and flag=0 then begin
BUY(HOLDING>0,30%,market);//交易系统之加多操作
flag:=1;
end
if 加空条件  and flag1=0 then begin
BUYSHORT(HOLDING<0,30%,market);//交易系统之加空操作
flag1:=1;
end
6楼
大豆0911 发表于:2018/2/5 22:33:35
版主您太好了,很感谢!我好好领会一下!
以下是引用wenarm在2018/2/4 23:35:58的发言:
flag只能控制一个方向的限制,你多空两种类型需要使用两个全局变量分别记录处理。
另外,在2楼已经说了,你需要在一个特定的情况下再把flag标志位的值改成0,(例如全平时,将flag置0)否者图表中在第一次加仓后,就再也不会进入加仓的语句段了。
VARIABLE:flag=0,flag1=0;
if 加多条件 and flag=0 then begin
BUY(HOLDING>0,30%,market);//交易系统之加多操作
flag:=1;
end
if 加空条件  and flag1=0 then begin
BUYSHORT(HOLDING<0,30%,market);//交易系统之加空操作
flag1:=1;
end

共6 条记录, 每页显示 10 条, 页签: [1]


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