{"id":226,"date":"2021-05-02T08:11:05","date_gmt":"2021-05-02T08:11:05","guid":{"rendered":"https:\/\/algomojo.com\/blog\/?p=226"},"modified":"2023-09-13T06:28:50","modified_gmt":"2023-09-13T06:28:50","slug":"single-broker-multi-client-amibroker-chart-based-trade-execution-module","status":"publish","type":"post","link":"https:\/\/algomojo.com\/blog\/single-broker-multi-client-amibroker-chart-based-trade-execution-module\/","title":{"rendered":"Single Broker Multi-Client Amibroker Chart based Trade Execution Module"},"content":{"rendered":"\n<p>Got frequent requirements from many traders to automate Amibroker based trading system where one single generation from charts could punch orders in multiple accounts (friends &amp; family). Here is the readymade execution module one can plugin with their trading system to send multi orders and easily configure multi-client under the same broker.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/i2.wp.com\/www.marketcalls.in\/wp-content\/uploads\/2021\/05\/image-1-1024x548.png?resize=1024%2C548&amp;ssl=1\" alt=\"\"\/><\/figure>\n\n\n\n<p><strong>Who can make use of this module?<\/strong><\/p>\n\n\n\n<p>Any traders who have access to Amibroker and access to&nbsp;<a href=\"https:\/\/algomojo.com\/\">Algomojo Trading Platform<\/a>&nbsp;can trigger their buy &amp; sell signal generation from their trading system to multiple accounts (friends &amp; family). i.e one Amibroker to fire orders in multiple accounts.<\/p>\n\n\n\n<p><strong>Which brokers are supported?<\/strong><\/p>\n\n\n\n<p>Current module supports Aliceblue, Tradejini, Zebu, Enrich and Mastertrust<\/p>\n\n\n\n<p><strong>How many accounts one can connect?<\/strong><\/p>\n\n\n\n<p>Currently there is no restriction on the number of clients one can connect.<\/p>\n\n\n\n<p><strong>Multi Client Account Controls \u2013 AFL Coding Block<\/strong><\/p>\n\n\n\n<p>Multi-client account control block contains the configuration of multiple clients, trading symbols, and control to configure a number of trading accounts. If more clients need to be added then here is the sample format. Client details need to be configured in order to send multiple client accounts.<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-javascript\">_SECTION_BEGIN(&quot;Multi Client Account Controls - Algomojo&quot;);\n\nTotalAccounts = Param(&quot;Total Accounts&quot;,4,1,25,1);\nTradingSymbol = ParamStr(&quot;TradingSymbol&quot;,&quot;SBIN-EQ&quot;);\nBroker = Paramlist(&quot;Broker&quot;,&quot;tj|ab|zb|mt|en&quot;,0);  \/\/Broker Short Code ab - aliceblue, tj - tradejini, zb - zebu, mt-mastertrust, en- enrich\n\n\/\/Client 1 Details\nClientId1 = ParamStr(&quot;ClientId1&quot;,&quot;TS2499&quot;);\nApiKey1 =  ParamStr(&quot;ApiKey1&quot;,&quot;86cbef19e7e61ccee91e497690d54455&quot;);\nApiSecret1 =  ParamStr(&quot;ApiSecret1&quot;,&quot;2c674f6696f5527e40af1b052454455&quot;);\nQuantity1 = ParamStr(&quot;Quantity1&quot;,&quot;5&quot;);\n\n\/\/Client 2 Details\nClientId2 = ParamStr(&quot;ClientId2&quot;,&quot;TZ2322&quot;);\nApiKey2=  ParamStr(&quot;ApiKey2&quot;,&quot;76cbef19e7e61ccee91e497690d54456&quot;);\nApiSecret2 =  ParamStr(&quot;ApiSecret2&quot;,&quot;2c674f6696f5527e40af1b052454455&quot;);\nQuantity2 = ParamStr(&quot;Quantity2&quot;,&quot;10&quot;);\n\n\/\/Client 3 Details\nClientId3 = ParamStr(&quot;ClientId3&quot;,&quot;TM4433&quot;);\nApiKey3 =  ParamStr(&quot;ApiKey3&quot;,&quot;16cbef19e7e61ccee91e497690d54457&quot;);\nApiSecret3 =  ParamStr(&quot;ApiSecret3&quot;,&quot;2c674f6696f5527e40af1b052454455&quot;);\nQuantity3 = ParamStr(&quot;Quantity3&quot;,&quot;15&quot;);\n\n\/\/Client 4 Details\nClientId4 = ParamStr(&quot;ClientId4&quot;,&quot;TM4435&quot;);\nApiKey4 =  ParamStr(&quot;ApiKey4&quot;,&quot;26cbef19e7e61ccee91e497690d54458&quot;);\nApiSecret4 =  ParamStr(&quot;ApiSecret4&quot;,&quot;2c674f6696f5527e40af1b052454455&quot;);\nQuantity4 = ParamStr(&quot;Quantity4&quot;,&quot;25&quot;);\n\n\n_SECTION_END();<\/code><\/pre>\n\n\n\n<p><strong>Chased Based Multi Client Trading Module<\/strong> &#8211;<strong> Amibroker AFL<\/strong><\/p>\n\n\n\n<p>This module is a ready-made module that can be connected along with Amibroker based trading system already configured for Buy, Sell, Short, Cover Conditions.<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-javascript\">\n\/\/Single Broker - Multi Client Algomojo Trading AFL\n\/\/Coded by Algomojo\n\/\/Version 1.0\n\/\/Date : 02nd May 2021\n\/\/Website : www.algomojo.com\n\n_SECTION_BEGIN(&quot;Multi Client Account Controls - Algomojo&quot;);\n\nTotalAccounts = Param(&quot;Total Accounts&quot;,4,1,25,1);\nTradingSymbol = ParamStr(&quot;TradingSymbol&quot;,&quot;SBIN-EQ&quot;);\nBroker = Paramlist(&quot;Broker&quot;,&quot;tj|ab|zb|mt|en&quot;,0);  \/\/Broker Short Code ab - aliceblue, tj - tradejini, zb - zebu, mt-mastertrust, en- enrich\n\n\/\/Client 1 Details\nClientId1 = ParamStr(&quot;ClientId1&quot;,&quot;TS2499&quot;);\nApiKey1 =  ParamStr(&quot;ApiKey1&quot;,&quot;86cbef19e7e61ccee91e497690d54455&quot;);\nApiSecret1 =  ParamStr(&quot;ApiSecret1&quot;,&quot;2c674f6696f5527e40af1b052454455&quot;);\nQuantity1 = ParamStr(&quot;Quantity1&quot;,&quot;5&quot;);\n\n\/\/Client 2 Details\nClientId2 = ParamStr(&quot;ClientId2&quot;,&quot;TZ2322&quot;);\nApiKey2=  ParamStr(&quot;ApiKey2&quot;,&quot;76cbef19e7e61ccee91e497690d54456&quot;);\nApiSecret2 =  ParamStr(&quot;ApiSecret2&quot;,&quot;2c674f6696f5527e40af1b052454455&quot;);\nQuantity2 = ParamStr(&quot;Quantity2&quot;,&quot;10&quot;);\n\n\/\/Client 3 Details\nClientId3 = ParamStr(&quot;ClientId3&quot;,&quot;TM4433&quot;);\nApiKey3 =  ParamStr(&quot;ApiKey3&quot;,&quot;16cbef19e7e61ccee91e497690d54457&quot;);\nApiSecret3 =  ParamStr(&quot;ApiSecret3&quot;,&quot;2c674f6696f5527e40af1b052454455&quot;);\nQuantity3 = ParamStr(&quot;Quantity3&quot;,&quot;15&quot;);\n\n\/\/Client 4 Details\nClientId4 = ParamStr(&quot;ClientId4&quot;,&quot;TM4435&quot;);\nApiKey4 =  ParamStr(&quot;ApiKey4&quot;,&quot;26cbef19e7e61ccee91e497690d54458&quot;);\nApiSecret4 =  ParamStr(&quot;ApiSecret4&quot;,&quot;2c674f6696f5527e40af1b052454455&quot;);\nQuantity4 = ParamStr(&quot;Quantity4&quot;,&quot;25&quot;);\n\n\n_SECTION_END();\n\n_SECTION_BEGIN(&quot;Single Broker Multi Client Charting Module&quot;);\n\n\n\/\/Common Mapping\nExchange = ParamList(&quot;Exchange&quot;,&quot;NFO|NSE|BSE|CDS|MCX&quot;,1);  \/\/Common Mapping\nRetention = ParamStr(&quot;Retention&quot;,&quot;DAY&quot;);\nProduct = ParamList(&quot;Product Type&quot;,&quot;MKT|LMT&quot;,0); \/\/ Pricetype\nOrderType = ParamList(&quot;Product code&quot;,&quot;CNC|NRML|MIS&quot;,2); \/\/ CNC - Cash  and Carry, NRML - Normal, MIS - Margin Intraday Squareoff\nAMO = &quot;NO&quot;;\nver = ParamStr(&quot;API Version&quot;,&quot;1.0&quot;);\ntradedelay = Param(&quot;Execution Delay&quot;,0,0,1); \/\/ 0 - Execution with No Delay after a signal, 1- Execution at the end of the candle\nstgy_name = ParamStr(&quot;Strategy Name&quot;,&quot;Multi Broker Execution&quot;); \/\/ Strategy Name\nEnableAlgo = ParamList(&quot;Algo Mode&quot;,&quot;Disable|Enable|LongOnly|ShortOnly&quot;,0); \/\/ Algo Mode\n\n\n\n\/\/Initialization\nresp = &quot;&quot;; \/\/api response\n\n\n\/\/Configure Trade Execution Delay\n\n\nAlgoBuy = lastvalue(Ref(Buy,-tradedelay));\nAlgoSell = lastvalue(Ref(Sell,-tradedelay));\nAlgoShort = lastvalue(Ref(Short,-tradedelay));\nAlgoCover = lastvalue(Ref(Cover,-tradedelay));\n\n\n\n\n\n\n\/\/Static Variables for Order Protection\n\nstatic_name_ = Name()+GetChartID()+interval(2)+stgy_name;\nstatic_name_algo = Name()+GetChartID()+interval(2)+stgy_name+&quot;algostatus&quot;;\n\/\/StaticVarSet(static_name_algo, -1); \n\n\n\/\/Algo Dashboard\n\nGfxSelectFont( &quot;BOOK ANTIQUA&quot;, 14, 100 );\nGfxSetBkMode( 1 );\nif(EnableAlgo == &quot;Enable&quot;)\n{\nAlgoStatus = &quot;Algo Enabled&quot;;\nGfxSetTextColor( colorGreen ); \nGfxTextOut( &quot;Algostatus : &quot;+AlgoStatus , 20, 40); \nif(Nz(StaticVarGet(static_name_algo),0)!=1)\n{\n_TRACE(&quot;Algo Status : Enabled&quot;);\nStaticVarSet(static_name_algo, 1);\n}\n}\nif(EnableAlgo == &quot;Disable&quot;)\n{\nAlgoStatus = &quot;Algo Disabled&quot;;\nGfxSetTextColor( colorRed ); \nGfxTextOut( &quot;Algostatus : &quot;+AlgoStatus , 20, 40); \nif(Nz(StaticVarGet(static_name_algo),0)!=0)\n{\n_TRACE(&quot;Algo Status : Disabled&quot;);\nStaticVarSet(static_name_algo, 0);\n}\n}\nif(EnableAlgo == &quot;LongOnly&quot;)\n{\nAlgoStatus = &quot;Long Only&quot;;\nGfxSetTextColor( colorYellow ); \nGfxTextOut( &quot;Algostatus : &quot;+AlgoStatus , 20, 40); \nif(Nz(StaticVarGet(static_name_algo),0)!=2)\n{\n_TRACE(&quot;Algo Status : Long Only&quot;);\nStaticVarSet(static_name_algo, 2);\n}\n}\nif(EnableAlgo == &quot;ShortOnly&quot;)\n{\nAlgoStatus = &quot;Short Only&quot;;\nGfxSetTextColor( colorYellow ); \nGfxTextOut( &quot;Algostatus : &quot;+AlgoStatus , 20, 40); \nif(Nz(StaticVarGet(static_name_algo),0)!=3)\n{\n_TRACE(&quot;Algo Status : Short Only&quot;);\nStaticVarSet(static_name_algo, 3);\n}\n}\n\nfunction apidata(Accounts,Action,multiplier){\n\n\n\thead = &quot;{\\&quot;orders\\&quot; : [&quot;;\n\ttail = &quot;  ]}&quot;;\n\tbody = &quot;&quot;;\n\t\n\t\n\tfor(i=1;i&lt;=Accounts;i++)\n\t{\n\tqty = int(StrToNum(VarGetText(&quot;Quantity&quot;+i))*multiplier);\n\tmsg = &quot;{   \\&quot;order_refno\\&quot;:\\&quot;&quot;+i+&quot;\\&quot;,   \\&quot;user_apikey\\&quot;:\\&quot;&quot;+VarGetText(&quot;ApiKey&quot;+i)+&quot;\\&quot;, \\&quot;api_secret\\&quot;:\\&quot;&quot;+VarGetText(&quot;ApiSecret&quot;+i)+&quot;\\&quot;, \\&quot;strg_name\\&quot;: \\&quot;Test Strategy\\&quot;, \\&quot;s_prdt_ali\\&quot;:\\&quot;BO:BO||CNC:CNC||CO:CO||MIS:MIS||NRML:NRML\\&quot;, \\&quot;Tsym\\&quot;:\\&quot;&quot;+TradingSymbol+&quot;\\&quot;, \\&quot;exch\\&quot;:\\&quot;&quot;+Exchange+&quot;\\&quot;, \\&quot;Ttranstype\\&quot;:\\&quot;&quot;+Action+&quot;\\&quot;, \\&quot;Ret\\&quot;:\\&quot;DAY\\&quot;, \\&quot;prctyp\\&quot;:\\&quot;MKT\\&quot;, \\&quot;qty\\&quot;:\\&quot;&quot;+qty+&quot;\\&quot;, \\&quot;discqty\\&quot;:\\&quot;0\\&quot;, \\&quot;MktPro\\&quot;:\\&quot;NA\\&quot;, \\&quot;Price\\&quot;:\\&quot;0\\&quot;, \\&quot;TrigPrice\\&quot;:\\&quot;0\\&quot;, \\&quot;Pcode\\&quot;:\\&quot;&quot;+OrderType+&quot;\\&quot;, \\&quot;AMO\\&quot;:\\&quot;NO\\&quot; }&quot;;\n                \n\t\tif(i==1)\n\t\t{\n\t\tbody = msg; \n\t\t}    \n\t\telse\n\t\t{\n\t\tbody = body + &quot;,&quot; + msg;\n\t\t}   \n\t\t}\n    api_data = head + body + tail;\n\treturn api_data;\n\t\n}\n\n\/\/Buy and Sell Order Functions\n\nfunction Buyorder(multiplier)\n{\n\t\n    algomojo=CreateObject(&quot;AMAMIBRIDGE.Main&quot;);\n\tapi = apidata(TotalAccounts,&quot;B&quot;,multiplier);     \n    _TRACE(&quot;Broker API Data  &quot;+api);\n    GetPerformanceCounter(True);\n    resp=algomojo.AMDispatcher(ApiKey1, ApiSecret1,&quot;PlaceMultiOrder&quot;,api,Broker,ver);\n    elapsed = GetPerformanceCounter()\/1000;\n    _TRACE(&quot;Execution Time : &quot;+elapsed);\n    _TRACE(&quot;Broker API Response  &quot;+resp);\n    _TRACE(&quot;Execution Period : &quot;+elapsed);\n}\n\n\n\nfunction sellorder(multiplier)\n{\n    algomojo=CreateObject(&quot;AMAMIBRIDGE.Main&quot;);\n\tapi = apidata(TotalAccounts,&quot;S&quot;,multiplier);  \n    _TRACE(&quot;Broker API Data  &quot;+api);\n    GetPerformanceCounter(True);\n    resp=algomojo.AMDispatcher(ApiKey1, ApiSecret1,&quot;PlaceMultiOrder&quot;,api,Broker,ver);\n    elapsed = GetPerformanceCounter()\/1000;\n    _TRACE(&quot;Execution Time : &quot;+elapsed);\n    _TRACE(&quot;Broker API Response  &quot;+resp);\n    _TRACE(&quot;Execution Period : &quot;+elapsed);\n}\n\n\n\/\/Execution Module\n\nif(EnableAlgo != &quot;Disable&quot;)\n    {\n        lasttime = StrFormat(&quot;%0.f&quot;,LastValue(BarIndex()));\n        \n        SetChartBkColor(colorDarkGrey);\n        if(EnableAlgo == &quot;Enable&quot;)\n        {   \n            if (AlgoBuy==True AND AlgoCover == True AND StaticVarGet(static_name_+&quot;buyCoverAlgo&quot;)==0 AND StaticVarGetText(static_name_+&quot;buyCoverAlgo_barvalue&quot;) != lasttime )\n            {\n            \/\/ reverse Long Entry \n                buyorder(2);\n                StaticVarSetText(static_name_+&quot;buyCoverAlgo_barvalue&quot;,lasttime);  \n                StaticVarSet(static_name_+&quot;buyCoverAlgo&quot;,1); \/\/Algo Order was triggered, no more order on this bar\n                _TRACE(&quot;Strategy : &quot;+ stgy_name +&quot;AlgoStatus : &quot;+ EnableAlgo +&quot;Chart Symbol : &quot;+ Name()+ &quot;Signal = Buy AND Cover&quot;);\n        \n            }\n            else if ((AlgoBuy != True OR AlgoCover != True))\n            {   \n                StaticVarSet(static_name_+&quot;buyCoverAlgo&quot;,0);\n            }\n            \n            if (AlgoBuy==True AND AlgoCover != True AND StaticVarGet(static_name_+&quot;buyAlgo&quot;)==0 AND StaticVarGetText(static_name_+&quot;buyAlgo_barvalue&quot;) != lasttime)\n            {\n            \/\/ Long Entry \n                buyorder(1);\n                StaticVarSetText(static_name_+&quot;buyAlgo_barvalue&quot;,lasttime); \n                StaticVarSet(static_name_+&quot;buyAlgo&quot;,1); \/\/Algo Order was triggered, no more order on this bar\n                _TRACE(&quot;Strategy : &quot;+ stgy_name +&quot;AlgoStatus : &quot;+ EnableAlgo +&quot;Chart Symbol : &quot;+ Name()+ &quot;Signal = Buy&quot;);\n            }\n            else if (AlgoBuy != True)\n            {   \n                StaticVarSet(static_name_+&quot;buyAlgo&quot;,0);\n                \n            }\n            if (AlgoSell==true AND AlgoShort != True AND StaticVarGet(static_name_+&quot;sellAlgo&quot;)==0 AND StaticVarGetText(static_name_+&quot;sellAlgo_barvalue&quot;) != lasttime)\n            {     \n            \/\/ Long Exit \n                sellorder(1);\n                StaticVarSetText(static_name_+&quot;sellAlgo_barvalue&quot;,lasttime); \n                StaticVarSet(static_name_+&quot;sellAlgo&quot;,1); \/\/Algo Order was triggered, no more order on this bar\n                _TRACE(&quot;Strategy : &quot;+ stgy_name +&quot;AlgoStatus : &quot;+ EnableAlgo +&quot;Chart Symbol : &quot;+ Name()+ &quot;Signal = Sell&quot;);\n            }\n            else if (AlgoSell != True )\n            {   \n                StaticVarSet(static_name_+&quot;sellAlgo&quot;,0);\n            }\n            if (AlgoShort==True AND AlgoSell==True AND  StaticVarGet(static_name_+&quot;ShortSellAlgo&quot;)==0 AND StaticVarGetText(static_name_+&quot;ShortSellAlgo_barvalue&quot;) != lasttime)\n            {\n            \/\/ reverse Short Entry \n                sellorder(2);\n                StaticVarSetText(static_name_+&quot;ShortsellAlgo_barvalue&quot;,lasttime); \n                StaticVarSet(static_name_+&quot;ShortSellAlgo&quot;,1); \/\/Algo Order was triggered, no more order on this bar\n                _TRACE(&quot;Strategy : &quot;+ stgy_name +&quot;AlgoStatus : &quot;+ EnableAlgo +&quot;Chart Symbol : &quot;+ Name()+ &quot;Signal = Short and Sell&quot;);\n            }\n            else if ((AlgoShort != True OR AlgoSell != True))\n            {   \n                StaticVarSet(static_name_+&quot;ShortSellAlgo&quot;,0);\n            }\n                \n            if (AlgoShort==True  AND  AlgoSell != True AND StaticVarGet(static_name_+&quot;ShortAlgo&quot;)==0 AND  StaticVarGetText(static_name_+&quot;ShortAlgo_barvalue&quot;) != lasttime)\n            {\n            \/\/ Short Entry\n                sellorder(1);\n                StaticVarSetText(static_name_+&quot;ShortAlgo_barvalue&quot;,lasttime); \n                StaticVarSet(static_name_+&quot;ShortAlgo&quot;,1); \/\/Algo Order was triggered, no more order on this bar\n                _TRACE(&quot;Strategy : &quot;+ stgy_name +&quot;AlgoStatus : &quot;+ EnableAlgo +&quot;Chart Symbol : &quot;+ Name()+ &quot;Signal = Short&quot;);\n            }\n            else if (AlgoShort != True )\n            {   \n                StaticVarSet(static_name_+&quot;ShortAlgo&quot;,0);\n            }\n            if (AlgoCover==true AND AlgoBuy != True AND StaticVarGet(static_name_+&quot;CoverAlgo&quot;)==0 AND StaticVarGetText(static_name_+&quot;CoverAlgo_barvalue&quot;) != lasttime)\n            {\n            \/\/ Short Exit\n                buyorder(1);\n                StaticVarSetText(static_name_+&quot;CoverAlgo_barvalue&quot;,lasttime); \n                StaticVarSet(static_name_+&quot;CoverAlgo&quot;,1); \/\/Algo Order was triggered, no more order on this bar\n                _TRACE(&quot;Strategy : &quot;+ stgy_name +&quot;AlgoStatus : &quot;+ EnableAlgo +&quot;Chart Symbol : &quot;+ Name()+ &quot;Signal = Cover&quot;);\n            }\n            else if (AlgoCover != True )\n            {   \n                StaticVarSet(static_name_+&quot;CoverAlgo&quot;,0);\n            }\n        }\n        \n        \n        \n        else if(EnableAlgo == &quot;LongOnly&quot;)\n        {\n            \n            if (AlgoBuy==True AND StaticVarGet(static_name_+&quot;buyAlgo&quot;)==0 AND StaticVarGetText(static_name_+&quot;buyAlgo_barvalue&quot;) != lasttime)\n            {  \n            \/\/  Long Entry\n                buyorder(1);\n                StaticVarSetText(static_name_+&quot;buyAlgo_barvalue&quot;,lasttime); \n                StaticVarSet(static_name_+&quot;buyAlgo&quot;,1); \/\/Algo Order was triggered, no more order on this bar\n                _TRACE(&quot;Strategy : &quot;+ stgy_name +&quot;AlgoStatus : &quot;+ EnableAlgo +&quot;Chart Symbol : &quot;+ Name()+ &quot;Signal = Buy&quot;);\n            }\n            else if (AlgoBuy != True)\n            {   \n                StaticVarSet(static_name_+&quot;buyAlgo&quot;,0);\n            }\n            if (AlgoSell==true AND StaticVarGet(static_name_+&quot;sellAlgo&quot;)==0 AND StaticVarGetText(static_name_+&quot;sellAlgo_barvalue&quot;) != lasttime)\n            {  \n            \/\/ Long Exit\n                sellorder(1);\n                StaticVarSetText(static_name_+&quot;sellAlgo_barvalue&quot;,lasttime); \n                StaticVarSet(static_name_+&quot;sellAlgo&quot;,1); \/\/Algo Order was triggered, no more order on this bar\n                _TRACE(&quot;Strategy : &quot;+ stgy_name +&quot;AlgoStatus : &quot;+ EnableAlgo +&quot;Chart Symbol : &quot;+ Name()+ &quot;Signal = Sell&quot;);\n            }\n            else if (AlgoSell != True )\n            {   \n                StaticVarSet(static_name_+&quot;sellAlgo&quot;,0);\n            }\n        }\n        else if(EnableAlgo == &quot;ShortOnly&quot;)\n        {\n            if (AlgoShort==True AND StaticVarGet(static_name_+&quot;ShortAlgo&quot;)==0 AND StaticVarGetText(static_name_+&quot;ShortAlgo_barvalue&quot;) != lasttime)\n            {\n            \/\/ Short Entry\n                sellorder(1);\n                StaticVarSetText(static_name_+&quot;ShortAlgo_barvalue&quot;,lasttime); \n                StaticVarSet(static_name_+&quot;ShortAlgo&quot;,1); \/\/Algo Order was triggered, no more order on this bar\n                _TRACE(&quot;Strategy : &quot;+ stgy_name +&quot;AlgoStatus : &quot;+ EnableAlgo +&quot;Chart Symbol : &quot;+ Name()+ &quot;Signal = Short&quot;);\n            }\n            else if (AlgoShort != True )\n            {   \n                StaticVarSet(static_name_+&quot;ShortAlgo&quot;,0);\n            }\n            if (AlgoCover==true AND StaticVarGet(static_name_+&quot;CoverAlgo&quot;)==0 AND StaticVarGetText(static_name_+&quot;CoverAlgo_barvalue&quot;) != lasttime)\n            {\n            \/\/ Short Exit\n                buyorder(1);\n                StaticVarSetText(static_name_+&quot;CoverAlgo_barvalue&quot;,lasttime); \n                StaticVarSet(static_name_+&quot;CoverAlgo&quot;,1); \/\/Algo Order was triggered, no more order on this bar\n                _TRACE(&quot;Strategy : &quot;+ stgy_name +&quot;AlgoStatus : &quot;+ EnableAlgo +&quot;Chart Symbol : &quot;+ Name()+ &quot;Signal = Cover&quot;);\n            }\n            else if (AlgoCover != True)\n            {   \n                StaticVarSet(static_name_+&quot;CoverAlgo&quot;,0);\n            }\n        }\n        \n    }\/\/end main if\n\n    \n_SECTION_END();\n\n<\/code><\/pre>\n\n\n\n<p>Feel Free to use modify the code according to your requirements. Use this module responsibly!<br><br>Test your system properly with the module before using the module in a live automation trading environment.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Got frequent requirements from a couple of traders to automate Amibroker based trading system where one single generation from charts could punch orders in multiple accounts (friends &#038; family). Here is the readymade execution module one can plugin with their trading system to send multi orders and easily configure multi-client under the same broker.<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","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,21,24,46,121],"_links":{"self":[{"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/posts\/226"}],"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=226"}],"version-history":[{"count":6,"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/posts\/226\/revisions"}],"predecessor-version":[{"id":644,"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/posts\/226\/revisions\/644"}],"wp:attachment":[{"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/media?parent=226"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/categories?post=226"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/tags?post=226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}