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

相关推荐
shuaijie05182 小时前
强制修改调用接口的api地址。
javascript·vue.js·ecmascript
JerrySir3 小时前
恶意 npm 包只活了 17 分钟:技术面试里,为什么“升级依赖”还不算止血?
javascript·安全
白帽小阳3 小时前
2026前端面试题!(附答案及解析)
javascript·网络·python·安全·web安全·网络安全·护网行动
这是个栗子3 小时前
前端开发中的常用工具函数(八)
开发语言·前端·javascript
Hilaku3 小时前
Vue 和 React 真正的差距,不在语法,而在团队犯错成本
前端·javascript·程序员
研☆香3 小时前
为什么变量声明在赋值前也能使用?—— 深入理解 JavaScript 变量提升与作用域
开发语言·前端·javascript
柯克七七4 小时前
我把 bug 修得太干净了,测试组以为这个模块本来就没问题
前端·javascript·typescript
Null1554 小时前
浏览器唤起桌面端应用(终极篇)
前端·javascript
妙码生花4 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(三十四):后台初始化请求实现
前端·javascript·go
JackieZhengChina4 小时前
零依赖轻量级JS悬浮提示插件title2tip-js的使用教程
开发语言·javascript·ecmascript