// main.js
const dataModule = require('./data');
const { calculateMA } = require('./indicator');
//const { doubleMA } = require('./strategy');
const trade = require('./trade');
const chart = require('./chart');
const config = require('./config');
const api = require('./api');
console.log(__dirname);
console.log(__filename);
async function main() {
const klines = await api.getKlines({
symbol: '000001.XSHE',
interval: '1d',
start: '2021-01-01',
end: '2022-01-01',
});
console.log(klines);
const { stockCode, shortMA, longMA, amount, waitTime, stopLoss } = config;
let position = 0;
let waitCount = 0;
let tradeRecords = [];
setInterval(async () => {
const stockData = await dataModule.getData(stockCode);
const maData = calculateMA(stockData, [shortMA, longMA]);
const signal = doubleMA(stockData, shortMA, longMA);
const lastSignal = signal[signal.length - 1];
if (lastSignal === 'buy' && position === 0) {
if (waitCount >= waitTime) {
const buyPrice = stockData[stockData.length - 1].close;
trade.buy(stockCode, amount);
position = amount;
waitCount = 0;
tradeRecords.push({
time: new Date(),
code: stockCode,
price: buyPrice,
amount: amount,
type: 'buy',
});
chart.draw(stockData, maData, signal, tradeRecords);
} else {
waitCount++;
}
} else if (lastSignal === 'sell' && position > 0) {
const sellPrice = stockData[stockData.length - 1].close;
trade.sell(stockCode, position);
position = 0;
waitCount = 0;
tradeRecords.push({
time: new Date(),
code: stockCode,
price: sellPrice,
amount: position,
type: 'sell',
});
chart.draw(stockData, maData, signal, tradeRecords);
} else {
waitCount = 0;
}
if (position > 0 && stopLoss > 0) {
const currentPrice = stockData[stockData.length - 1].close;
const stopLossPrice = currentPrice * (1 - sto
错误提示:Uncaught Error Error: Cannot find module './api' Require stack: - C:\Users\Lenovo\Desktop\股票项目\src\main.js at Module._resolveFilename (node:internal/modules/cjs/loader:1082:15) at Module._load (node:internal/modules/cjs/loader:928:27) at Module.require (node:internal/modules/cjs/loader:1149:19) at require (node:internal/modules/helpers:121:18) at (file:///C:/Users/Lenovo/Desktop/%E8%82%A1%E7%A5%A8%E9%A1%B9%E7%9B%AE/src/main.js:9:13) at Module._compile (node:internal/modules/cjs/loader:1267:14) at Module._extensions..js (node:internal/modules/cjs/loader:1321:10) at Module.load (node:internal/modules/cjs/loader:1125:32) at Module._load (node:internal/modules/cjs/loader:965:12) at executeUserEntryPoint (node:internal/modules/run_main:83:12) at (node:internal/main/run_main_module:23:47)
Process exited with code 1
地址应该是 ./api/api