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

标题: 大神们救我,请教表达“五分钟K线现价高于均线时立即开多 [打印本页]

作者: wmzd2020    时间: 2020-4-27 14:39:48     标题: 大神们救我,请教表达“五分钟K线现价高于均线时立即开多

请问大神:我打算用五分钟K线和一条5周期均线进行交易。
策略设想是:当前的K线现价高于该5周期均线时,立即开多仓。

我写的公式是:
Params
    Numeric FastLength(5);// 平均线参数
   
Vars
    Series<Numeric> AvgValue1; 
    
Events
    OnBar(ArrayRef<Integer> indexs)
    {
        AvgValue1 = AverageFC(Close,FastLength);
          
             If(MarketPosition <>1 && close>AvgValue1)
           {
            Buy(1,0);
            }
        
     }

但公式运行后的结果,并不是当前五分钟K线现价高于该均线时就立即开多仓,而是在当前五分钟K线收盘价上才开多仓,这样会错失开仓价格,导致开仓价格过高。
请问这是什么原因呢?
是用“close”函数的问题吗?
用什么方式能表达“五分钟K线现价高于该均线时就立即开多仓”呢?
作者: wmzd2020    时间: 2020-4-27 14:42:26

图片是这样的
作者: Yuen_Lee    时间: 2020-4-28 09:26:42

本帖最后由 Yuen_Lee 于 2020-4-28 09:31 编辑

If(MarketPosition <>1 && high>AvgValue1)
其实实时交易中,应该是无论用high还是close,结果都应该是一样的。如果想要看历史交易,可以改buy(1, IntPart(AvgValue1+MinMove*PriceScale)).




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