# Tv策略学习笔记

By [Untitled](https://paragraph.com/@0xb2e1faee54272dd4babf3d3530755acd568dd1c2) · 2025-01-08

---

尝试用Tv写了一个基于EMA的策略，目前能做到简单的条件判断，EMA12上穿EMA144和EMA169的时候开多，EMA12下穿EMA144和EMA169的时候止损。开空则完全相反。

优势是可以抓住趋势，问题是在震荡中会不断止损，不能保证盈利，过程中还是需要人为介入。

把代码记录在这里，大家可以导入Tv自己尝试做一下回测，看看是不是启发：

做多的条件：

    //@version=6
    strategy("EMA策略 - 做多", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
    
    // 定义与开单相关的EMA周期
    ema12 = ta.ema(close, 12)
    ema144 = ta.ema(close, 144)
    ema169 = ta.ema(close, 169)
    
    // 绘制与策略相关的EMA线
    plot(ema12, color=color.blue, title="EMA 12", linewidth=2)
    plot(ema144, color=color.green, title="EMA 144", linewidth=1)
    plot(ema169, color=color.orange, title="EMA 169", linewidth=1)
    
    // 条件：EMA12向上穿越EMA144和EMA169
    long_condition = ta.crossover(ema12, math.max(ema144, ema169))
    
    // 平仓条件：EMA12下穿EMA144和EMA169
    exit_long_condition = ta.crossunder(ema12, math.min(ema144, ema169))
    
    // 开多逻辑
    if (long_condition)
        strategy.entry("Long", strategy.long)
    
    // 平多逻辑
    if (exit_long_condition)
        strategy.close("Long")          
    

做空的条件：

    //@version=6
    strategy("EMA策略 - 做空", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
    
    // 定义与开单相关的EMA周期
    ema12 = ta.ema(close, 12)
    ema144 = ta.ema(close, 144)
    ema169 = ta.ema(close, 169)
    
    // 绘制与策略相关的EMA线
    plot(ema12, color=color.blue, title="EMA 12", linewidth=2)
    plot(ema144, color=color.green, title="EMA 144", linewidth=1)
    plot(ema169, color=color.orange, title="EMA 169", linewidth=1)
    
    // 条件：EMA12向下穿越EMA144和EMA169
    short_condition = ta.crossunder(ema12, math.min(ema144, ema169))
    
    // 平仓条件：EMA12上穿EMA144和EMA169
    exit_short_condition = ta.crossover(ema12, math.max(ema144, ema169))
    
    // 开空逻辑
    if (short_condition)
        strategy.entry("Short", strategy.short)
    
    // 平空逻辑
    if (exit_short_condition)
        strategy.close("Short")

---

*Originally published on [Untitled](https://paragraph.com/@0xb2e1faee54272dd4babf3d3530755acd568dd1c2/tv)*
