Pepperstone's cTrader FIX API - FIX Symbol ID to Broker Symbol mapping

Discussion in 'Automated Trading' started by jack, Oct 2, 2016.

  1. jack

    jack Administrator Staff Member

    Joined:
    Mar 29, 2013
    Messages:
    2,402
    cTrader's FIX API doesn't document which FIX ID code is set for a given symbol because it's broker dependent (that is, every broker will have their own allocation of symbol IDs,) and they instruct you to look at the symbol info widget in cTrader for each symbol you want to trade on a symbol-by-sybmol basis.

    Taken from this page: https://help.spotware.com/FIX/getfix
    [​IMG]


    This is annoying and means you have to manually setup a symbol every time you want to algo trade a new symbol via the FIX api...

    Since I trade with Pepperstone, I just ripped the info and made the following dictionary in python for reference. I hope this saves other people out there the trouble of doing the same thing. Now you can just type the symbol you want to use as a variable in your code and use the dictionary to get the proper FIX ID when sending orders or handling data feeds...

    (Use at your own risk, I don't control Pepper's cTrader setup nor do I know when they've made changes to it.. plus, there is a non-0% chance I've typo'd something somewhere.. fair warning.)

    Code:
    {'audcad': '18',
     'audchf': '23',
     'audjpy': '11',
     'audnzd': '20',
     'audsgd': '43',
     'audusd': '5',
     'aus200': '10000',
     'cadchf': '27',
     'cadjpy': '15',
     'chfjpy': '13',
     'chfsgd': '44',
     'cn50': '10016',
     'cocoa': '10021',
     'coffee': '10019',
     'copper': '10024',
     'cotton': '10020',
     'euraud': '14',
     'eurcad': '17',
     'eurchf': '10',
     'eurczk': '45',
     'eurgbp': '9',
     'eurnok': '33',
     'eurnzd': '26',
     'eurpln': '48',
     'eursek': '31',
     'eursgd': '49',
     'eurtry': '50',
     'eurusd': '1',
     'eurzar': '51',
     'eustx50': '10001',
     'fra40': '10002',
     'gbpaud': '16',
     'gbpcad': '19',
     'gbpchf': '40',
     'gbpjpy': '7',
     'gbpnok': '37',
     'gbpnzd': '25',
     'gbpsek': '53',
     'gbpsgd': '32',
     'gbptry': '54',
     'gbpusd': '2',
     'ger30': '10003',
     'hk50': '10004',
     'it40': '10005',
     'jpn225': '10006',
     'nas100': '10014',
     'nokjpy': '55',
     'noksek': '56',
     'nzdcad': '30',
     'nzdchf': '39',
     'nzdjpy': '21',
     'nzdusd': '12',
     'orangejuice': '10022',
     'sekjpy': '57',
     'sgdjpy': '58',
     'spa35': '10009',
     'sugar': '10018',
     'uk100': '10011',
     'us2000': '10012',
     'us30': '10015',
     'us500': '10013',
     'usdcad': '8',
     'usdchf': '6',
     'usdcnh': '71',
     'usdczk': '59',
     'usdhkd': '60',
     'usdjpy': '4',
     'usdmxn': '24',
     'usdnok': '22',
     'usdpln': '35',
     'usdrub': '70',
     'usdsek': '29',
     'usdsgd': '28',
     'usdthb': '72',
     'usdtry': '61',
     'usdx': '10017',
     'usdzar': '62',
     'xageur': '63',
     'xagusd': '42',
     'xauaud': '10023',
     'xaueur': '64',
     'xauusd': '41',
     'xbrusd': '75',
     'xngusd': '77',
     'xpdusd': '73',
     'xptusd': '74',
     'xtiusd': '76',
     'zarjpy': '10025'}
    
    Again, this ONLY works for Pepperstone's cTrader FIX API.. and no other broker.
     
  2. shopster

    shopster Well-Known Member

    Joined:
    Jun 17, 2013
    Messages:
    528
    http://iticsoftware.com/en/blog-posts/mt4-mt5-ctrader-fix-api/

    s
     

Share This Page