matlab 双均线,双均线策略(CTA)

什么是均线?

对于每一个交易日,都可以计算出前N天的收盘价的移动平均值,把这些移动平均值连起来,形成一条线,就叫做N日移动平均线。双均线就是两条均线,比如5日均线和10日均线。

什么是双均线策略?

双均线策略,指的是运用两条不同周期的移动平均线,即短周期移动平均线和长周期移动平均线的相对大小,研判买进与卖出时机的策略。

由短周期均线自下向上穿越长周期均线,所形成的交点,称为金叉。当短周期均线自上而下穿越长周期均线,所形成的交点,称为死叉。

这样我们可以构建一个双均线策略:双均线金叉的时候,表明该币很强势,市场属于多头市场;反之,当出现死叉点时,市场属于空头市场。

策略:

进场点:金叉,做多;死叉,做空

出场点:信号反转时出场

主要参数:

快线周期:移动平均线参数

慢线周期:移动平均线参数

K线周期:使用本策略选择的K线时间周期

下单数量:每次下单量

我们以交易对 BTCUSD 及以下参数为例:

快线周期:MA9;慢线周期:MA20;k线周期:10080 Min(周线);下单数量:10张

a8a1b12d7843

分析:

入场点位:3832 USD(多)

出场点位:9824 USD(平多)

本次盈利: (9824-3832)*0.01*10= 599.2 USD

投入成本:3832*0.01*10/5=76.64USD(按照最大5倍杠杆计算)

收益率:599.2/ 76.64*100%=781.8%(不包含手续费和资金费率)

投资周期:6个月左右

注册链接:https://www.bibox.me/v2/login/register?invite_code=059JWl

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个使用vnpy写的均线交易策略的示例代码: ```python from vnpy.app.cta_strategy import ( CtaTemplate, TickData, BarData, TradeData, OrderData, BarGenerator, ArrayManager ) class DoubleMaStrategy(CtaTemplate): """""" author = "vnpy" # 策略参数 fast_window = 10 slow_window = 20 fixed_size = 1 # 策略变量 pos = 0 fast_ma = 0.0 slow_ma = 0.0 ma_trend = 0 # 参数列表,保存了参数的名称 parameters = ["fast_window", "slow_window", "fixed_size"] # 变量列表,保存了变量的名称 variables = ["pos", "fast_ma", "slow_ma", "ma_trend"] def __init__(self, cta_engine, strategy_name, vt_symbol, setting): """""" super().__init__(cta_engine, strategy_name, vt_symbol, setting) self.bg = BarGenerator(self.on_bar) self.am = ArrayManager() def on_init(self): """""" self.write_log("策略初始化") self.load_bar(10) def on_start(self): """""" self.write_log("策略启动") def on_stop(self): """""" self.write_log("策略停止") def on_tick(self, tick: TickData): """""" self.bg.update_tick(tick) def on_bar(self, bar: BarData): """""" self.cancel_all() am = self.am am.update_bar(bar) if not am.inited: return # 计算快慢均线 self.fast_ma = am.sma(self.fast_window) self.slow_ma = am.sma(self.slow_window) # 判断交叉 if self.fast_ma > self.slow_ma and self.ma_trend <= 0: self.buy(bar.close_price+5, self.fixed_size) self.ma_trend = 1 elif self.fast_ma < self.slow_ma and self.ma_trend >= 0: self.sell(bar.close_price-5, self.fixed_size) self.ma_trend = -1 self.put_event() def on_trade(self, trade: TradeData): """""" self.put_event() def on_order(self, order: OrderData): """""" self.put_event() def on_stop_order(self, stop_order: StopOrder): """""" self.put_event() ``` 以上代码实现了一个简单的均线交易策略,当快均线(10日均线)上穿慢均线(20日均线)时,做多开仓;当快均线下穿慢均线时,平掉全部仓位。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值