Free trading calculators, trading-system rules, a glossary and lesson search. No market data.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
A volatility (ATR) stop: entry minus (long) or plus (short) a multiple of the average true range. Give atr, or at least five recent daily ranges (high minus low). Computed with the same function as Clear Tape's free atr stop-loss calculator page (linked in the result), not estimated. Returns the inputs, each result with its unit, the formula and the page link. Educational, not investment advice.
Entry price per share in USD.
ATR multiple for the stop distance, commonly 1.5 to 3.
Average true range in USD (e.g. the 14-day ATR). Give this or ranges.
Language of the returned text: "en" (default) or "zh" (Simplified Chinese).
Trade direction: "long" (default) or "short".
Alternative to atr: 5 to 500 recent daily ranges (high minus low) in USD; their average stands in for the ATR.
A volatility (ATR) stop: entry minus (long) or plus (short) a multiple of the average true range. Give atr, or at least five recent daily ranges (high minus low). Computed with the same function as Clear Tape's free atr stop-loss calculator page (linked in the result), not estimated. Returns the inputs, each result with its unit, the formula and the page link. Educational, not investment advice.
| Argument | Type | Description |
|---|---|---|
| atr | number | Average true range in USD (e.g. the 14-day ATR). Give this or ranges. |
| lang | string | Language of the returned text: "en" (default) or "zh" (Simplified Chinese). |
| side | string | Trade direction: "long" (default) or "short". |
| entry* | number | Entry price per share in USD. |
| ranges | array | Alternative to atr: 5 to 500 recent daily ranges (high minus low) in USD; their average stands in for the ATR. |
| multiple* | number | ATR multiple for the stop distance, commonly 1.5 to 3. |
{
"type": "object",
"required": [
"entry",
"multiple"
],
"properties": {
"atr": {
"type": "number",
"maximum": 10000000,
"description": "Average true range in USD (e.g. the 14-day ATR). Give this or ranges.",
"exclusiveMinimum": 0
},
"lang": {
"enum": [
"en",
"zh"
],
"type": "string",
"default": "en",
"description": "Language of the returned text: \"en\" (default) or \"zh\" (Simplified Chinese)."
},
"side": {
"enum": [
"long",
"short"
],
"type": "string",
"default": "long",
"description": "Trade direction: \"long\" (default) or \"short\"."
},
"entry": {
"type": "number",
"maximum": 10000000,
"description": "Entry price per share in USD.",
"exclusiveMinimum": 0
},
"ranges": {
"type": "array",
"items": {
"type": "number",
"maximum": 10000000,
"description": "One daily range in USD.",
"exclusiveMinimum": 0
},
"maxItems": 500,
"minItems": 5,
"description": "Alternative to atr: 5 to 500 recent daily ranges (high minus low) in USD; their average stands in for the ATR."
},
"multiple": {
"type": "number",
"maximum": 100,
"description": "ATR multiple for the stop distance, commonly 1.5 to 3.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}The gain needed to recover from a drawdown and, optionally, how many losing trades in a row at a fixed risk per trade cause it. Computed with the same function as Clear Tape's free drawdown recovery calculator page (linked in the result), not estimated. Returns the inputs, each result with its unit, the formula and the page link. Educational, not investment advice.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language of the returned text: "en" (default) or "zh" (Simplified Chinese). |
| loss* | number | Drawdown in percent of the account (20 = 20%). Above 0, below 100. |
| riskPct | number | Optional: risk per trade in percent of the account. Above 0, below 100. |
{
"type": "object",
"required": [
"loss"
],
"properties": {
"lang": {
"enum": [
"en",
"zh"
],
"type": "string",
"default": "en",
"description": "Language of the returned text: \"en\" (default) or \"zh\" (Simplified Chinese)."
},
"loss": {
"type": "number",
"description": "Drawdown in percent of the account (20 = 20%). Above 0, below 100.",
"exclusiveMaximum": 100,
"exclusiveMinimum": 0
},
"riskPct": {
"type": "number",
"description": "Optional: risk per trade in percent of the account. Above 0, below 100.",
"exclusiveMaximum": 100,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Expectancy per trade, per 100 trades, payoff ratio, break-even win rate and profit factor from a win rate and average win and loss. Computed with the same function as Clear Tape's free trading expectancy calculator page (linked in the result), not estimated. Returns the inputs, each result with its unit, the formula and the page link. Educational, not investment advice.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language of the returned text: "en" (default) or "zh" (Simplified Chinese). |
| avgWin* | number | Average winning trade as a positive amount, in USD or in R. |
| avgLoss* | number | Average losing trade as a positive amount, in the same unit as avgWin. |
| winRate* | number | Win rate in percent (40 = 40%). Above 0, at most 100. |
{
"type": "object",
"required": [
"winRate",
"avgWin",
"avgLoss"
],
"properties": {
"lang": {
"enum": [
"en",
"zh"
],
"type": "string",
"default": "en",
"description": "Language of the returned text: \"en\" (default) or \"zh\" (Simplified Chinese)."
},
"avgWin": {
"type": "number",
"maximum": 1000000000000,
"description": "Average winning trade as a positive amount, in USD or in R.",
"exclusiveMinimum": 0
},
"avgLoss": {
"type": "number",
"maximum": 1000000000000,
"description": "Average losing trade as a positive amount, in the same unit as avgWin.",
"exclusiveMinimum": 0
},
"winRate": {
"type": "number",
"maximum": 100,
"description": "Win rate in percent (40 = 40%). Above 0, at most 100.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Full and fractional Kelly risk per trade from a win rate and payoff ratio, with the edge per 1R and the break-even win rate. Computed with the same function as Clear Tape's free kelly criterion calculator page (linked in the result), not estimated. Returns the inputs, each result with its unit, the formula and the page link. Educational, not investment advice.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language of the returned text: "en" (default) or "zh" (Simplified Chinese). |
| payoff* | number | Payoff ratio: average win divided by average loss (2 = winners twice the size of losers). |
| winRate* | number | Win rate in percent. Above 0, below 100. |
| fraction* | number | Share of full Kelly to use, in percent: 25 = quarter Kelly, 50 = half, 100 = full. Above 0, at most 100. |
{
"type": "object",
"required": [
"winRate",
"payoff",
"fraction"
],
"properties": {
"lang": {
"enum": [
"en",
"zh"
],
"type": "string",
"default": "en",
"description": "Language of the returned text: \"en\" (default) or \"zh\" (Simplified Chinese)."
},
"payoff": {
"type": "number",
"maximum": 1000000,
"description": "Payoff ratio: average win divided by average loss (2 = winners twice the size of losers).",
"exclusiveMinimum": 0
},
"winRate": {
"type": "number",
"description": "Win rate in percent. Above 0, below 100.",
"exclusiveMaximum": 100,
"exclusiveMinimum": 0
},
"fraction": {
"type": "number",
"maximum": 100,
"description": "Share of full Kelly to use, in percent: 25 = quarter Kelly, 50 = half, 100 = full. Above 0, at most 100.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}The exact probability of at least one losing streak of a given length over a number of independent trades, the expected longest streak and the streak 95% of sequences stay within. Computed with the same function as Clear Tape's free losing streak calculator page (linked in the result), not estimated. Returns the inputs, each result with its unit, the formula and the page link. Educational, not investment advice.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language of the returned text: "en" (default) or "zh" (Simplified Chinese). |
| streak* | integer | Losing streak length to test, a whole number no larger than trades. |
| trades* | integer | Number of trades, a whole number from 1 to 2000. |
| winRate* | number | Win rate in percent. Above 0, at most 100. |
{
"type": "object",
"required": [
"winRate",
"trades",
"streak"
],
"properties": {
"lang": {
"enum": [
"en",
"zh"
],
"type": "string",
"default": "en",
"description": "Language of the returned text: \"en\" (default) or \"zh\" (Simplified Chinese)."
},
"streak": {
"type": "integer",
"maximum": 2000,
"minimum": 1,
"description": "Losing streak length to test, a whole number no larger than trades."
},
"trades": {
"type": "integer",
"maximum": 2000,
"minimum": 1,
"description": "Number of trades, a whole number from 1 to 2000."
},
"winRate": {
"type": "number",
"maximum": 100,
"description": "Win rate in percent. Above 0, at most 100.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Position size from the stop: how many shares to buy (or short) so that a stop-out loses a set percentage of the account. Computed with the same function as Clear Tape's free position size calculator page (linked in the result), not estimated. Returns the inputs, each result with its unit, the formula and the page link. Educational, not investment advice.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language of the returned text: "en" (default) or "zh" (Simplified Chinese). |
| stop* | number | Stop price per share in USD. Below the entry for a long, above it for a short; not equal to the entry. |
| entry* | number | Entry price per share in USD. |
| account* | number | Account size in USD. |
| riskPct* | number | Risk per trade, percent of the account (1 = 1%). Above 0, at most 100. |
{
"type": "object",
"required": [
"account",
"riskPct",
"entry",
"stop"
],
"properties": {
"lang": {
"enum": [
"en",
"zh"
],
"type": "string",
"default": "en",
"description": "Language of the returned text: \"en\" (default) or \"zh\" (Simplified Chinese)."
},
"stop": {
"type": "number",
"maximum": 10000000,
"description": "Stop price per share in USD. Below the entry for a long, above it for a short; not equal to the entry.",
"exclusiveMinimum": 0
},
"entry": {
"type": "number",
"maximum": 10000000,
"description": "Entry price per share in USD.",
"exclusiveMinimum": 0
},
"account": {
"type": "number",
"maximum": 1000000000000,
"description": "Account size in USD.",
"exclusiveMinimum": 0
},
"riskPct": {
"type": "number",
"maximum": 100,
"description": "Risk per trade, percent of the account (1 = 1%). Above 0, at most 100.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Risk/reward ratio of a planned trade, the win rate it needs to break even, and (optionally) an exit expressed as an R multiple. Computed with the same function as Clear Tape's free risk/reward and r-multiple calculator page (linked in the result), not estimated. Returns the inputs, each result with its unit, the formula and the page link. Educational, not investment advice.
| Argument | Type | Description |
|---|---|---|
| exit | number | Optional: an actual or planned exit price in USD, returned as an R multiple. |
| lang | string | Language of the returned text: "en" (default) or "zh" (Simplified Chinese). |
| stop* | number | Stop price per share in USD; not equal to the entry. |
| entry* | number | Entry price per share in USD. |
| target* | number | Target price per share in USD, on the other side of the entry from the stop. |
{
"type": "object",
"required": [
"entry",
"stop",
"target"
],
"properties": {
"exit": {
"type": "number",
"maximum": 10000000,
"description": "Optional: an actual or planned exit price in USD, returned as an R multiple.",
"exclusiveMinimum": 0
},
"lang": {
"enum": [
"en",
"zh"
],
"type": "string",
"default": "en",
"description": "Language of the returned text: \"en\" (default) or \"zh\" (Simplified Chinese)."
},
"stop": {
"type": "number",
"maximum": 10000000,
"description": "Stop price per share in USD; not equal to the entry.",
"exclusiveMinimum": 0
},
"entry": {
"type": "number",
"maximum": 10000000,
"description": "Entry price per share in USD.",
"exclusiveMinimum": 0
},
"target": {
"type": "number",
"maximum": 10000000,
"description": "Target price per share in USD, on the other side of the entry from the stop.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}The cost of one round trip (commissions, bid-ask spread, slippage) in USD, in R, as a share of the target move and of the position, and over a year of trades. Computed with the same function as Clear Tape's free trading cost calculator page (linked in the result), not estimated. Returns the inputs, each result with its unit, the formula and the page link. Educational, not investment advice.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language of the returned text: "en" (default) or "zh" (Simplified Chinese). |
| stop* | number | Stop price per share in USD; not equal to the entry. |
| entry* | number | Entry price per share in USD. |
| shares* | number | Number of shares. |
| spread* | number | Bid-ask spread per share in USD (paid once per round trip, half on each side). |
| target | number | Optional: target price per share in USD, on the other side of the entry from the stop. |
| trades | number | Optional: round trips per year, for the annual cost. |
Without id: lists Clear Tape's eleven preset trading systems (trend, breakout, momentum and volume) with their style, holding period and one-line entry, stop and exit. With id: one system's exact written rules (entry, stop, exit, target, parameters, the data it needs, terms, where it differs from the published method), its strengths, weaknesses, who it suits and its sources, worded exactly as on its strategy page. Rules only: no signals, no prices, no performance figures. Educational, not investment advice.
| Argument | Type | Description |
|---|---|---|
| id | string | The system to describe; leave out to list them all. |
| lang | string | Language of the returned text: "en" (default) or "zh" (Simplified Chinese). |
{
"type": "object",
"required": [],
"properties": {
"id": {
"enum": [
"leader-trend-filter",
"20-day-breakout",
"52-week-high-breakout",
"volume-base-breakout",
"21-ema-pullback",
"10-20-ema-crossover",
"rsi-2-strategy",
"bollinger-band-squeeze",
"pocket-pivot",
"nr7-inside-day-breakout",
"rs-line-new-high"
],
"type": "string",
"description": "The system to describe; leave out to list them all."
},
"lang": {
"enum": [
"en",
"zh"
],
"type": "string",
"default": "en",
"description": "Language of the returned text: \"en\" (default) or \"zh\" (Simplified Chinese)."
}
},
"additionalProperties": false
}Looks up a trading term in Clear Tape's bilingual (English and Simplified Chinese) glossary of about 70 terms, such as "R multiple", "ATR", "drawdown" or "止损". Matches names, abbreviations and pinyin, and tolerates misspellings. Returns the definition, the term in the other language, close matches and links.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language of the returned text: "en" (default) or "zh" (Simplified Chinese). |
| term* | string | The term to look up, in English or Chinese. |
{
"type": "object",
"required": [
"term"
],
"properties": {
"lang": {
"enum": [
"en",
"zh"
],
"type": "string",
"default": "en",
"description": "Language of the returned text: \"en\" (default) or \"zh\" (Simplified Chinese)."
},
"term": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The term to look up, in English or Chinese."
}
},
"additionalProperties": false
}Searches Clear Tape's free trading education by keyword: the Learn articles, the Academy lessons, the trading-strategy pages and the calculators, in English or Chinese. Returns titles, one-line summaries and links to read the full page. No market data.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language of the returned text: "en" (default) or "zh" (Simplified Chinese). |
| limit | integer | Most results to return (1 to 20, default 8). |
| query* | string | Keywords, e.g. "position sizing" or "均值回归". |
{
"type": "object",
"required": [
"query"
],
"properties": {
"lang": {
"enum": [
"en",
"zh"
],
"type": "string",
"default": "en",
"description": "Language of the returned text: \"en\" (default) or \"zh\" (Simplified Chinese)."
},
"limit": {
"type": "integer",
"default": 8,
"maximum": 20,
"minimum": 1,
"description": "Most results to return (1 to 20, default 8)."
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Keywords, e.g. \"position sizing\" or \"均值回归\"."
}
},
"additionalProperties": false
}| slippage* | number | Slippage per share per side in USD. |
| commission* | number | Commission per order (each side) in USD; 0 if none. |
{
"type": "object",
"required": [
"entry",
"stop",
"shares",
"commission",
"spread",
"slippage"
],
"properties": {
"lang": {
"enum": [
"en",
"zh"
],
"type": "string",
"default": "en",
"description": "Language of the returned text: \"en\" (default) or \"zh\" (Simplified Chinese)."
},
"stop": {
"type": "number",
"maximum": 10000000,
"description": "Stop price per share in USD; not equal to the entry.",
"exclusiveMinimum": 0
},
"entry": {
"type": "number",
"maximum": 10000000,
"description": "Entry price per share in USD.",
"exclusiveMinimum": 0
},
"shares": {
"type": "number",
"maximum": 1000000000,
"description": "Number of shares.",
"exclusiveMinimum": 0
},
"spread": {
"type": "number",
"maximum": 10000000,
"minimum": 0,
"description": "Bid-ask spread per share in USD (paid once per round trip, half on each side)."
},
"target": {
"type": "number",
"maximum": 10000000,
"description": "Optional: target price per share in USD, on the other side of the entry from the stop.",
"exclusiveMinimum": 0
},
"trades": {
"type": "number",
"maximum": 1000000,
"description": "Optional: round trips per year, for the annual cost.",
"exclusiveMinimum": 0
},
"slippage": {
"type": "number",
"maximum": 10000000,
"minimum": 0,
"description": "Slippage per share per side in USD."
},
"commission": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Commission per order (each side) in USD; 0 if none."
}
},
"additionalProperties": false
}