以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请教如何编写以下条件  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=9083)

--  作者:saintlucifer
--  发布时间:2011/11/22 11:19:52
--  请教如何编写以下条件
如果对上一次交易是止损的(即交易结果是亏损的),则止损后的15分钟内不再执行交易策略,若在1小时内连续出现2次止损,则当日交易停止。
--  作者:fly
--  发布时间:2011/11/22 14:32:22
--  
在编写中,请您等待
--  作者:saintlucifer
--  发布时间:2011/11/23 9:52:37
--  
顶一下,继续等待~
--  作者:fly
--  发布时间:2011/11/23 10:24:52
--  

实现功能:上一次交易是止损的(即交易结果是亏损的),则止损后的15分钟内不再执行交易策略

 

//1分钟周期

flag:=\'flag\';// 全局变量,控制止损后15根K线(1分钟K线,15根K线即15分钟,其它周期请自行调节K线数)内不再开仓

ma5:ma(close,5);
ma20:ma(close,20);

 

if CROSS(ma5,ma20) and holding=0 and (EXTGBDATA(\'flag\')=0 or (EXTGBDATA(\'flag\')=1 and exitbars>15)) then buy(1,1,market);

 

if CROSS(ma20,ma5) and holding>0 then
begin
sell(1,1,market);
EXTGBDATASET(\'flag\',0);
end

 

//止损平仓
if holding>0 and l<enterprice-20*mindiff then
begin
止损:sell(1,1,market);
EXTGBDATASET(\'flag\',1);
end

 

if time>=closetime(0) then EXTGBDATASET(\'flag\',0);//收盘时,对全局变量flag赋值为0--防止第2天不再交易。


--  作者:fly
--  发布时间:2011/11/23 14:25:35
--  

实现功能:上一次交易是止损的(即交易结果是亏损的),则止损后的15分钟内不再执行交易策略

             若在1小时内连续出现2次止损,则当日不再交易 

//1分钟周期

 

flag:=\'flag\';// 全局变量,标识止损开仓。

                //为1:止损平仓1次,控制止损后15根K线(1分钟K线,15根K线即15分钟,其它周期请自行调节K线数)内不再开仓
                //为2:连续止损平仓2次且在60根K线内,当日不再开仓
bar:=\'bar\';  //控制连续两次止损间隔,如果在60根K线内,当日不在开仓

 

ma5:ma(close,5);
ma20:ma(close,20);

 

if CROSS(ma5,ma20) and holding=0 and (EXTGBDATA(\'flag\')=0 or (EXTGBDATA(\'flag\')=1 and exitbars>15)) then buy(1,1,market);

 

if CROSS(ma20,ma5) and holding>0 then
begin
sell(1,1,market);
EXTGBDATASET(\'flag\',0);
end

 

//止损平仓
if holding>0 and close<enterprice-20*mindiff then
 begin
 止损:sell(1,1,market);
 
 if EXTGBDATA(\'flag\')=0 then
  begin
  EXTGBDATASET(\'flag\',1);
  EXTGBDATASET(\'bar\',barpos);
  end
 
 if EXTGBDATA(\'flag\')=1 and barpos-EXTGBDATA(\'bar\')<60 and barpos-EXTGBDATA(\'bar\')>0 then
  begin
  EXTGBDATASET(\'flag\',2);
  end
 
 if EXTGBDATA(\'flag\')=1 and barpos-EXTGBDATA(\'bar\')>=60 then
  begin
  EXTGBDATASET(\'flag\',1);
  EXTGBDATASET(\'bar\',barpos);
  end


 end

 

if time>=closetime(0) then EXTGBDATASET(\'flag\',0);//收盘时,对全局变量flag赋值为0--防止第2天不再交易。