{"id":1570,"date":"2025-02-18T15:07:06","date_gmt":"2025-02-18T15:07:06","guid":{"rendered":"https:\/\/algomojo.com\/blog\/?p=1570"},"modified":"2025-02-18T15:07:06","modified_gmt":"2025-02-18T15:07:06","slug":"algomojo-api-button-trading-execution-module-a-complete-guide-for-amibroker","status":"publish","type":"post","link":"https:\/\/algomojo.com\/blog\/algomojo-api-button-trading-execution-module-a-complete-guide-for-amibroker\/","title":{"rendered":"Algomojo API Button Trading Execution Module: A Complete Guide for Amibroker"},"content":{"rendered":"\n<h2>Introduction<\/h2>\n\n\n\n<p>The <strong>Algomojo API Button Trading Execution Module<\/strong> enables traders to <strong>place orders directly from Amibroker<\/strong> using customizable buttons. This module supports both the <strong>Algomojo Bridge<\/strong> and <strong>direct API calls<\/strong> for seamless order execution across multiple brokers.<\/p>\n\n\n\n<h2>Features<\/h2>\n\n\n\n<p>\u2705 Supports <strong>multiple brokers<\/strong> via Algomojo API.<br>\u2705 <strong>Button-based trading<\/strong> for quick execution.<br>\u2705 Can operate <strong>with or without Algomojo Bridge<\/strong>.<br>\u2705 <strong>Configurable parameters<\/strong> for strategy, order type, and quantity.<br>\u2705 <strong>Voice alerts<\/strong> for successful order placement.<\/p>\n\n\n\n<h2>Supported Brokers<\/h2>\n\n\n\n<p>This module supports the following brokers through <strong>Algomojo API<\/strong>:<\/p>\n\n\n\n<ul><li>5PAISA<\/li><li>ALICEBLUE<\/li><li>AN API INTEGRATION<\/li><li>BIGUL<\/li><li>COMPOSITEDGE<\/li><li>DHANHQ<\/li><li>FINVASIA<\/li><li>FIRSTOCK<\/li><li>FLATTRADE<\/li><li>FYERS<\/li><li>GOODWILL<\/li><li>KOTAK NEO<\/li><li>MOTILAL OSWAL<\/li><li>PAYTM<\/li><li>RUPEEZY<\/li><li>SAMCO<\/li><li>SHAREKHAN<\/li><li>SKY BROKING<\/li><li>TRADEJINI<\/li><li>TRADESMART<\/li><li>UPSTOX<\/li><li>ZEBU<\/li><li>ZERODHA<\/li><\/ul>\n\n\n\n<h2>How to Set Up in Amibroker<\/h2>\n\n\n\n<h3>Step 1: Download &amp; Install<\/h3>\n\n\n\n<ol><li>Open <strong>Amibroker<\/strong>.<\/li><li>Copy the <strong>AFL script<\/strong> provided below and save it as <code>Algomojo_Button_Trading.afl<\/code>.<\/li><li>Place the script inside the <strong>AmiBroker\\Formulas\\Custom<\/strong> directory.<\/li><\/ol>\n\n\n\n<h3>Step 2: Configure API Credentials<\/h3>\n\n\n\n<ol><li><strong>Log in<\/strong> to your <strong>Algomojo account<\/strong>.<\/li><li>Navigate to <strong>My API<\/strong>.<\/li><li>Copy your <strong>API Key<\/strong> and <strong>API Secret<\/strong>.<\/li><\/ol>\n\n\n\n<h3>Step 3: Add to Amibroker Chart<\/h3>\n\n\n\n<ol><li>Open <strong>AmiBroker<\/strong>.<\/li><li>Select any <strong>chart<\/strong>.<\/li><li>Click on <strong>Insert Indicator<\/strong>.<\/li><li>Choose <strong>Algomojo_Button_Trading.afl<\/strong>.<\/li><\/ol>\n\n\n\n<h3>Step 4: Configure Order Parameters<\/h3>\n\n\n\n<ul><li><strong>Broker<\/strong> \u2013 Select your broker.<\/li><li><strong>API Key<\/strong> \u2013 Paste from <strong>My API<\/strong>.<\/li><li><strong><strong>API Secret<\/strong><\/strong> \u2013 Paste from <strong>My API<\/strong>.<\/li><li><strong>Exchange<\/strong> \u2013 Choose from NSE, NFO, BSE, MCX, etc.<\/li><li><strong>Symbol<\/strong> \u2013 Enter the trading symbol name(Take the Trading Symbol from Algomojo watchlist).<\/li><li><strong>Order Type<\/strong> \u2013 MARKET, LIMIT, SL, SL-M.<\/li><li><strong>Quantity<\/strong> \u2013 Define the order quantity.<\/li><li><strong>Price &amp; Trigger Price<\/strong> \u2013 Set price levels for LIMIT &amp; SL orders.<\/li><\/ul>\n\n\n\n<h3>Step 5: Enable Button Trading<\/h3>\n\n\n\n<ol><li><strong>Set Algo Mode<\/strong> to <code>Enable<\/code>.<\/li><li>Click <strong>BUY, SELL, SHORT, or COVER<\/strong> to place orders.<\/li><li>The <strong>order is executed via Algomojo API<\/strong>.<\/li><\/ol>\n\n\n\n<h2>AFL Script (Button Trading Execution)<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\/*\nAlgomojo API Button Trading Execution Module\nWebsite: www.algomojo.com\n*\/\n\n_SECTION_BEGIN(&quot;Algomojo - Broker Controls&quot;);\n\n\/\/ Refresh to process signals in real-time\nRequestTimedRefresh(1, False);\n\n\/\/ Creating Input Controls for Setting Order Related Information\nbroker = ParamList(&quot;Broker&quot;, &quot;5PAISA|ALICEBLUE|AN API INTEGRATION|BIGUL|COMPOSITEDGE|DHANHQ|FINVASIA|FIRSTOCK|FLATTRADE|FYERS|GOODWILL|KOTAK NEO|MOTILAL OSWAL|PAYTM|RUPEEZY|SAMCO|SHAREKHAN|SKY BROKING|TRADEJINI|TRADESMART|UPSTOX|ZEBU|ZERODHA&quot;, 0);\nver = ParamStr(&quot;API Version&quot;, &quot;v1&quot;);\napikey = ParamStr(&quot;apikey&quot;, &quot;xxxxxxxxxxxxxxxxxx&quot;); \/\/ Enter your API key here\napisecret = ParamStr(&quot;secretkey&quot;, &quot;xxxxxxxxxxxxxxxxxx&quot;); \/\/ Enter your API secret key here\n\n_SECTION_END();\n\n_SECTION_BEGIN(&quot;Algomojo - Order Controls&quot;);\n\nstrategy = ParamStr(&quot;Strategy Name&quot;, &quot;Ami Strategy&quot;);\nexchange = ParamList(&quot;Exchange&quot;, &quot;NSE|NFO|BSE|BFO|MCX&quot;, 0);\nsymbol = ParamStr(&quot;Trading Symbol&quot;, &quot;BHEL-EQ&quot;);\nproduct = ParamList(&quot;Product&quot;, &quot;CNC|MIS|NRML&quot;, 0);\npricetype = ParamList(&quot;Price Type&quot;, &quot;MARKET|LIMIT|SL|SL-M&quot;, 0);\nquantity = Param(&quot;Quantity&quot;, 1, 1, 100000, 1);\nprice = Param(&quot;Price&quot;, 0.00, 0.00, 100000.00, 0.01);\ndisclosed_quantity = 0;\ntrigger_price = Param(&quot;Trigger Price&quot;, 0.00, 0.00, 100000.00, 0.01);\namo = &quot;NO&quot;;\nsplitorder = ParamList(&quot;To Split Orders&quot;, &quot;NO|YES&quot;, 0);\nsplit_quantity = Param(&quot;Split Quantity&quot;, 500, 1, 100000, 1);\nVoiceAlert = ParamList(&quot;Voice Alert&quot;, &quot;Disable|Enable&quot;, 1);\nEnableAlgo = ParamList(&quot;Algo Mode&quot;, &quot;Disable|Enable&quot;, 0); \/\/ Algo Mode\nWithBridge = ParamList(&quot;With Algomojo Bridge&quot;, &quot;Yes|No&quot;, 0); \nresp = &quot;&quot;;\n\n\/\/ Fetch Broker Code\nfunction GetBrokerCode(broker_name) {\n    broker_code = &quot;&quot;; \/\/ Default value\n    if (broker_name == &quot;5PAISA&quot;) broker_code = &quot;fp&quot;;\n    else if (broker_name == &quot;ALICEBLUE&quot;) broker_code = &quot;ab&quot;;\n    else if (broker_name == &quot;AN API INTEGRATION&quot;) broker_code = &quot;an&quot;;\n    else if (broker_name == &quot;BIGUL&quot;) broker_code = &quot;bg&quot;;\n    else if (broker_name == &quot;COMPOSITEDGE&quot;) broker_code = &quot;ce&quot;;\n    else if (broker_name == &quot;DHANHQ&quot;) broker_code = &quot;dh&quot;;\n    else if (broker_name == &quot;FINVASIA&quot;) broker_code = &quot;fv&quot;;\n    else if (broker_name == &quot;FIRSTOCK&quot;) broker_code = &quot;fs&quot;;\n    else if (broker_name == &quot;FLATTRADE&quot;) broker_code = &quot;ft&quot;;\n    else if (broker_name == &quot;FYERS&quot;) broker_code = &quot;fy&quot;;\n    else if (broker_name == &quot;GOODWILL&quot;) broker_code = &quot;gc&quot;;\n    else if (broker_name == &quot;KOTAK NEO&quot;) broker_code = &quot;kt&quot;;\n    else if (broker_name == &quot;MOTILAL OSWAL&quot;) broker_code = &quot;mo&quot;;\n    else if (broker_name == &quot;PAYTM&quot;) broker_code = &quot;pt&quot;;\n    else if (broker_name == &quot;RUPEEZY&quot;) broker_code = &quot;rz&quot;;\n    else if (broker_name == &quot;SAMCO&quot;) broker_code = &quot;sm&quot;;\n    else if (broker_name == &quot;SHAREKHAN&quot;) broker_code = &quot;sk&quot;;\n    else if (broker_name == &quot;SKY BROKING&quot;) broker_code = &quot;sc&quot;;\n    else if (broker_name == &quot;TRADEJINI&quot;) broker_code = &quot;tc&quot;;\n    else if (broker_name == &quot;TRADESMART&quot;) broker_code = &quot;ts&quot;;\n    else if (broker_name == &quot;UPSTOX&quot;) broker_code = &quot;up&quot;;\n    else if (broker_name == &quot;ZEBU&quot;) broker_code = &quot;zb&quot;;\n    else if (broker_name == &quot;ZERODHA&quot;) broker_code = &quot;ze&quot;;\n    return broker_code;\n}\n\nfunction PlaceOrder_NoBridge(action) {\n    resp = &quot;&quot;;\n    broker_code = GetBrokerCode(broker);\n    if (broker_code == &quot;&quot;) {\n        _TRACE(&quot;Error: Invalid Broker Selection.&quot;);\n        resp = &quot;Error: Invalid Broker Selection.&quot;;\n    }else{\n\n        \/\/ Construct the JSON payload\n\t\tapi_data = &quot;{ \\&quot;api_key\\&quot;:\\&quot;&quot; + apikey + &quot;\\&quot;, &quot;\n                 + &quot; \\&quot;api_secret\\&quot;:\\&quot;&quot; + apisecret + &quot;\\&quot;, &quot;\n                 + &quot; \\&quot;data\\&quot;: { &quot;\n                 + &quot; \\&quot;broker\\&quot;: \\&quot;&quot; + broker_code + &quot;\\&quot;, &quot;\n                 + &quot; \\&quot;strategy\\&quot;: \\&quot;&quot; + strategy + &quot;\\&quot;, &quot;\n                 + &quot; \\&quot;exchange\\&quot;: \\&quot;&quot; + exchange + &quot;\\&quot;, &quot;\n                 + &quot; \\&quot;symbol\\&quot;: \\&quot;&quot; + symbol + &quot;\\&quot;, &quot;\n                 + &quot; \\&quot;action\\&quot;: \\&quot;&quot; + action + &quot;\\&quot;, &quot;\n                 + &quot; \\&quot;product\\&quot;: \\&quot;&quot; + product + &quot;\\&quot;, &quot;\n                 + &quot; \\&quot;pricetype\\&quot;: \\&quot;&quot; + pricetype + &quot;\\&quot;, &quot;\n                 + &quot; \\&quot;quantity\\&quot;: \\&quot;&quot; + quantity + &quot;\\&quot;, &quot;\n                 + &quot; \\&quot;price\\&quot;: \\&quot;&quot; + price + &quot;\\&quot;, &quot;\n                 + &quot; \\&quot;disclosed_quantity\\&quot;: \\&quot;&quot; + disclosed_quantity + &quot;\\&quot;, &quot;\n                 + &quot; \\&quot;trigger_price\\&quot;: \\&quot;&quot; + trigger_price + &quot;\\&quot;, &quot;\n                 + &quot; \\&quot;amo\\&quot;: \\&quot;&quot; + amo + &quot;\\&quot;, &quot;\n                 + &quot; \\&quot;splitorder\\&quot;: \\&quot;&quot; + splitorder + &quot;\\&quot;, &quot;\n                 + &quot; \\&quot;split_quantity\\&quot;: \\&quot;&quot; + split_quantity + &quot;\\&quot; &quot;\n                 + &quot; } }&quot;;\n\n        _TRACE(&quot;Webhook JSON Data: &quot; + api_data);\n\n        \/\/ Define Webhook URL\n        webhook_url = &quot;https:\/\/amapi.algomojo.com\/v1\/PlaceOrder&quot;;\n\n\t\t\/\/ Create XMLHTTP Object for HTTP Request\n\t\thttp = CreateObject(&quot;MSXML2.XMLHTTP&quot;);\n\t\tif (http == Null) {\n\t\t\t_TRACE(&quot;Error: Unable to create HTTP object&quot;);\n\t\t\tresp = &quot;Error: Unable to create HTTP object&quot;;\n\t\t}else{\n\t\t\n\t\t\t\/\/ Open Connection\n\t\t\thttp.Open(&quot;POST&quot;, webhook_url, False);\n\t\t\thttp.SetRequestHeader(&quot;Content-Type&quot;, &quot;application\/json&quot;);\n\n\t\t\t\/\/ Send Data\n\t\t\thttp.Send(api_data);\n\n\t\t\t\/\/ Get Response\n\t\t\tresp = http.ResponseText;\n\t\t\t\n\t\t\t_TRACE(&quot;Webhook Response: &quot; + resp);\n\t\t\t\n\t\t\tif (VoiceAlert == &quot;Enable&quot;) Say(&quot;Order Placed&quot;);\n\t\t\t\t\n\t\t}\n    }\n    return resp;\n}\n\n\/\/ Place Order Function (For Button Click)\nfunction PlaceOrder(action) {\n    algomojo = CreateObject(&quot;AMAMIBRIDGE.Main&quot;);\n    resp = &quot;&quot;;\n\n    if (algomojo == Null) {\n        _TRACE(&quot;Error: Failed to create algomojo object&quot;);\n        if (VoiceAlert == &quot;Enable&quot;) Say(&quot;Failed to create algomojo object&quot;);\n        resp = &quot;Error: Failed to create algomojo object&quot;;\n    } else {\n        broker_code = GetBrokerCode(broker);\n        if (broker_code == &quot;&quot;) {\n            _TRACE(&quot;Error: Invalid Broker Selection.&quot;);\n            resp = &quot;Error: Invalid Broker Selection.&quot;;\n        } else {\n            \/\/ Preparing API data\n            api_data = &quot;{ \\&quot;broker\\&quot;: \\&quot;&quot; + broker_code + &quot;\\&quot;,&quot;  \n                     + &quot; \\&quot;strategy\\&quot;:\\&quot;&quot; + strategy + &quot;\\&quot;,&quot;  \n                     + &quot; \\&quot;exchange\\&quot;:\\&quot;&quot; + exchange + &quot;\\&quot;,&quot;  \n                     + &quot; \\&quot;symbol\\&quot;:\\&quot;&quot; + symbol + &quot;\\&quot;,&quot;  \n                     + &quot; \\&quot;action\\&quot;:\\&quot;&quot; + action + &quot;\\&quot;,&quot;  \n                     + &quot; \\&quot;product\\&quot;:\\&quot;&quot; + product + &quot;\\&quot;,&quot;  \n                     + &quot; \\&quot;pricetype\\&quot;:\\&quot;&quot; + pricetype + &quot;\\&quot;,&quot;  \n                     + &quot; \\&quot;quantity\\&quot;:\\&quot;&quot; + quantity + &quot;\\&quot;,&quot;  \n                     + &quot; \\&quot;price\\&quot;:\\&quot;&quot; + price + &quot;\\&quot;,&quot;  \n                     + &quot; \\&quot;disclosed_quantity\\&quot;:\\&quot;&quot; + disclosed_quantity + &quot;\\&quot;,&quot;  \n                     + &quot; \\&quot;trigger_price\\&quot;:\\&quot;&quot; + trigger_price + &quot;\\&quot;,&quot;  \n                     + &quot; \\&quot;amo\\&quot;:\\&quot;&quot; + amo + &quot;\\&quot;,&quot;  \n                     + &quot; \\&quot;splitorder\\&quot;:\\&quot;&quot; + splitorder + &quot;\\&quot;,&quot;  \n                     + &quot; \\&quot;split_quantity\\&quot;:\\&quot;&quot; + split_quantity + &quot;\\&quot; }&quot;;\n\n            _TRACE(&quot;Broker API Request: &quot; + api_data);\n            resp = algomojo.AMDispatcher(apikey, apisecret, &quot;PlaceOrder&quot;, api_data, &quot;am&quot;, ver);\n            _TRACE(&quot;API Response: &quot; + resp);\n\n            if (VoiceAlert == &quot;Enable&quot;) Say(&quot;Order Placed&quot;);\n        }\n    }\n    return resp;\n}\n\n\/\/ ?? Button Trading UI\nX0 = 20;\nY0 = 40;\nX1 = 60;\nY_GAP = 55; \/\/ Added gap for new buttons\n\nLBClick = GetCursorMouseButtons() == 9;\nMouseX  = Nz(GetCursorXPosition(1));\nMouseY  = Nz(GetCursorYPosition(1));\n\nprocedure DrawButton (Text, x1, y1, x2, y2, colorFrom, colorTo)\n{\n    GfxSetOverlayMode(0);\n    GfxSelectFont(&quot;Verdana&quot;, 9, 700);\n    GfxSetBkMode(1);\n    GfxGradientRect(x1, y1, x2, y2, colorFrom, colorTo);\n    GfxDrawText(Text, x1, y1, x2, y2, 32|1|4|16);\n}\nGfxSetTextColor(colorWhite);\n\nif (EnableAlgo == &quot;Enable&quot;) {\n    \/\/ Buy &amp; Sell Buttons\n    DrawButton(&quot;BUY&quot;, X0, Y0, X0+X1, Y0+50, colorGreen, colorGreen);\n    CursorInBUY = MouseX &gt;= X0 AND MouseX &lt;= X0+X1 AND MouseY &gt;= Y0 AND MouseY &lt;= Y0+50;\n    BuyClick = CursorInBUY AND LBClick;\n\n    DrawButton(&quot;SELL&quot;, X0+65, Y0, X0+X1+65, Y0+50, colorRed, colorRed);\n    CursorInSELL = MouseX &gt;= X0+65 AND MouseX &lt;= X0+X1+65 AND MouseY &gt;= Y0 AND MouseY &lt;= Y0+50;\n    SellClick = CursorInSELL AND LBClick;\n\n    \/\/ Short &amp; Cover Buttons (Added Below Buy &amp; Sell)\n    DrawButton(&quot;SHORT&quot;, X0, Y0+Y_GAP, X0+X1, Y0+50+Y_GAP, colorOrange, colorOrange);\n    CursorInSHORT = MouseX &gt;= X0 AND MouseX &lt;= X0+X1 AND MouseY &gt;= Y0+Y_GAP AND MouseY &lt;= Y0+50+Y_GAP;\n    ShortClick = CursorInSHORT AND LBClick;\n\n    DrawButton(&quot;COVER&quot;, X0+65, Y0+Y_GAP, X0+X1+65, Y0+50+Y_GAP, colorBlue, colorBlue);\n    CursorInCOVER = MouseX &gt;= X0+65 AND MouseX &lt;= X0+X1+65 AND MouseY &gt;= Y0+Y_GAP AND MouseY &lt;= Y0+50+Y_GAP;\n    CoverClick = CursorInCOVER AND LBClick;\n\n    if(WithBridge==&quot;Yes&quot;){\n        if (BuyClick) PlaceOrder(&quot;BUY&quot;);\n        if (SellClick) PlaceOrder(&quot;SELL&quot;);\n        if (ShortClick) PlaceOrder(&quot;SELL&quot;);\n        if (CoverClick) PlaceOrder(&quot;BUY&quot;);\n    }else{\n        if (BuyClick) PlaceOrder_NoBridge(&quot;BUY&quot;);\n        if (SellClick) PlaceOrder_NoBridge(&quot;SELL&quot;);\n        if (ShortClick) PlaceOrder_NoBridge(&quot;SELL&quot;);\n        if (CoverClick) PlaceOrder_NoBridge(&quot;BUY&quot;);        \n    }\n\n}\n\n\nif (EnableAlgo == &quot;Enable&quot;) {\n\n\tAlgoStatus = &quot;Algo Enabled&quot;;\n\tGfxSetTextColor( colorGreen ); \n\tGfxTextOut( &quot;Algostatus : &quot;+AlgoStatus , 20, 20); \n}\nif(EnableAlgo == &quot;Disable&quot;)\n{\nAlgoStatus = &quot;Algo Disabled&quot;;\nGfxSetTextColor( colorRed ); \nGfxTextOut( &quot;Algostatus : &quot;+AlgoStatus , 20, 20); \n}\n\n_SECTION_END();\n\n<\/code><\/pre>\n\n\n\n<h2>FAQs<\/h2>\n\n\n\n<h3>1. <strong>Do I need the Algomojo Bridge to use this module?<\/strong><\/h3>\n\n\n\n<ul><li>No, the module supports both <strong>bridge-based trading<\/strong> and <strong>direct webhook API execution<\/strong>.<\/li><\/ul>\n\n\n\n<h3>2. <strong>How can I verify my order execution?<\/strong><\/h3>\n\n\n\n<ul><li>You can check the <strong>Algomojo Order Book<\/strong> in your broker\u2019s dashboard.<\/li><\/ul>\n\n\n\n<h3>3. <strong>What if my broker is not listed?<\/strong><\/h3>\n\n\n\n<ul><li>You can contact <strong>Algomojo support<\/strong> to request broker integration.<\/li><\/ul>\n\n\n\n<h3>4. <strong>Can I use this for automated trading?<\/strong><\/h3>\n\n\n\n<ul><li>Yes, this module can be <strong>integrated with AFL strategies<\/strong> for automation.<\/li><\/ul>\n\n\n\n<h3>5. <strong>What if I get an API error?<\/strong><\/h3>\n\n\n\n<ul><li>Ensure <strong>API keys<\/strong> are correct and check <strong>internet connectivity<\/strong>.<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2>Conclusion<\/h2>\n\n\n\n<p>With the <strong>Algomojo API Button Trading Execution Module<\/strong>, you can <strong>place orders instantly from Amibroker<\/strong> with just a click! Whether you prefer <strong>manual trading<\/strong> or <strong>automated execution<\/strong>, this module provides <strong>speed and efficiency<\/strong> for active traders.<\/p>\n\n\n\n<p>\ud83c\udfaf <strong>Get Started Now<\/strong> \u2013 <a href=\"https:\/\/www.algomojo.com\/\">Sign up on Algomojo<\/a> and start trading instantly! \ud83d\ude80<\/p>\n\n\n\n<div class=\"wp-block-buttons\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link\" href=\"https:\/\/algomojo.com\/login-to-broker\/\">Login To Broker<\/a><\/div>\n\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link\" href=\"https:\/\/algomojo.com\/open-an-account\/\">Open An Account<\/a><\/div>\n<\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction The Algomojo API Button Trading Execution Module enables traders to place orders directly from Amibroker using customizable buttons. This module supports both the Algomojo Bridge and direct API calls for seamless order execution across multiple brokers. Features \u2705 Supports multiple brokers via Algomojo API.\u2705 Button-based trading for quick execution.\u2705 Can operate with or without &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/algomojo.com\/blog\/algomojo-api-button-trading-execution-module-a-complete-guide-for-amibroker\/\"> <span class=\"screen-reader-text\">Algomojo API Button Trading Execution Module: A Complete Guide for Amibroker<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":true,"template":"elementor_theme","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-global-header-display":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":""},"categories":[6],"tags":[109,315],"_links":{"self":[{"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/posts\/1570"}],"collection":[{"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/comments?post=1570"}],"version-history":[{"count":5,"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/posts\/1570\/revisions"}],"predecessor-version":[{"id":1575,"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/posts\/1570\/revisions\/1575"}],"wp:attachment":[{"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/media?parent=1570"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/categories?post=1570"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/tags?post=1570"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}