[FMZ][JS]第一个回测程序--让时间轴跑起来

回测程序的第一件事:让它跑起来。因此我们需要一个死循环,一个时间,和一个执行函数。它类似于一个setInteval,只不过是通过死循环来实现的。

那么为什么不用setInteval呢?因为我们在模拟,而setInteval需要我们真正等那么久。这里的Sleep在模拟的时候会直接略过。(难道我Sleep一天,就需要等一天之后再去看下一条Log嘛?)

因此我们需要使用它封装好的接口来让时间轴动起来。

js 复制代码
let day = 0;
function main() {
    while (1) {
        OnDay();
        Sleep(1000 * 60 * 60 * 24);
    }
}

function OnDay() {
    day++;
    Log("新的一天!", day);
}

运行结果

在这里K线周期可以选1天,因为我们1天才运行一次。当我们真正需要计算的时候,这里应该设为分钟,按照分钟去获取K线,然后判断是否要买卖。

注意这里的模拟级:所有的买卖都必将成交------在这里你甚至可以调用以1元的价格买入1个比特币,再以2000元的价格卖掉这1个比特币,这些都将会成交。

但这种自欺欺人的行为是无意义的,因此你还是需要根据K线来判断自己的单是否会成交。

相关推荐
lerhxx12 小时前
AI 应用如何高效优雅地恢复中断?—— "连接解耦 + 状态持久化"
前端·javascript
mantou13213 小时前
我给 AI Agent 做了个「油猴」:让 Claude Code / Codex 直接用你已登录的浏览器
前端·javascript·后端
默_笙13 小时前
🍕 一个主编、三个工种、两本手册:搭一支 AI 调研队
前端·javascript
CappuccinoRose14 小时前
FormData数据处理
开发语言·前端·javascript·表单数据
飘尘15 小时前
SVG和Canvas,前端里的两支“画笔”,用的时候怎么选择?
前端·javascript·面试
Sand(ContextGate)19 小时前
Python Agent 测试实战:测试与评估,让 Agent 像传统软件一样可交付
前端·javascript·python·microsoft·ai
码艺-Alimjan19 小时前
Tauri 网站To桌面应用实战总结
前端·javascript·vue
liangshanbo121521 小时前
请求拦截器相关面试题
java·前端·javascript
liangshanbo121521 小时前
React面试题:Hooks 为什么不能在分支和循环里面写?
前端·javascript·react.js
西红柿炖牛腩35421 小时前
GLB 转 OBJ/PLY 后体积没变?3D 模型不减面变小靠什么
前端·javascript·3d