Download OpenAPI specification: [Technical_Analysis_API.yaml]
This document describes Autochartist Trading Opportunities.
Our APIs require the following url parameters on every call:
brokerid – your customer ID on our systems (provided to you)
user – a unique ID of the end-user consuming the information. For server-2-Server integrations this would typically be your company name
accounttype – 0 = LIVE, 1 = DEMO
expiry – Unix timestamp of when this token will expire____token – a token generated by MD5(user|[accounttype]|[expiry][secretkey])
in which secretkey is the secret key provided to you, not to be shared with the end-user
Note the ‘|’ (Pipe) character before and after the AccountType parameter
$expiryDate = time() + (3 * 24 * 60 * 60);
$userid = “myuserid”;
$accountType = “0”;
$secretKey = “secretkey”;
$token = md5(“${userid}|${accountType}|${expiryDate}${secretKey }”);
echo $token;
?>
import hashlib
import time
expiry_date = int(time.time()) + (3 * 24 * 60 * 60)
userid = "myuserid"
account_type = "0"
secret_key = "secretkey"
token = hashlib.md5(f"{userid}|{account_type}|{expiry_date}{secret_key}".encode("utf-8")).hexdigest()
print(token)
Returns latest pattern results for the specified symbol group category.
User configuration is used to limit the pattern results search. The pattern search criteria include the following information:
patterns
pattern results
symbols
intervals
exchanges
age - number of candles
candles delay - For demo accounts, any pattern result with age less than 5 is excluded from the results.
Status 200 - application/json - latest pattern results.
The JSON object includes the following keys:
page - pagination configuration for pagination links.
items - a list of pattern result items.
new - indicate whether the data has been updated since the last request if any.
data - pattern result item - see "Fields" below
links - an array of HATEOAS links for chart pattern images of different sizes displaying the price graph for the pattern result.
Note that some of the fields below may not be applicable to all analysis types.
result_type - The type of trade setup
result_uid - Internal unique identification numbers
direction - The direction of the forecast
prediction_price_from - The start of the forecast range
prediction_price_to - The end of the forecast range
pip - The size of a pip for this instrument
exchange - The exchange to which this symbol belongs
group_name - The logical group to which this symbol belongs
symbol - The TICKER
symbol_name - The long name of the symbol
symbol_id - Internal symbolID (ignore)
interval - The data interval on which this trade setup was identified
pattern - The name of the trade setup. If multiple locales are specified then this field will be an array
pattern_list - If multiple locales are specified then this field will be an array of language specific pattern names
complete - false when this trade setup is not yet fully formed. otherwise True.
identified - Date/Time when this trade setup was identified
age - The age in candles of the trade setup (difference between the current date and the identified date, divided by the 'interval')
length - The number of candles forming this trade setup
found - Internal timestamp. Ignore.
analysis_text - Text that describes the identified trade setup.
analysis_text_list - If multiple locales are specified then this field will be an array of language specific analysis_text
analysis_text_template - Text that describes the identified trade setup but the date portion of the text will be replaced be the {identified} identifier. This allows developers to customize the text for different timezones. If multiple locales are specified then this field will be an array
expires_at - A maximum date/time when this setup should be expired
signal_levels
entry_level - Entry for the signal
stop_loss - Stop Loss for the signal
target_level - Target price
target_period - Period within which the target price could hit
details - will only be returned if the parameter "include_detail" is set to true. For information about this field see the section "Get pattern result details"
drawing - will only be returned if the parameter "include_drawing" is set to true. For information about this field see the section "Get pattern result drawing data"
A valid request with an authorized MD5 token will be accepted
| timezone | string Example: timezone={{timezone}} |
| locale | string Example: locale={{locale}} |
| locales | string Example: locales={{locales}} |
| broker_id | string Example: broker_id={{broker_id}} |
| group | string Example: group={{group}} |
| token | string Example: token={{token}} |
| user | string Example: user={{user}} |
| expire | string Example: expire={{expire}} |
| account_type | string Example: account_type={{account_type}} |
| include_detail | string Example: include_detail={{include_detail}} |
| include_drawing | string Example: include_drawing={{include_drawing}} |
| page_limit | string Example: page_limit={{page_limit}} |
| page_offset | string page start index. Default is 0. |
| since | string excludes pattern result items identified before it's date/time value. |
{- "date": "2022-08-12T14:34:39.508Z",
- "query": {
- "pattern_types": [
- "KeyLevel",
- "Fibonacci",
- "ChartPattern"
], - "symbols": [
- "NZDUSD",
- "EURGBP",
- "EURJPY",
- "USDCHF",
- "EURCHF",
- "AUDUSD",
- "USDJPY",
- "EURUSD",
- "XAGUSD",
- "XAUUSD",
- "USDCAD",
- "GBPUSD"
], - "exchanges": [ ],
- "patterns": [ ],
- "intervals": [
- 240,
- 480,
- 1440,
- 120,
- 60,
- 30,
- 15
], - "types": [
- "breakout",
- "approach"
], - "candles": 0,
- "candles_delay": 0,
- "page_limit": 1000,
- "page_offset": 0,
- "relevant_only": true,
- "MaxPatternLength": 400,
- "require_pips": false,
- "use_old_result_uid": false
}, - "page": {
- "number": 1,
- "limit": 1000,
- "offset": 0,
- "total_items": 1,
- "total_pages": 1,
- "links": [
- {
- "rel": "first",
- "display": "<<",
- "enabled": false
}, - {
- "rel": "prev",
- "display": "<",
- "enabled": false
}, - {
- "rel": "pages[0]",
- "display": "1",
- "enabled": false,
- "active": true
}, - {
- "rel": "next",
- "display": ">",
- "enabled": false
}, - {
- "rel": "last",
- "display": ">>",
- "enabled": false
}
]
}, - "items": [
- {
- "new": false,
- "data": {
- "result_type": "ChartPattern",
- "result_uid": 600419071894599000,
- "direction": -1,
- "prediction_time_to": "2022-08-13T07:15:00.000Z",
- "prediction_price_from": 132.65,
- "prediction_price_to": 133.13,
- "pip": 0.01,
- "exchange": "FOREX",
- "group_name": "FX Majors",
- "symbol": "USDJPY",
- "symbol_name": "USDJPY",
- "symbol_id": 525055079641196100,
- "interval": 15,
- "pattern": "Rising Wedge",
- "pattern_list": [
- {
- "locale": "en",
- "text": "Rising Wedge"
}, - {
- "locale": "tr",
- "text": "Yükselen Kama"
}, - {
- "locale": "ru",
- "text": "Восходящий клин"
}
], - "analysis_text_list": [
- {
- "locale": "en",
- "text": "Rising Wedge has broken through the support line at 8/12 14:00. Possible bearish price movement forecast for the next 11 hours towards 133.13."
}, - {
- "locale": "tr",
- "text": "Yükselen Kama, 8/12 14:00 ile destek çizgisinden geçti. Sonraki 10 saat ila 133.13 için aşağı yönlü olabilecek fiyat hareketi tahmini."
}, - {
- "locale": "ru",
- "text": "Фигура Восходящий клин пробила линию поддержки 8/12 14:00. Возможно падение цены в следующие 11 часов к 133.13."
}
], - "target_period_list": [
- {
- "locale": "en",
- "text": "11 hours"
}, - {
- "locale": "tr",
- "text": "10 saat"
}, - {
- "locale": "ru",
- "text": "11 часов"
}
], - "complete": true,
- "identified": "2022-08-12T14:00:00.000Z",
- "age": 1,
- "length": 140,
- "found": "2022-08-12T14:11:47.530Z",
- "analysis_text": "Rising Wedge has broken through the support line at 8/12 14:00. Possible bearish price movement forecast for the next 11 hours towards 133.13.",
- "analysis_text_template": [
- {
- "locale": "en",
- "text": "Rising Wedge has broken through the support line at {identified}. Possible bearish price movement forecast for the next 11 hours towards 133.13."
}, - {
- "locale": "tr",
- "text": "Yükselen Kama, {identified} ile destek çizgisinden geçti. Sonraki 10 saat ila 133.13 için aşağı yönlü olabilecek fiyat hareketi tahmini."
}, - {
- "locale": "ru",
- "text": "Фигура Восходящий клин пробила линию поддержки {identified}. Возможно падение цены в следующие 11 часов к 133.13."
}
], - "expires_at": "2022-08-13T01:12:18.418Z",
- "detail": {
- "resistance_y0": 133.312,
- "resistance_y1": 133.893,
- "resistance_x0": "2022-08-11T02:45:00.000Z",
- "resistance_x1": "2022-08-12T11:30:00.000Z",
- "support_y0": 131.733,
- "support_y1": 133.169,
- "support_x0": "2022-08-11T12:30:00.000Z",
- "support_x1": "2022-08-12T08:45:00.000Z",
- "prediction_time_to": "2022-08-13T07:15:00.000Z",
- "trend_change": "Reversal",
- "quality": 0.43911563619112487,
- "volume": 1,
- "uniformity": 0.6748240730117049,
- "initial_trend": 0.09105749221361932,
- "prediction_price_from": 132.64796369254503,
- "prediction_price_to": 133.13331820522708,
- "clarity": 0.33647844089668744,
- "breakout": 0.6541025386424879,
- "pattern_start_price": 132.545,
- "pattern_end_price": 133.52356790123457,
- "stop_loss": 133.893,
- "take_profit": 133.13331820522708,
- "qty_tp": 5,
- "symbol": "USDJPY",
- "granularity": 15,
- "direction": -1,
- "length": 140,
- "complete": true,
- "exchange": "FOREX",
- "age": 1,
- "relevant": 1,
- "pattern_id": 64,
- "symbol_id": 525055079641196100,
- "long_name": "USDJPY",
- "short_name": "USDJPY",
- "pattern_end_time": "2022-08-12T13:45:00.000Z",
- "pattern_start_time": "2022-08-11T02:45:00.000Z",
- "pattern_name": "Rising Wedge",
- "result_uid": 600419071894599000,
- "is_new": false,
- "prediction_pip_profit": 0,
- "forecast_minutes": 699,
- "symbol_pip": "0.01"
}, - "drawing": {
- "symbol": "USDJPY",
- "arrow": [
- {
- "point2Name": null,
- "y1": 133.48,
- "name": "Arrow Line",
- "x1": 1660311900,
- "y2": 133.13332,
- "x2": 1660358700,
- "point1Name": null
}
], - "length": 140,
- "timeZone": "UTC",
- "forecast": [ ],
- "timeFrame": {
- "from": 1659996900,
- "to": 1660500900
}, - "originalLines": [
- {
- "point2Name": null,
- "y1": 133.312,
- "name": "Resistance original",
- "x1": 1660185900,
- "y2": 133.893,
- "x2": 1660303800,
- "point1Name": null
}, - {
- "point2Name": null,
- "y1": 131.733,
- "name": "Support original",
- "x1": 1660221000,
- "y2": 133.169,
- "x2": 1660293900,
- "point1Name": null
}
], - "eventLine": {
- "point2Name": null,
- "y1": 129.40825,
- "name": "Event Line",
- "x1": 1660311900,
- "y2": 138.04825,
- "x2": 1660311900,
- "point1Name": null
}, - "chartType": "CHART_PATTERN",
- "interval": 15,
- "lines": [
- {
- "point2Name": null,
- "y1": 133.312,
- "name": "Resistance",
- "x1": 1660185900,
- "y2": 133.93292,
- "x2": 1660311900,
- "point1Name": null
}, - {
- "point2Name": null,
- "y1": 131.04159,
- "name": "Support",
- "x1": 1660185900,
- "y2": 133.52357,
- "x2": 1660311900,
- "point1Name": null
}
], - "priceRange": {
- "low": 131.733,
- "to": 133.893
}, - "direction": "BEARISH",
- "predictionRectangle": [
- {
- "point2Name": null,
- "y1": 132.64796,
- "name": "Prediction Rectangle - Top Line",
- "x1": 1660313700,
- "y2": 132.64796,
- "x2": 1660374900,
- "point1Name": null
}, - {
- "point2Name": null,
- "y1": 132.64796,
- "name": "Prediction Rectangle - Right Line",
- "x1": 1660374900,
- "y2": 133.13332,
- "x2": 1660374900,
- "point1Name": null
}, - {
- "point2Name": null,
- "y1": 133.13332,
- "name": "Prediction Rectangle - Bottom Line",
- "x1": 1660374900,
- "y2": 133.13332,
- "x2": 1660313700,
- "point1Name": null
}, - {
- "point2Name": null,
- "y1": 133.13332,
- "name": "Prediction Rectangle - Left Line",
- "x1": 1660313700,
- "y2": 132.64796,
- "x2": 1660313700,
- "point1Name": null
}, - {
- "point2Name": null,
- "y1": 132.64796,
- "name": "Prediction Rectangle",
- "x1": 1660313700,
- "y2": 133.13332,
- "x2": 1660374900,
- "point1Name": null
}
]
}, - "symbol_pip": "0.01"
}, - "links": [
]
}
], - "links": [
]
}Returns details of a pattern result item.
Status 200 - application/json - latest pattern results.
The JSON object includes the following keys:
page - pagination configuration for pagination links.
items - a list of pattern result items.
new - indicate whether the data has been updated since the last request if any.
data - pattern result item. See "Fields" below.
links - an array of HATEOAS links for chart pattern images of different sizes displaying the price graph for the pattern result.
Below are the return fields. There are fields that are common to all analysis types, and some fields that are specific to each analysis type.
symbol - The TICKER on which this trade setup was identified
exchange - The exchange to which this instrument belongs
short_name - The short name of the symbol
long_name - The long name of the symbols
age - The age (in candles) of the trade setup
complete - Is this trade fully formed or still in the process of forming.
direction - Direction of forecast
granularity - Data interval on which this setup was identified
forecast_minutes - The forecast in minutes
is_new - Is this a new setup since the last call to the API
length - the length of this trade setup in candles
pattern_start_time - The first candle in this trade setup
pattern_end_time - The last candle in this trade setup. Ignore if complete == false.
pattern_name - The name of the pattern that was identified
relevant - 1 = this trade setup is still relevant. 0 = trade expired
result_uid - unique identifier of a result
prediction_pip_profit - Internal. Ignore
use_relevance_logic - Internal. Ignore
pattern_id - Internal. Ignore
symbol_id - Internal symbol code. Ignore
breakout - strength (between 0 and 1) of the breakout. -1 == no breakout yet
clarity - clarity of this pattern (between 0 and 1)
initial_trend - strength (between 0 and 1) of the initial trend
quality - overall pattern quality (between 0 and 1)
uniformity - uniformity (between 0 and 1) of the pattern
volume - strength (between 0 and 1) of the volume increase at point of breakout. Not applicable when breakout == -1
trend_change - Continuation / Reversal
qty_tp - quantity of turning points that make up this pattern
pattern_end_price - the closing price of the last candle of this pattern. -1 if breakout == -1
pattern_start_price - the closing price of the first candle of this pattern
prediction_price_from - the start of the forecast area
prediction_price_to - the end of the forecast area
prediction_time_to - the date.time when this pattern expires
resistance_x0 - the x (date) coordinate of the first point of the resistance line
resistance_x1 - the x (date) coordinate of the second point of the resistance line
resistance_y0 - the y (price) coordinate of the first point of the resistance line
resistance_y1 - the y (price) coordinate of the second point of the resistance line
support_x0 - the x (date) coordinate of the first point of the support line
support_x1 - the x (date) coordinate of the second point of the support line
support_y0 - the y (price) coordinate of the first point of the support line
support_y1 - the y (price) coordinate of the second point of the support line
averageQuality - The overall visual quality of the pattern
clarity - clarity of this pattern (between 0 and 1)
patternEndPrice - the closing price of the last candle of this pattern. -1 if breakout == -1
patternStartPrice - the closing price of the first candle of this pattern
priceA - Price of point A
priceB - Price of point B
priceC - Price of point C
priceD - Price of point D
priceX - Price of point X (-1 if not applicable for this Fibonacci setup)
timeA - Date/time of point A. If year <= 1900 then ignore
timeB - Date/time of point B. If year <= 1900 then ignore
timeC - Date/time of point C. If year <= 1900 then ignore
timeD - Date/time of point D. If year <= 1900 then ignore
timeX - Date/time of point X. If year <= 1900 then ignore
qtyTP - The quantity of turning points that make up this pattern
ratioQuality - quality of the ratios of lines. Close to 1 means the proportions of the pattern are reaching the ideal
target03 - first Fib target of the pattern
target05 - second Fib target of the pattern
target06 - third Fib target of the pattern
target07 - fourth Fib target of the pattern
target10 - fifth Fib target of the pattern
target12 - sixth Fib target of the pattern
target16 - seventh Fib target of the pattern
timeQuality - quality indicator that represents how equally the turning points of the pattern are distributed over time
priceAdjustment - Internal. Ignore
instrumentId - Internal. Ignore
bandwidth - Internal. Ignore
temporaryPattern - Internal. Ignore,
patternPrice - the price of the key level
approachingRegion - Price at which the opportunity was found to be approaching the key level. applicable to emerging patterns only.
approachingTime - date/time when the pattern was deemed to be approaching.
atBarIdentified - the candle on which this pattern was found
atPriceIdentified - the price at which this pattern was identified
bandwidth - Internal. Ignore.
barsE - Internal. Ignore.
errorMargin - Internal. Ignore.
furthestPrice - the price that was furthest away from the key level
predictionPriceFrom - the start of the prediction area
predictionPriceTo - the end of the prediction area
predictionTimeBars - the length (in candles of the forecast)
predictionTimeFrom - the start of the forecast period
priceE - Ignore. Internal
qtyTP - The number of turning points that comprise this pattern
temporaryPattern - Ignore. Internal
x0 - the date/time of the 1st touch point of the price graph
x1 - the date/time of the 2nd touch point of the price graph
x2 - the date/time of the 3rd touch point of the price graph
x3 - the date/time of the 4th touch point of the price graph. 1970-01-01 = ignore
x4 - the date/time of the 5th touch point of the price graph. 1970-01-01 = ignore
x5 - the date/time of the 6th touch point of the price graph. 1970-01-01 = ignore
x6 - the date/time of the 7th touch point of the price graph. 1970-01-01 = ignore
x7 - the date/time of the 8th touch point of the price graph. 1970-01-01 = ignore
x8 - the date/time of the 9th touch point of the price graph. 1970-01-01 = ignore
x9 - the date/time of the 10th touch point of the price graph. 1970-01-01 = ignore
A valid request with an authorized MD5 token will be accepted.
| broker_id | string Example: broker_id={{broker_id}} Broker ID. |
| token | string Example: token={{token}} |
| user | string Example: user={{user}} Username |
| expire | string Example: expire={{expire}} Expiry of this link as a unix timestamp |
| account_type | string Example: account_type={{account_type}} DEMO or LIVE |
{- "new": false,
- "data": {
- "bandwidth": 7,
- "atBarIdentified": "2022-08-12T14:15:00.000Z",
- "x0": "2022-08-12T07:00:00.000Z",
- "x1": "2022-08-12T02:15:00.000Z",
- "x2": "2022-08-12T00:45:00.000Z",
- "x3": "2022-08-11T18:30:00.000Z",
- "x4": "2022-08-10T23:30:00.000Z",
- "x5": "1970-01-01T00:00:00.000Z",
- "x6": "1970-01-01T00:00:00.000Z",
- "x7": "1970-01-01T00:00:00.000Z",
- "x8": "1970-01-01T00:00:00.000Z",
- "x9": "1970-01-01T00:00:00.000Z",
- "approachingTime": "1970-01-01T00:00:00.000Z",
- "patternPrice": 0.9426900148391724,
- "approachingRegion": 0,
- "errorMargin": 0.000366,
- "qtyTP": 5,
- "priceE": 0.9430559873580933,
- "barsE": 378,
- "temporaryPattern": false,
- "predictionPriceFrom": 0.9457160234451294,
- "predictionPriceTo": 0.9493759870529175,
- "predictionTimeFrom": "2022-08-12T14:15:00.000Z",
- "predictionTimeBars": 378,
- "furthestPrice": 0.9414066,
- "atPriceIdentified": 0.94352,
- "symbol": "USDCHF",
- "granularity": 15,
- "direction": 1,
- "length": 155,
- "complete": true,
- "exchange": "FOREX",
- "age": 0,
- "pattern_id": 1,
- "symbol_id": 525055079706445100,
- "long_name": "USDCHF",
- "pattern_end_time": "2022-08-12T14:15:00.000Z",
- "pattern_start_time": "2022-08-10T23:30:00.000Z",
- "pattern_name": "Resistance",
- "result_uid": 600419182744698100,
- "is_new": false,
- "prediction_pip_profit": 0,
- "forecast_minutes": 581,
- "symbol_pip": "0.0001"
}, - "links": [
]
}Returns details of a pattern result item.
Status 200 - application/json - latest pattern results.
The JSON object includes the following keys:
Below are the return fields. There are fields that are common to all analysis types, and some fields that are specific to each analysis type.
A valid request with an authorized MD5 token will be accepted.
| broker_id | string Example: broker_id={{broker_id}} Broker ID. |
| token | string Example: token={{token}} |
| user | string Example: user={{user}} Username |
| expire | string Example: expire={{expire}} Expiry of this link as a unix timestamp |
| account_type | string Example: account_type={{account_type}} DEMO or LIVE |
string |
{- "chartType": "KEY_LEVEL",
- "interval": 60,
- "length": 139,
- "direction": "BEARISH",
- "priceRange": {
- "low": 1.936,
- "to": 1.9565
}, - "timeFrame": {
- "from": 1631743200,
- "to": 1632416400
}, - "originalLines": [ ],
- "lines": [
- {
- "x1": 1631743200,
- "x2": 1632416400,
- "y1": 1.9392,
- "y2": 1.9392,
- "name": "Key Level Line",
- "point1Name": null,
- "point2Name": null
}
], - "forecast": [
- {
- "x1": 1632416400,
- "x2": 1632870000,
- "y1": 1.9392,
- "y2": 1.9392,
- "name": "Forecast",
- "point1Name": null,
- "point2Name": null
}
], - "eventLine": {
- "x1": 1632416400,
- "x2": 1632416400,
- "y1": 1.8982,
- "y2": 1.9802,
- "name": "Event Line",
- "point1Name": null,
- "point2Name": null
}, - "arrow": [
- {
- "x1": 1632416400,
- "x2": 1632567600,
- "y1": 1.9381,
- "y2": 1.93318,
- "name": "Arrow Line",
- "point1Name": null,
- "point2Name": null
}
], - "predictionRectangle": [
- {
- "x1": 1632416400,
- "x2": 1632715200,
- "y1": 1.92498,
- "y2": 1.92498,
- "name": "Prediction Rectangle - Top Line",
- "point1Name": null,
- "point2Name": null
}, - {
- "x1": 1632715200,
- "x2": 1632715200,
- "y1": 1.92498,
- "y2": 1.93318,
- "name": "Prediction Rectangle - Right Line",
- "point1Name": null,
- "point2Name": null
}, - {
- "x1": 1632715200,
- "x2": 1632416400,
- "y1": 1.93318,
- "y2": 1.93318,
- "name": "Prediction Rectangle - Bottom Line",
- "point1Name": null,
- "point2Name": null
}, - {
- "x1": 1632416400,
- "x2": 1632416400,
- "y1": 1.93318,
- "y2": 1.92498,
- "name": "Prediction Rectangle - Left Line",
- "point1Name": null,
- "point2Name": null
}
], - "timeZone": "America/New_York",
- "symbol": "GBPNZD"
}Returns latest group pattern results for a specific broker. The pattern results are cached at every 5 minutes interval.
Image in image/png format.
A valid request with an authorized MD5 token will be accepted.
| account_type | string Example: account_type={{account_type}} DEMO or LIVE |
| broker_id | string Example: broker_id={{broker_id}} Broker ID. |
| expire | string Example: expire={{expire}} Expiry of this link as a unix timestamp. |
| locale | string Example: locale={{locale}} Locale language tag. |
| user | string Example: user={{user}} Username |
| token | string Example: token={{token}} |
| width | integer Example: width=320 Chart image width in px. Default is 320px. |
| height | integer Example: height=240 Chart image height in px. Default is 240px. |
"Download the response image or click \"Send and Download\" to download the response image directly."