Forex API
为 50+ 个主要、次要及异国货币对提供 Tick 级报价。
通过一个 WebSocket 和 REST API 传输 Tick 级 Forex、Crypto、Stock、Commodity 和 Index 数据。几秒钟即可获取免费密钥——无需销售沟通。
| 代码 | 资产类别 | 价格 | 实时变动 |
|---|---|---|---|
| EUR/USD 外汇欧元 / 美元 | 外汇 | - | - |
| BTC/USDT 加密货币比特币 | 加密货币 | - | - |
| ETH/USDT 加密货币以太坊 | 加密货币 | - | - |
| AAPL 股票苹果公司 | 股票 | - | - |
| XAU/USD 大宗商品现货黄金 | 大宗商品 | - | - |
| USD/JPY 外汇美元 / 日元 | 外汇 | - | - |
| NVDA 股票英伟达公司 | 股票 | - | - |
| SPX 指数标普 500 指数 | 指数 | - | - |
AllTick 覆盖的每个市场都可通过同一个统一的 REST 和 WebSocket 接口访问。
为 50+ 个主要、次要及异国货币对提供 Tick 级报价。
实时现货和衍生品数据,标准化为一个数据流。
覆盖美股、港股和 A 股市场的股票,提供成交和报价。
贵金属和能源的实时定价。
主要全球指数的基准指数值和成分股。
比较 AllTick 各个市场的覆盖范围、延迟和数据类型。
浏览产品AllTick 与典型传统行情数据供应商的对比。
| 能力 | AllTick | 典型传统供应商 |
|---|---|---|
| WebSocket 中位延迟 | 约 150ms | 400–800ms |
| 一个 API 中的资产类别 | 5(FX、Crypto、Stock、Commodities、Indices) | 1–2 |
| 可用性 SLA | 99.95% | 99.5% 或无 |
| 免费等级 | 有——即时 API 密钥 | 需要销售沟通 |
| WebSocket 流 | 原生支持 | 轮询 / 有限支持 |
通过 WebSocket 连接并订阅任何市场中的任意交易品种。
# AllTick realtime financial data API
# forex crypto stock commodities indices
import asyncio, json, uuid
import websockets
subscribe = {
"cmd_id": 22004,
"seq_id": 1,
"trace": str(uuid.uuid4()),
"data": {"symbol_list": [{"code": "EURUSD"}]},
}
heartbeat = {"cmd_id": 22000, "seq_id": 1, "trace": "heartbeat", "data": {}}
async def stream():
uri = "wss://quote.alltick.co/quote-b-ws-api?token=YOUR_API_KEY"
async with websockets.connect(uri) as socket:
await socket.send(json.dumps(subscribe))
async def keep_alive():
while True:
await asyncio.sleep(10)
await socket.send(json.dumps(heartbeat))
asyncio.create_task(keep_alive())
async for message in socket:
print(json.loads(message))
asyncio.run(stream())分享市场数据工程、流式 API 与低延迟金融应用开发的实用内容。

