设为首页收藏本站

 找回密码
 注册
查看: 1135|回复: 2
打印 上一主题 下一主题

大神们救我,请教表达“五分钟K线现价高于均线时立即开多 [复制链接]

Rank: 1

精华
0
UID
290901
积分
16
帖子
9
主题
3
阅读权限
10
注册时间
2020-4-16
最后登录
2020-5-13
跳转到指定楼层
1#
发表于 2020-4-27 14:39:48 |只看该作者 |倒序浏览
请问大神:我打算用五分钟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线现价高于该均线时就立即开多仓”呢?

Rank: 1

精华
0
UID
290901
积分
16
帖子
9
主题
3
阅读权限
10
注册时间
2020-4-16
最后登录
2020-5-13
2#
发表于 2020-4-27 14:42:26 |只看该作者
图片是这样的
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 4

精华
0
UID
110114
积分
380
帖子
314
主题
16
阅读权限
50
注册时间
2012-4-20
最后登录
2021-12-29
3#
发表于 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)).

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-3 22:59

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部