开拓者期货期权程序化系统交易论坛

标题: 老师,问一下,这个交易指令应该如果编写。 [打印本页]

作者: yuezongqi    时间: 2011-5-17 15:15:26     标题: 老师,问一下,这个交易指令应该如果编写。

老师,我的交易模型是这样的,看15分钟K线,在9:15的时候会形成第一根K线,在9:15的时候,如果第一根K线收阳线,就以第二根K线的开盘价 进场 做多单 ,如果第一根K线收阴线,就以第二根K线的开盘价 进场做空单,盘中以300点作为止损点。如果盘中碰到止损点的话,就止损离场,否则拿到收盘平仓。一天只在9:15的时候开那么一次仓。

老师,这个模型应该怎么编写。
作者: 欲速不达    时间: 2011-5-17 16:35:18

回复 1# yuezongqi


    用在什么周期上
作者: yuezongqi    时间: 2011-5-18 09:45:46

回复 2# 欲速不达

是在15分钟的周期上面。
作者: 欲速不达    时间: 2011-5-18 11:13:38

回复 3# yuezongqi

用Date!=Date[1]确定当天第一K线,close[1]-open[1]>0表示这前一K线收阳线在下一开盘买入 buy(1,open)就ok
作者: yuezongqi    时间: 2011-5-18 11:43:51

回复 4# 欲速不达


   还有止损呢,能不能给一下整个公式的编写。
作者: 欲速不达    时间: 2011-5-18 11:54:29

本帖最后由 欲速不达 于 2011-5-18 11:58 编辑

回复 5# yuezongqi

你自己多少也要去学一点,不是别人不帮你,你一点都不懂只在哪里等别人这样也累,在说像这样简单的思路根本就是不会赚钱的,一般的初学者的思路应该是很多成熟者都去试过了,所以,光靠这样依赖别人是不现实的,一个成熟的模型需要有上千次的的修改,谁会给你做呀,去看看TB的帮助,再看看海龟系统案例,对一些节点上看不懂的东西再来问问,否则,没人理你。我们也是这样走过来的,刚开始都很茫然。止损300点,做多时:MarketPosition==1,AvgEntryPrice-low<=300,sell;这样我几乎都说完了,你去排在一起就是了。
作者: yuezongqi    时间: 2011-5-18 11:57:51

回复  yuezongqi

你自己多少也要去学一点,不是别人不帮你,你一点都不懂只在哪里等别人这样也累,在说像 ...
欲速不达 发表于 2011-5-18 11:54


谢谢,我回来自己试着编一些。
作者: yuezongqi    时间: 2011-5-18 16:10:55

回复 6# 欲速不达


    谢谢啦
作者: yuezongqi    时间: 2011-5-18 17:41:00

回复 6# 欲速不达


    Params

   Numeric StopLoss(40);
Vars
   Numeric MinMovePrice;
   
Begin
   MinMovePrice=MinMove*PriceScale;
   If(Date!=date[1] && Close>Open)
   {
      Buy(1,NextOpen,True);
   }
   Else If(Date!=Date[1] && Close<Open)
   {
      SellShort(1,NextOpen,True);
   }
   
   If(MarketPosition==1 && Low<AvgEntryPrice-MinMovePrice*StopLoss )
   {
      Sell(1,0);
   }
   If(MarketPosition==-1 && High>AvgEntryPrice+MinMovePrice*StopLoss)
   {
      BuyToCover(1,0);
   }
   
   If(Time>=0.1455 && MarketPosition!=0)
   {
      BuyToCover;
      Sell;
   }
End

欲速不达,程序我算是写好了,但是有个问题,就是我在测试历史数据的时候不准确,我设置的是200点止损,在历史数据中,碰到止损点的时候,没有以实时价格止损,而是以收盘价止损。

这个程序在实时行情当中应该没有问题,我就想想问问,如何才能才测试当中,让其以200点止损。
作者: yuezongqi    时间: 2011-5-18 17:43:12

当天5分钟图



9:05分看当天的第一根K线,如果是阳线,则开多,200点止损,如果盘中没有碰到止损点,则拿到收盘平仓。

反之亦然。
作者: 欲速不达    时间: 2011-5-18 17:48:23

回复 10# yuezongqi


     If(MarketPosition==1 && Low<AvgEntryPrice-MinMovePrice*StopLoss )
   {
      Sell(1,AvgEntryPrice-MinMovePrice*StopLoss );
   }
   If(MarketPosition==-1 && High>AvgEntryPrice+MinMovePrice*StopLoss)
   {
      BuyToCover(1,AvgEntryPrice+MinMovePrice*StopLoss);
   }
作者: yuezongqi    时间: 2011-5-18 17:54:37

我已经写出来了,谢谢
   //If(MarketPosition==1 && Low<AvgEntryPrice-MinMovePrice*StopLoss )
   //{
   //   Sell(1,0);
  // }
  // If(MarketPosition==-1 && High>AvgEntryPrice+MinMovePrice*StopLoss)
   //{
   //   BuyToCover(1,0);
   //}
   SetStopLoss(0,1000,True);

换成这个就可以了。看样子以后需要自己好好的研究完之后再问更好。
作者: 蔡宛宏    时间: 2011-12-20 09:37:00

自己动手  丰衣足食




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2