欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请教一下,后台程序化当根K线只开仓一次?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有8162人关注过本帖树形打印复制链接

主题:请教一下,后台程序化当根K线只开仓一次?

帅哥哟,离线,有人找我吗?
eric917
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:271 积分:730 威望:0 精华:0 注册:2011/6/22 15:58:05
请教一下,后台程序化当根K线只开仓一次?  发帖心情 Post By:2013/2/18 12:55:51    Post IP:219.136.183.155[显示全部帖子]

下面编了一个后台交易系统:

平多:=L<MAH1;
开多:=H>上轨 AND H>MAN ;

平空:=H>MAL1;
开空:=L<下轨 AND H<MAN ;

交易时间:=TIME>090000 AND TIME<=151300;
开仓时间:=TIME>090000 AND TIME<=150500;

if 平空 AND EXTGBDATA('POSITION')=-1 then begin
   tsellshort(1,SS,mkt);
   EXTGBDATASET('POSITION',0);
end

if 开多 AND 交易时间 AND EXTGBDATA('POSITION')=0 then begin
   tbuy(1,SS,mkt);
   EXTGBDATASET('POSITION',1);
end

if 平多 AND EXTGBDATA('POSITION')=1 then begin
   tsell(1,SS,mkt);
   EXTGBDATASET('POSITION',0);
end

if 开空 AND 交易时间 AND EXTGBDATA('POSITION')=0 then begin
   tbuyshort(1,SS,mkt);
   EXTGBDATASET('POSITION',-1);
end

IF NOT(交易时间) AND EXTGBDATA('POSITION')<>0 THEN BEGIN
   TSELL(1,SS,MKT);
   TSELLSHORT(1,SS,MKT);
END 

 

但用后台测试却一根K线出现了多次交易,怎么才能定义一根K线只开仓一次呢?谢谢

 


 回到顶部
帅哥哟,离线,有人找我吗?
eric917
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:271 积分:730 威望:0 精华:0 注册:2011/6/22 15:58:05
  发帖心情 Post By:2013/2/18 13:20:58    Post IP:219.136.183.155[显示全部帖子]

有人回答一下吗?刚刚测试过,本来账号有2张多单 2张空单,加载这个后台交易系统后,首先触发了平多条件,结果就把我账号里面的1张多单给平了,如何可以使其区分开呢?麻烦解答一下


 回到顶部
帅哥哟,离线,有人找我吗?
eric917
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:271 积分:730 威望:0 精华:0 注册:2011/6/22 15:58:05
  发帖心情 Post By:2013/2/18 13:37:00    Post IP:219.136.183.155[显示全部帖子]

以下是引用jinzhe在2013-2-18 13:30:10的发言:
开仓时用全局变量记录一下

请问是这样吗?

VARIABLE : POSITION=0 ; 

 

这个我已经写了

如果上面的写法不对,能否教一下应该怎么将全局变量记录呢?麻烦你了


 回到顶部
帅哥哟,离线,有人找我吗?
eric917
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:271 积分:730 威望:0 精华:0 注册:2011/6/22 15:58:05
  发帖心情 Post By:2013/2/18 13:39:03    Post IP:219.136.183.155[显示全部帖子]

以下是引用jinzhe在2013-2-18 13:33:29的发言:
同根k是只能做一个开平动作还是只能做一个动作不论开平

如果只能做一个开平动作,应该怎么表达呢?谢谢

 

如果不论开平,只做一个动作,又应该怎么表达呢?谢谢

 

在论坛上搜不到相关的例子,麻烦你了

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
eric917
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:271 积分:730 威望:0 精华:0 注册:2011/6/22 15:58:05
  发帖心情 Post By:2013/2/18 13:49:19    Post IP:219.136.183.155[显示全部帖子]

大侠,来帮忙解答一下,谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
eric917
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:271 积分:730 威望:0 精华:0 注册:2011/6/22 15:58:05
  发帖心情 Post By:2013/2/18 14:18:16    Post IP:219.136.183.155[显示全部帖子]

以下是引用jinzhe在2013-2-18 13:53:41的发言:

其实你的公式已经很好了,在开平仓条件里面加上tenterbars>1和texitbars>1之类的就行了

