Technical Analysis API (1.0.0)

Download OpenAPI specification: [Technical_Analysis_API.yaml]

This document describes Autochartist Trading Opportunities.

API Request Authentication

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)

Technical Analysis

Technical trade setups

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.

Return format

  • 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.

Fields

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"

Requires authentication

A valid request with an authorized MD5 token will be accepted

query Parameters
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.

Responses

Response samples

Content type
application/json
Example
{}

Get pattern result details

Returns details of a pattern result item.

Return format

  • 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.

Fields

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.

Common fields
  • 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

Fields specific to Chart Patterns
  • 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

Fields specific to Fibonacci Patterns
  • 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,

Fields specific to Key Levels
  • 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

Fields specific to Japanese Candlesticks
  • [None]

Requires authentication

A valid request with an authorized MD5 token will be accepted.

query Parameters
broker_id
string
Example: broker_id={{broker_id}}

Broker ID.

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

Responses

Response samples

Content type
application/json
Example
{}

Get pattern result drawing data

Returns details of a pattern result item.

Return format

  • 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.

Fields

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.

Common fields
  • timeZone - Timezone of the timestamps in the resultset
  • symbol - The TICKER
  • chartType - The type (for example Chart Pattern)
  • interval - Data interval on which this setup was identified
  • length - the length of this trade setup in candles
  • direction - Direction of forecast
  • priceRange - the range of prices in this chart
    • low - the lowest price
    • to - the highest price
  • timeFrame - the time frame this trade setup spans
    • from - the first date in the range
    • to - the last date in the range
  • originalLines - Internal. Ignore.
  • lines - an array of lines that need to be drawn
    • x1 - timestamp of first point
    • y1 - price of first point
    • x2 - timestamp of second point
    • y2 - price of second point
    • name - logical name of this line (if applicable to this trade setup)
    • point1Name - logical name of first point (if applicable to this trade setup)
    • point2Name - logical name of second point (if applicable to this trade setup)
  • forecast - an array of lines that need to be drawn to represent the forecast
    • x1 - timestamp of first point
    • y1 - price of first point
    • x2 - timestamp of second point
    • y2 - price of second point
    • name - logical name of this line (if applicable to this trade setup)
    • point1Name - logical name of first point (if applicable to this trade setup)
    • point2Name - logical name of second point (if applicable to this trade setup)
  • eventLine - a vertical line representing the time of the event
    • x1 - timestamp of first point
    • y1 - price of first point
    • x2 - timestamp of second point
    • y2 - price of second point
    • name - logical name of this line (if applicable to this trade setup)
    • point1Name - logical name of first point (if applicable to this trade setup)
    • point2Name - logical name of second point (if applicable to this trade setup)
  • arrow - an array of lines that represent arrows that show the forecast direction
    • x1 - timestamp of first point
    • y1 - price of first point
    • x2 - timestamp of second point
    • y2 - price of second point
    • name - logical name of this line (if applicable to this trade setup)
    • point1Name - logical name of first point (if applicable to this trade setup)
    • point2Name - logical name of second point (if applicable to this trade setup)
  • predictionRectangle - an array of lines that represent the forecast region
    • x1 - timestamp of first point
    • y1 - price of first point
    • x2 - timestamp of second point
    • y2 - price of second point
    • name - logical name of this line (if applicable to this trade setup)
    • point1Name - logical name of first point (if applicable to this trade setup)
    • point2Name - logical name of second point (if applicable to this trade setup)

Requires authentication

A valid request with an authorized MD5 token will be accepted.

query Parameters
broker_id
string
Example: broker_id={{broker_id}}

Broker ID.

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

header Parameters
string

Responses

Response samples

Content type
application/json
Example
{
  • "chartType": "KEY_LEVEL",
  • "interval": 60,
  • "length": 139,
  • "direction": "BEARISH",
  • "priceRange": {
    },
  • "timeFrame": {
    },
  • "originalLines": [ ],
  • "lines": [
    ],
  • "forecast": [
    ],
  • "eventLine": {
    },
  • "arrow": [
    ],
  • "predictionRectangle": [
    ],
  • "timeZone": "America/New_York",
  • "symbol": "GBPNZD"
}

Get Chart Image

Returns latest group pattern results for a specific broker. The pattern results are cached at every 5 minutes interval.

Return format

Image in image/png format.

Requires authentication

A valid request with an authorized MD5 token will be accepted.

query Parameters
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
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.

Responses

Response samples

Content type
application/json
"Download the response image or click \"Send and Download\" to download the response image directly."