海龟交易策略(Turtle Trading Strategy)是由Richard Dennis和William…
海龟交易策略(Turtle Trading Strategy)是由Richard Dennis和William Eckhardt在20世纪80年代开发的一种经典趋势跟随策略。该策略通过追踪价格的最高价和最低价来确定买入和卖出点位,并旨在捕捉长期趋势并获取利润。
Richard Dennis是美国70年代著名的期货投资者,据传他在短短三年内从期货市场赚走了3.5亿美金。他曾和朋友William Eckhardt打赌,认为交易技能并不是天生的天赋,通过后天的系统培训,小白也可以变成出色的交易者。他招募24个普通人(他称之为“海龟”),并对他们进行了为期两周的培训,通过培训考核后给他们每个人都安排了一笔初始资金作为本金,金额从25万至200万美金不等。五年后,这些“海龟”的资金达到了1.75亿美金,Richard Dennis在实验结束后公布了他的培训体系,这就是著名的海龟交易策略。海龟交易策略是最早的量化交易方法之一,它的成功使得更多的交易者开始采用系统化的方法来进行交易,而不仅仅是依靠主观判断或者情绪。
海龟交易策略非常注重严格的风险管理,这对量化交易产生了深远影响。量化交易者开始更加重视风险控制,采用止损和仓位控制等方法来规避风险。以下是海龟交易策略的详细介绍:
需要注意的是,海龟交易策略并非完美无缺,可能会遇到市场不适应或产生较大回撤的情况。因此,风险管理和严格执行交易规则对于该策略的成功至关重要。此外,策略的具体参数和细节可能因个人而异,应根据个人的风险偏好、交易目标和市场条件进行适当的调整和优化。
import java.util.List;
public class TurtleTradingStrategy { public static void main(String[] args) { List<Double> prices = // 获取价格数据的方法,例如从API或文件中读取 int breakoutPeriod = 20; // 突破周期 double highestHigh = Double.MIN_VALUE; double lowestLow = Double.MAX_VALUE; boolean inMarket = false; // 是否持仓 double entryPrice = 0.0; // 入场价格 for (double price : prices) { // 更新最高价和最低价 if (price > highestHigh) { highestHigh = price; } if (price < lowestLow) { lowestLow = price; } if (!inMarket && price > highestHigh) { // 产生买入信号,突破最高价,买入 inMarket = true; entryPrice = price; // 执行买入操作 // ... } else if (inMarket && price < lowestLow) { // 产生卖出信号,突破最低价,卖出 inMarket = false; // 执行卖出操作 // ... } // 更新突破周期内的最高价和最低价 if (prices.indexOf(price) >= breakoutPeriod) { double previousPrice = prices.get(prices.indexOf(price) - breakoutPeriod); if (previousPrice == highestHigh) { // 需要重新计算最高价 highestHigh = calculateHighestHigh(prices, prices.indexOf(price) - breakoutPeriod + 1, prices.indexOf(price)); } if (previousPrice == lowestLow) { // 需要重新计算最低价 lowestLow = calculateLowestLow(prices, prices.indexOf(price) - breakoutPeriod + 1, prices.indexOf(price)); } } } } private static double calculateHighestHigh(List<Double> prices, int startIndex, int endIndex) { double highestHigh = Double.MIN_VALUE; for (int i = startIndex; i <= endIndex; i++) { double price = prices.get(i); if (price > highestHigh) { highestHigh = price; } } return highestHigh; } private static double calculateLowestLow(List<Double> prices, int startIndex, int endIndex) { double lowestLow = Double.MAX_VALUE; for (int i = startIndex; i <= endIndex; i++) { double price = prices.get(i); if (price < lowestLow) { lowestLow = price; } } return lowestLow; }}
def turtle_trading_strategy(prices, breakout_period=20, risk_percentage=0.02):
highest_high = float('-inf')
lowest_low = float('inf')
in_market = False
entry_price = 0.0
for price in prices:
# 更新最高价和最低价
if price > highest_high:
highest_high = price
if price < lowest_low:
lowest_low = price
if not in_market and price > highest_high:
# 产生买入信号,突破最高价,买入
in_market = True
entry_price = price
# 执行买入操作
# ...
elif in_market and price < lowest_low:
# 产生卖出信号,突破最低价,卖出
in_market = False
# 执行卖出操作
# ...
# 更新突破周期内的最高价和最低价
if prices.index(price) >= breakout_period:
previous_prices = prices[prices.index(price) - breakout_period:prices.index(price)]
previous_highest_high = max(previous_prices)
previous_lowest_low = min(previous_prices)
if previous_highest_high == highest_high:
# 需要重新计算最高价
highest_high = calculate_highest_high(prices, prices.index(price) - breakout_period + 1, prices.index(price))
if previous_lowest_low == lowest_low:
# 需要重新计算最低价
lowest_low = calculate_lowest_low(prices, prices.index(price) - breakout_period + 1, prices.index(price))
def calculate_highest_high(prices, start_index, end_index):
highest_high = float('-inf')
for i in range(start_index, end_index + 1):
price = prices[i]
if price > highest_high:
highest_high = price
return highest_high
def calculate_lowest_low(prices, start_index, end_index):
lowest_low = float('inf')
for i in range(start_index, end_index + 1):
price = prices[i]
if price < lowest_low:
lowest_low = price
return lowest_low