查看: 18588|回复: 47
打印 上一主题 下一主题

新手入门-编写第一个交易指令

  [复制链接]
跳转到指定楼层
1
发表于 2012-5-14 15:06:46 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 白吉馍 于 2012-5-14 15:13 编辑



  • 选择菜单“程序化”->“新建公式”,打开如下图所示界面,在描述中填写相关信息,点击确定按钮

2.在打开的公式编辑器中键入如下代码:
Params   
     Numeric M(10);
     Numeric N(20);
GlobalVars
     Numeric lastOpenPrice(0);
Vars  
     NumericSeries MA1;
     NumericSeries MA2;
     Bool Con;
Begin
     MA1 = Average(Close,M); //求M周期收盘价均线
     MA2 = Average(Close,N); //求N周期收盘价均线

     PlotNumeric("MA1",MA1);  //绘制均线MA1
     PlotNumeric("MA2",MA2);  //绘制均线MA2

     Con = CrossOver(MA1,MA2);  //判断MA1是否上穿MA2

     if(A_BuyPosition ==0) //判断当前是否有多仓
     {
          if(Con)  //如果MA1上穿MA2,开多仓
         {
                 Buy(1,Q_AskPrice);       //以申卖价买入1手
                 lastOpenPrice = Q_AskPrice;  //将开仓价格记录下来,以便将来判断是否平仓
          }
     }
     Else
     {
               //如果当前持多仓,判断是否平仓
                if(Close-lastOpenPrice >= 20) //如果价格涨了20以上,止赢平仓
               {
                       Sell(0,Q_BidPrice);
               }
               Else if(lastOpenPrice-Close<=-5) //如果价格跌了5以上,止损平仓
               {
                      Sell(0,Q_BidPrice);
                }
       }
End
3.按F8编译公式,结果如下图所示


4.若编译成功,客户端的交易指令列表中就会出现一个新的交易指令,如下图

5.选择一个K线图,双击刚刚编写的交易指令,就可以把这个交易指令加载到K线图上运行了。效果如下图:

6.选择菜单"程序化"->“策略监控",打开如下图所示的面板。可以查看交易指令的运行情况




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册入住  

x





2
 楼主| 发表于 2012-5-15 10:15:54 | 显示全部楼层
这是易盛的ETL语言
3
 楼主| 发表于 2012-5-22 10:19:19 | 显示全部楼层
满盘红 发表于 2012-5-21 18:13
有一个问题:1分钟有60秒,如何实现只有第59秒的价格触发才自动下单,前面58秒中任何一个价格触发都不自动下 ...

if(MinuteFromDateTime(CurrentTime) ==59)
{
     ......
}

点评

额的神啊 这个也可以实现 程序化太强大 漫山遍野都是狼 哪里还有羊吃啊  发表于 2012-5-22 21:24
您需要登录后才可以回帖 登录 | 注册入住  

本版积分规则

易家网  ©2015-2023  郑州期米信息技术有限公司版权所有  豫公网安备 41010502005136号 豫ICP备16010300号