原理:超短线,只看前一分钟起始价和结束价的斜率趋势,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()
}
}
}
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.