LydBroker MACD交易策略源码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using TradeFunctions;

//MACD策略
//DIFF大于0做多
//DIFF小于0做空

namespace TradeScript
{
public class UserScript:UserScriptMain
{
double DEA = 0;
int DelaySec = 60 * 5; //K线开始后,等待5分钟下单
int Count = 1; //持仓数量

    //初始化,常数设置
    public override void Init()
    {
        SetConst("短期均线",12);     //设置常数,可在策略窗口右键菜单修改参数
        SetConst("长期均线",26);     //设置常数     
    }

    //策略运行
    public override void Run()
    {
        int num_short;
        int num_long;
        
        GetConst("短期均线",out num_short); //取得常数
        GetConst("长期均线",out num_long);
        
        double EMA_short = EMA(Close, num_short); //计算短期均线
        double EMA_long  = EMA(Close, num_long);  //计算长期均线
        
        double DIFF = EMA_short-EMA_long;       //计算DIFF
        
        DEA = DEA*8/10+DIFF*2/10;
        
        double BAR = 2*(DIFF-DEA);
        
        //如果DIFF大于0,且持仓小于等于0,买入,
        if (DIFF> 0 && Positions <= 0)
        {
            ClearPositionsNextBar(DelaySec);    //清除所持仓位
            BuyNextBar(Count, DelaySec); 
        }
        //如果DIFF小于0,且持仓小于等于0,卖出
        else if (DIFF < 0 && Positions >= 0)
        {
            ClearPositionsNextBar(DelaySec);    //清除所持仓位
            SellNextBar(Count, DelaySec);
        }
        
        Line("零线", 0, 1);    //绘制短期均线,红色
    
        StickLine("MACD",0,DIFF);   //绘制铸线
        
        Line("Bar", BAR, 1,GRAY);    //绘制短期均线,红色
        
    }
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值