在系统开发中我们经常会将相对独立的功能分离出来,声明一个自定义函数进行应用。因此我们需要通过“TradeStation Development Environment”EL开发环境建立自定义函数。调用该窗体可以通过单击工具栏“Tools”中的“EasyLanguage”按钮,直接调用EL开发环境窗口。
例子:1)Buy ("Entry1") next bar at market; 在下一根K线的开盘价格,执行名称为“Entry1”的多头建仓指令,建仓数量默认为策略全局变量中Trade Size值
2.)Buy ("LowBuy") 100 shares next bar at High + Range limit ; 在最高价格加上Range的价格位置,挂一个买入100手的限价单,仓位名称为“LowBuy”。
2) Sell/BuytoCover 多头/空头平仓指令
语法:Sell/ BuyToCover [("Order Name")] [from entry ("Entry Name")] [ Number of Shares/Contracts [Total]] [Order Action];
Sell From Entry (“MyBuy”) next bar at High + 2 Point Stop;
上面的例子中一共买入了30手,然而Sell指令只是针对“MyBuy”仓位执行平仓命令,将平掉“MyBuy”的所有仓位,策略中还剩20手。如果想平掉“MyBuy”中的5手,可以这样表达:Sell From Entry (“MyBuy”) 5 Shares next bar at High + 2 Point Stop;
[Number of Shares/Contracts] 表示持仓合约数或手数,在缺省情况下,默认为策略全局变量中Trade Size的设置值。
[Order Action] 指令执行方式。请参考Buy指令中介绍。
3) Limit/ Stop 指令
Limit和Stop两个保留字使用于挂单命令行中,其含义不同。
相同点:
只能在Next Bar模式的Order Action中执行,同时必须有一个价格参考。
例:Buy next bar at 60 Stop; SellShort next bar at 79 Limit;
不同点:
Limit可译为“this price or better”,表示达到price价格或比price价格更好,常用于反趋势建仓。可以理解为在一个更低的价格Buy或BuyToCover,或在一个更高的价格SellShort或Sell。
Stop可译为“this price or worse”,表示到达price价格或比price价格更糟糕,常用于追加仓位情况下。可以理解为在一个更高的价格Buy或BuyToCover,或在一个更低的价格SellShort或Sell。