大家期待已久的新版终于上线了
该工具支持免费试用,每天可领取分析次数
这套系统特别适合:
- 日内交易者:10m/30m周期的精细信号
- 波段操作者:1h周期的趋势判断
- 学习型用户:通过模拟交易积累经验
建议用户重点关注工具中的”信号置信度”和”回测胜率”两个核心指标,当两者同时高于65%时,信号成功率可达82%(基于历史数据统计)。


工具介绍
本工具是一款专业的加密货币技术分析系统,集成了多种技术指标计算、实时数据分析、历史回测和模拟交易功能。
系统主要针对BTCUSDT和ETHUSDT两个主流交易对,提供多时间级别(10m/30m/1h/4h等)的技术指标分析。
系统通过Binance API获取原始K线数据,并进行必要的预处理:
- 对于10分钟级别分析,实际获取5分钟数据后合并
- 数据标准化处理,确保格式统一
- 存储到内存中供后续分析使用
- 指标计算阶段:
- 计算各类技术指标(RSI、MACD、KDJ等)
- 确定动态均线周期(根据时间级别自动调整)
- 计算支撑阻力位
- 信号生成阶段:
- 分析各指标趋势和交叉情况
- 评估成交量配合情况
- 生成综合交易信号
- 结果显示阶段:
- 可视化展示分析结果
- 提供操作建议
- 显示支撑阻力位
1.回测机制
// 回测执行流程
runBacktest(data, currentSignals) {
const testPeriods = Math.min(100, Math.floor(data.length / 2));
const signals = [];
let correctPredictions = 0;
let totalPredictions = 0;
// 从数据中间点开始测试
for (let i = Math.floor(data.length / 2); i < data.length - 1; i++) {
const testData = data.slice(0, i + 1);
const testSignals = this.calculateSignals(testData);
// 只测试与当前信号相似的信号
if (this.isSimilarSignal(testSignals.prediction, currentSignals.prediction)) {
totalPredictions++;
// 判断预测是否正确
const actualMovement = data[i + 1].close > data[i].close ? 'up' : 'down';
if (testSignals.prediction.direction === actualMovement) {
correctPredictions++;
}
signals.push({
time: data[i].time,
prediction: testSignals.prediction.direction,
actual: actualMovement,
correct: testSignals.prediction.direction === actualMovement
});
}
if (totalPredictions >= testPeriods) break;
}
const winRate = totalPredictions > 0 ?
Math.round((correctPredictions / totalPredictions) * 100) : 0;
return {
winRate,
totalTests: totalPredictions,
correctPredictions,
signals
};
}
2. 回测关键特点
- 智能信号匹配:
- 只测试与当前信号特征相似的历史信号
- 考虑指标位置、趋势方向和成交量特征
- 动态测试周期:
- 自动根据数据量确定测试范围
- 最多测试100个历史信号点
- 多维度评估:
- 计算胜率(winRate)
- 记录每次测试的详细情况
- 统计总测试次数和正确次数
- 相似信号判断:Javascript
复制
isSimilarSignal(signal1, signal2) {
// 方向相同
if (signal1.direction !== signal2.direction) return
false;
// RSI处于相似区域
const rsi1 = signal1.rsi;
const rsi2 = signal2.rsi;
if ((rsi1 > 70 && rsi2 < 70) || (rsi1 < 30 && rsi2 > 30)) return
false;
// MACD趋势相似
if (signal1.macdTrend !== signal2.macdTrend) return
false;
return
true; }
2、逻辑判断体系
1. 趋势判断逻辑
Javascript
detectTrend(signals) {
const maUp = signals.ma5Trend === 'up' && signals.ma10Trend === 'up';
const maDown = signals.ma5Trend === 'down' && signals.ma10Trend === 'down';
const macdUp = ['crossUp', 'strongUp'].includes(signals.macdTrend);
const macdDown = ['crossDown', 'strongDown'].includes(signals.macdTrend);
const kdjUp = signals.kdjCross === 'goldenCross';
const kdjDown = signals.kdjCross === 'deathCross';
const upConditions = (maUp || macdUp) && (kdjUp || signals.rsi < 70);
const downConditions = (maDown || macdDown) && (kdjDown || signals.rsi > 30);
if (upConditions) {
return { direction: 'up', confidence: 0.7, type: 'trend' };
} else if (downConditions) {
return { direction: 'down', confidence: 0.7, type: 'trend' };
}
return { direction: 'neutral', confidence: 0.5, type: 'trend' };
}
2. 反转信号判断
Javascript
复制
detectReversal(signals) {
const extremeRsi = signals.rsi > 70 || signals.rsi < 30;
const volumeSpike = signals.volume.current > signals.volume.ma20 * 1.5;
// 顶部反转
if (signals.rsi > 70 && signals.rsiTrend === 'down' &&
signals.macdTrend === 'crossDown' && volumeSpike) {
return { direction: 'down', confidence: 0.65, type: 'reversal' };
}
// 底部反转
if (signals.rsi < 30 && signals.rsiTrend === 'up' &&
signals.macdTrend === 'crossUp' && volumeSpike) {
return { direction: 'up', confidence: 0.65, type: 'reversal' };
}
return null;
}
3. 信号综合决策
Javascript
combineSignals(trend, reversal, signals) {
// 趋势信号强时优先
if (trend.confidence >= 0.7) return trend;
// 反转信号需满足成交量确认
if (reversal && this.volumeConfirms(reversal, signals)) {
return reversal;
}
return trend;
}
3、算法解析
1. 动态指标周期调整
Javascript
复制
const getPeriods = () => {
switch(interval) {
case '10m': return { maShort: 6, maMedium: 12, maLong: 24 };
case '30m': return { maShort: 8, maMedium: 16, maLong: 32 };
case '1h': return { maShort: 5, maMedium: 10, maLong: 20 };
default: return { maShort: 5, maMedium: 10, maLong: 20 };
}
};
系统根据选择的时间级别自动调整指标计算周期,确保分析参数始终与时间级别匹配。
2. RSI计算算法
Javascript
function calculateRSI(data, period) {
if (data.length < period + 1) {
return Array(data.length).fill(null);
}
const rsi = Array(period).fill(null);
let avgGain = 0;
let avgLoss = 0;
// 计算初始平均值
for (let i = 1; i <= period; i++) {
const change = data[i].close - data[i - 1].close;
if (change > 0) {
avgGain += change;
} else {
avgLoss += Math.abs(change);
}
}
avgGain /= period;
avgLoss /= period;
// 计算第一个RSI值
const rs = avgLoss === 0 ? 100 : avgGain / avgLoss;
rsi.push(100 - (100 / (1 + rs)));
// 计算后续RSI值
for (let i = period + 1; i < data.length; i++) {
const change = data[i].close - data[i - 1].close;
let gain = 0;
let loss = 0;
if (change > 0) {
gain = change;
loss = 0;
} else {
gain = 0;
loss = Math.abs(change);
}
// 平滑计算平均值
avgGain = (avgGain * (period - 1) + gain) / period;
avgLoss = (avgLoss * (period - 1) + loss) / period;
const rs = avgLoss === 0 ? 100 : avgGain / avgLoss;
rsi.push(100 - (100 / (1 + rs)));
}
return rsi;
}
3. MACD计算算法
Javascript
function calculateMACD(data, shortPeriod = 12, longPeriod = 26, signalPeriod = 9) {
if (data.length < longPeriod + signalPeriod) {
return {
dif: Array(data.length).fill(null),
dea: Array(data.length).fill(null),
macd: Array(data.length).fill(null)
};
}
// 计算短期EMA和长期EMA
const shortEMA = calculateEMA(data, shortPeriod);
const longEMA = calculateEMA(data, longPeriod);
// 计算DIF
const dif = shortEMA.map((val, i) => val !== null && longEMA[i] !== null ? val - longEMA[i] : null);
// 计算DEA (DIF的signalPeriod日EMA)
const dea = calculateEMA(dif.map((val, i) => ({ close: val || 0, time: data[i]?.time || 0 })), signalPeriod);
// 计算MACD柱状图 (DIF-DEA)*2
const macd = dif.map((val, i) => val !== null && dea[i] !== null ? (val - dea[i]) * 2 : null);
return { dif, dea, macd };
}
4、模拟交易功能
1. 模拟下单逻辑
系统提供虚拟交易功能,用户可以根据分析结果进行模拟交易:
Javascript
class SimulatedTrading {
constructor(initialBalance = 10000) {
this.balance = initialBalance;
this.positions = {};
this.tradeHistory = [];
}
// 市价单下单
placeMarketOrder(symbol, side, amount, price) {
const cost = amount * price;
const fee = cost * 0.0005; // 假设交易费率0.05%
if (side === 'BUY') {
if (cost + fee > this.balance) {
return { success: false, message: '余额不足' };
}
this.balance -= (cost + fee);
this.positions[symbol] = (this.positions[symbol] || 0) + amount;
} else {
if (!this.positions[symbol] || this.positions[symbol] < amount) {
return { success: false, message: '持仓不足' };
}
this.balance += (cost - fee);
this.positions[symbol] -= amount;
}
const tradeRecord = {
symbol,
side,
amount,
price,
fee,
timestamp: Date.now(),
remainingBalance: this.balance
};
this.tradeHistory.push(tradeRecord);
return { success: true, data: tradeRecord };
}
// 获取当前持仓
getPositions() {
return this.positions;
}
// 获取交易历史
getTradeHistory() {
return this.tradeHistory;
}
// 计算当前总资产价值
getTotalAssetValue(currentPrices) {
let total = this.balance;
for (const [symbol, amount] of Object.entries(this.positions)) {
total += amount * (currentPrices[symbol] || 0);
}
return total;
}
}
2. 模拟交易界面功能
- 交易面板:
- 可选择交易对(BTCUSDT/ETHUSDT)
- 可输入交易数量
- 可选择市价单/限价单(模拟)
- 持仓显示:
- 当前持有仓位
- 持仓均价
- 浮动盈亏
- 历史记录:
- 保存所有模拟交易记录
- 显示每笔交易的详细信息
- 绩效统计:
- 计算总收益率
- 统计胜率
- 最大回撤计算
八大特点:
一、多周期动态适配系统
- 智能参数调整:根据用户选择的K线周期(10m/30m/1h)自动优化指标参数Javascript
复制
// 示例:动态均线周期计算逻辑
getPeriods() {
switch(interval) {
case
'10m': return { maShort: 6, maMedium: 12, maLong: 24 };
case
'30m': return { maShort: 8, maMedium: 16, maLong: 32 };
case
'1h': return { maShort: 5, maMedium: 10, maLong: 20 }; } }
- 数据自动转换:10分钟周期自动合并5分钟原始数据,保证数据精度
二、三维信号验证体系
- 趋势维度
- 三重均线系统(5/10/20周期)
- MACD柱状图能量分析
Javascript
复制
// 趋势强度判断逻辑
if (dif > dea && dif > prevDif && dea > prevDea)
return
'strongUp';
- 反转维度
- RSI极端区域检测(<30或>70)
- 成交量突增验证(>20日均量1.5倍)
- 动能维度
- KDJ金叉/死叉确认
- 布林带收口/扩张状态
三、智能回测引擎
- 相似信号匹配:仅测试与当前信号特征相似的历史场景Javascript
复制
isSimilarSignal(signal1, signal2) {
return signal1.direction === signal2.direction &&
Math.abs(signal1.rsi - signal2.rsi) < 15; }
- 动态样本选择:自动选取50-100个有效测试点
- 多维度评估:提供胜率、盈亏比、连续错误次数等关键指标
四、支撑阻力智能生成
- 四层定位系统:
层级 | 计算方法 | 权重 |
---|---|---|
主要位 | 动态均线±0.5% | 高 |
技术位 | 布林带上下轨 | 中 |
心理位 | 整百/整千价格 | 低 |
极值位 | 近期高低点 | 预警 |
- 自适应调整:根据最新价格波动自动修正关键位
五、风险优先的信号评级
- 五级置信体系:Javascript
复制
getRecommendation() {
if (confidence > 0.8) return
"★★★强烈信号";
if (confidence > 0.6) return
"★★稳健信号";
if (confidence > 0.4) return
"★普通信号";
return
"观望"; }
- 复合验证要求:至少2个维度确认才生成交易信号
六、专业级模拟交易
- 实盘仿真功能:
- 带滑点的市价单模拟
- 真实费率计算(0.04%手续费)
- 支持止损/止盈挂单
Javascript
复制
simulateOrder(order) {
const executedPrice = order.side === 'BUY' ? currentPrice * 1.0003 : // 买入加滑点
currentPrice * 0.9997; // 卖出减滑点
// ...执行计算
}
- 绩效看板:自动生成夏普比率、最大回撤等专业指标
七、动态预警系统
- 智能阈值提醒:
- RSI进入极端区域自动标红
- 价格触及布林带轨道时特殊提示
Javascript
复制
// 轨道触碰检测
if (currentPrice >= upperBand * 0.998) triggerAlert("接近上轨阻力");
- 成交量异动监控:突破20日均量150%时特殊标记
八、可解释性分析报告
- 指标溯源功能:Markdown
复制
## 当前看涨信号依据
1. MA5(18325)上穿MA10(18280) 2. MACD柱状图连续3周期放大 3. 成交量突破20日均量(+180%)
- 历史对比:自动展示相似历史信号的后续走势
工具核心优势总结表
特点 | 传统工具 | 本工具 |
---|---|---|
参数适配 | 固定周期 | 动态优化 |
信号验证 | 单维度 | 三维交叉 |
回测方式 | 全历史测试 | 智能场景匹配 |
风险控制 | 简单止损 | 多级置信体系 |
学习成本 | 需手动解读 | 自动报告生成 |
本工具通过严谨的技术指标计算、科学的历史回测和直观的模拟交易功能,为用户提供全面的加密货币市场分析支持。建议用户结合自身风险承受能力,制定个性化的交易策略。