V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fescover
V2EX  ›  投资

这个策略有什么缺陷

  •  
  •   fescover · 334 天前 · 1495 次点击
    这是一个创建于 334 天前的主题,其中的信息可能已经有所发展或是发生改变。

    原理:超短线,只看前一分钟起始价和结束价的斜率趋势,3 倍杠杠,止损 2%,最低止盈 0.5%,最高允许的净收益跌幅 40%,基本两分钟左右一次自动平仓,在模拟上测效果还可以,上线实盘有什么可能的缺陷呢

    js 伪代码

    // 获取前一分钟 K 线图数据,拿到起始和结束的价格
    const [startPrice, endPrice] = await getCandles({ time: "1m" });
    
    // 判断 startPrice 到 endPrice 的斜率|角度
    const edge = getEdge(startPrice, endPrice);
    
    // 如果角度大于 75 度(无论正负),证明趋势明显,达到开仓条件,跟趋势的方向
    
    const orderPrice = await getCurrentPrice();
    
    if (edge > 75) {
      // 开看涨单
      await createOrder({
        price: orderPrice,
        direction: "up",
        count: await getMaxBuyCount(orderPrice),
      });
    }
    
    if (edge < -75) {
      // 开看空单
     await createOrder({
        price: orderPrice,
        direction: "down",
        count: await getMaxSellCount(orderPrice),
      });
    }
    
    // 开单后进入循环,判断是否达到平仓时机
    while (true) {
      // 每隔 5s 获取一次现价
      const currentPrice = await getCurrentPrice();
    
      // 计算收益
      const income = getIncome(currentPrice, orderPrice);
    
      // 计算总手续费
      const totalFee = getTotalFee(currentPrice, orderPrice);
    
      // 计算净收益率
      const pureIncomRate = getPureIncomRate(income, totalFee)
    
      // 首先判断止损条件, 如果达到止损线(-2%), 立刻平仓, 然后重新等待下一次开仓机会
      if(pureIncomRate <= -2%){
        await finishOrder()
        await runApp()
      }else{
        // 如果净收益率超过最低预期净收益率( 0.5%),不平仓,让盈利奔跑
    
        let maxPureIncomRate=0
    
        if(pureIncomRate >= 0.5%){
            // 记录净收益率的最高点
            maxPureIncomRate = Math.max(maxPureIncomRate,pureIncomRate)
    
            // 如果当前净收益率相比最高点下降 40%,则达到盈利平仓条件, 立刻平仓, 然后重新等待下一次开仓机会
            const downRate = getDownRate(maxPureIncomRate,pureIncomRate)
    
            if(downRate >= 0.4){
                 await finishOrder()
                 await runApp()
            }
        }
      }
    }
    
    第 1 条附言  ·  334 天前
    这个策略其实就是预判 K 线后面几秒的走势,比如说,如果前一分钟有非常陡的涨幅,角度超过 75 度,足以说明后面几秒会涨的概率远大于掉头的概率,而只要一点点上涨(净收益率超过 0.5%,还是 3 倍杠杆的情况下),就可以保障这一单是赚的,然后积小成多,胜率会非常之高。像微积分一样无限细分,根据斜率确定未来几秒的 true 或 false, 还是能把握住的,跟着 k 线的惯性走。
    6 条回复    2023-12-29 16:33:55 +08:00
    BingoXuan
        1
    BingoXuan  
       334 天前
    滑点,行情突变,行情盘整等
    gochendong
        2
    gochendong  
       334 天前
    市价成交 滑点 实际收益率会更低
    不挂止损 极端行情亏损远大于预期
    行情不佳 频繁止损 换币种? 调整止盈止损?
    无解矛盾 止盈高了 胜率就低 止盈低了 还 cover 不住磨损
    结局 死
    zictos
        3
    zictos  
       334 天前
    你测了几年的数据?我觉得起码要测 3 年以上,而且我觉得这策略不太可能有正向收益。
    仅仅看一分钟的 k 线根本说明不了什么,一分钟的走势的随机性也很大。而且你的策略的多空界限不明显,比如你开了一个多头,可能下一根 k 线又满足你的开空条件,不过你不会平掉多头,还是继续持有多头。
    而且频率也会比较高,等于要一直持有仓位,很容易触发信号,几乎没有什么空仓期,其实大部分时候市场没明显趋势的时候完全没必要持仓,保持大部分时候空仓会更好,避免在震荡中反复磨损。频率太高导致手续费也是一个问题。如果资金比较大还要考虑滑点问题。
    2%的止损也比较机械,根据市场波动来比较好,常见的就是参考 ATR 指标。
    Ericcccccccc
        4
    Ericcccccccc  
       334 天前
    你拿点小钱几千块试试不就知道了吗...
    NoOneNoBody
        5
    NoOneNoBody  
       334 天前
    风险:涨停买不进,跌停卖不出;实际价格比期望价格变化快
    电脑交易应该要机构席位

    一般散户说的“电脑交易”,只是指电脑下单,网速不够快(注意应该不纯粹是速度问题,更大可能是人为延时)
    agdhole
        6
    agdhole  
       334 天前
    滑点,手续费,这两个是大头
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6004 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 02:45 · PVG 10:45 · LAX 18:45 · JFK 21:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.