您所指的tenterbars  texitbars  说明里面好像说只有-1 ,0, 1   您所说的>1是什么意思呢?  能否说明详细一点了,大侠,万分感激


 回到顶部
帅哥哟,离线,有人找我吗?
eric917
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:271 积分:730 威望:0 精华:0 注册:2011/6/22 15:58:05
  发帖心情 Post By:2013/2/18 14:35:56    Post IP:219.136.183.155[显示全部帖子]

大侠,还在吗,帮忙解答一下

 回到顶部
帅哥哟,离线,有人找我吗?
eric917
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:271 积分:730 威望:0 精华:0 注册:2011/6/22 15:58:05
  发帖心情 Post By:2013/2/18 20:42:10    Post IP:120.85.140.150[显示全部帖子]

大侠,请帮忙看一下,我这样写,在帐号本来持有仓位的情况下,会不会出现误平仓的情况(每根K线值开仓一次):

MAA:MA(C,5);

BPK:=H>MAA ;
SPK:=L <MAA ;

//当交易系统加载的时候,判断第一次开多仓或者开空仓
IF  EXTGBDATA('POSITION-15')=0 AND  TENTERBARS=-1 THEN BEGIN
     IF  BPK THEN  BEGIN
         TBUY(1,SS,MKT);
         EXTGBDATASET('POSITION-15',1);
     END
    
     IF  SPK THEN  BEGIN
          TBUYSHORT(1,SS,MKT);
          EXTGBDATASET('POSITION-15',-1);
      END
 END

//加载第一次开仓后,再次交易
IF BPK AND EXTGBDATA('POSITION-15')<0  AND  TENTERBARS>=1  THEN BEGIN
   TSELLSHORT(1,SS,MKT);
   TBUY(1,SS,MKT);
   EXTGBDATASET('POSITION-15',1);
END

IF SPK AND EXTGBDATA('POSITION-15')>0  AND  TENTERBARS>=1  THEN BEGIN
   TSELL(1,SS,MKT);
   TBUYSHORT(1,SS,MKT);
   EXTGBDATASET('POSITION-15',-1);
END

 

谢谢


 回到顶部
帅哥哟,离线,有人找我吗?
eric917
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:271 积分:730 威望:0 精华:0 注册:2011/6/22 15:58:05
  发帖心情 Post By:2013/2/19 9:34:48    Post IP:219.136.183.155[显示全部帖子]

大侠,我上面这样写可以吗?


 回到顶部
帅哥哟,离线,有人找我吗?
eric917
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:271 积分:730 威望:0 精华:0 注册:2011/6/22 15:58:05
  发帖心情 Post By:2013/2/19 10:25:50    Post IP:219.136.183.155[显示全部帖子]

大侠,你看看这样表达对吗?是不是你说的那个意思?

平多:=L<MAH1;
开多:=H>上轨 AND H>MAN ;

平空:=H>MAL1;
开空:=L<下轨 AND H<MAN ;

交易时间:=TIME>090000 AND TIME<=151300;
开仓时间:=TIME>090000 AND TIME<=150500;

if 平空 AND EXTGBDATA('POSITION')=-1 AND TEXITBARS>1 then begin
   tsellshort(1,SS,mkt);
   EXTGBDATASET('POSITION',0);
end

if 开多 AND 交易时间 AND EXTGBDATA('POSITION')=0  AND  TENTERBARS>1 then begin
   tbuy(1,SS,mkt);
   EXTGBDATASET('POSITION',1);
end

if 平多 AND EXTGBDATA('POSITION')=1 AND TEXITBARS>1 Then begin
   tsell(1,SS,mkt);
   EXTGBDATASET('POSITION',0);
end

if 开空 AND 交易时间 AND EXTGBDATA('POSITION')=0  AND  TENTERBARS>1 then begin
   tbuyshort(1,SS,mkt);
   EXTGBDATASET('POSITION',-1);
end

IF NOT(交易时间) AND EXTGBDATA('POSITION')<>0  AND TEXITBARS>1 THEN BEGIN
   TSELL(1,SS,MKT);
   TSELLSHORT(1,SS,MKT);
END 


 回到顶部
总数 22 1 2 3 下一页