[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线来判断自己的单是否会成交。

相关推荐
haierccc25 分钟前
Win7、2008R2、Win10、Win11使用FLASH的方法
前端·javascript·html
We་ct28 分钟前
LeetCode 50. Pow(x, n):从暴力法到快速幂的优化之路
开发语言·前端·javascript·算法·leetcode·typescript·
Hilaku34 分钟前
卷AI、卷算法、2026 年的前端工程师到底在卷什么?
前端·javascript·面试
军军君011 小时前
Three.js基础功能学习十五:智能黑板实现实例二
开发语言·前端·javascript·vue.js·3d·threejs·三维
四千岁1 小时前
Ollama+OpenWebUI 最佳组合:本地大模型可视化交互方案
前端·javascript·后端
写不来代码的草莓熊1 小时前
el-date-picker ,自定义输入数字自动转换显示yyyy-mm-dd HH:mm:ss格式
前端·javascript·vue.js
Wect1 小时前
JS手撕:手写Koa中间件与Promise核心特性
前端·javascript·面试
张元清1 小时前
React 文件处理:上传、拖放区与对象 URL
前端·javascript·面试
煜bart2 小时前
使用 TypeScript 实现算法处理
开发语言·前端·javascript
Cobyte3 小时前
4.响应式系统基础:从发布订阅模式的角度理解 Vue3 的数据响应式原理
前端·javascript·vue.js