{"id":196,"date":"2021-03-23T07:10:04","date_gmt":"2021-03-23T07:10:04","guid":{"rendered":"https:\/\/algomojo.com\/blog\/?p=196"},"modified":"2025-02-27T07:43:22","modified_gmt":"2025-02-27T07:43:22","slug":"stop-and-reverse-cover-orders-bracket-orders-automated-chart-based-intraday-trading-module-for-amibroker","status":"publish","type":"post","link":"https:\/\/algomojo.com\/blog\/stop-and-reverse-cover-orders-bracket-orders-automated-chart-based-intraday-trading-module-for-amibroker\/","title":{"rendered":"Stop and Reverse Cover Orders\/Bracket Orders \u2013 Automated Chart based Intraday Trading Module for Amibroker"},"content":{"rendered":"\n<p>Bracket Order and Cover Order are multi-legged orders which come with default protection with stop loss with reasonable intraday leverage. This tutorial focus on building a Plug and Play Amibroker Intraday module where traders can create their own trading strategy in Amibroker and connect their intraday trading strategies with Plug and Play Amibroker Execution Module to bring 100% automation in their intraday traders using&nbsp;Cover and Bracket Orders&nbsp;in Algomojo trading platform<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/i0.wp.com\/www.marketcalls.in\/wp-content\/uploads\/2021\/03\/Bracket-Order-and-Cover-Order-Stop-and-Reverse-1024x576.png?resize=1024%2C576&amp;ssl=1\" alt=\"\"\/><\/figure>\n\n\n\n<p>Supported Brokers : Aliceblue, Tradejini, Zebu<\/p>\n\n\n\n<p><strong>Strategy Requirements<\/strong><\/p>\n\n\n\n<ul><li>Enter Buy BO\/CO order on Buy Signal<\/li><li>Enter Sell BO\/CO Order on Short Signal<\/li><li>Stop and Reverse from Buy to Short on both Short Signal and Sell Signal<\/li><li>Stop and Reverse from Short to Buy on Both Buy Signal and Cover signal<\/li><li>Exit BO\/CO Order on Sell Signal<\/li><li>Exit BO\/CO Order on Cover Signal<\/li><\/ul>\n\n\n\n<p><strong>Sample Donchian Intraday Trading Strategy \u2013 Amibroker AFL Code<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-javascript\">_SECTION_BEGIN(&quot;Simple Swing Trading System&quot;);\n\nSetChartOptions(0, chartShowArrows | chartShowDates); \/\/x-Axis will be plottted\n\/\/plot the candles\nPlot(Close,&quot;Close&quot;,colorDefault,styleCandle | styleNoTitle);\n_N(Title = StrFormat(&quot;{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}&quot;, O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));\n\nN = 1;\n\n\/\/ identify new day\ndn = DateNum();\nnewDay = dn != Ref( dn,-1);\n\n\nlen = Param(&quot;Length&quot;,15,1,50,1);\n\n\nsignalstarttime = ParamTime( &quot;Start Time&quot;, &quot;09:30&quot; );\nsignalendtime = ParamTime( &quot;EndTime&quot;, &quot;15:00&quot; );\nsqofftime = ParamTime( &quot;Sq Off&quot;, &quot;15:15&quot; );\n\n\nupper = HHV(High,len);\nlower = LLV(Low,len);\n\n\n\/\/refer to previous channel and ignoring the current channel value\nupper = Ref(upper,-1);\nlower = Ref(lower,-1);\n\n\n\/\/Plot(upper,&quot;upper&quot;,colorRed);\n\/\/Plot(lower,&quot;lower&quot;,colorGreen);\n\n\n\/\/Touch based trading system - Trading Logic\n\nBuy = Cross(High,upper) AND TimeNum()&gt;=signalstarttime AND TimeNum()&lt;=signalendtime;\nSell = Cross(lower,Low) OR TimeNum()&gt;=sqofftime;\n\nBuy = Buy AND Sum( Buy, BarsSince( newDay) +1 ) &lt;= N;\n\nBuy = ExRem(Buy,Sell);\nSell = ExRem(Sell,Buy);\n\n\/\/check whether signals are continuing or not\n\nBuycontinue = Flip(Buy,Sell);\nsellcontinue = Flip(Sell,Buy);\n\n\nShort = Cross(lower,Low) AND TimeNum()&gt;=signalstarttime AND TimeNum()&lt;=signalendtime;\nCover =  Cross(High,upper) OR TimeNum()&gt;=sqofftime;\n\nShort = Short AND Sum( Short, BarsSince( newDay) +1 ) &lt;= N;\n\nShort = ExRem(Short,Cover);\nCover = ExRem(Cover,Short);\n\n\ncolor = IIf(Buycontinue,colorGreen,IIf(sellcontinue,colorRed,colorGrey40));\n\ntsl = IIf(Buycontinue,lower,IIf(sellcontinue,upper,null)); \/\/trailing stoploss\n\n\nPlot(tsl,&quot;Trailing Stoploss&quot;,color,styleDashed | styleThick);\n\n\n\/\/execution logic\n\nSetTradeDelays(0,0,0,0); \/\/No Trade Delay - Execute as it happens\n\nBuyPrice = max(open,upper);\nSellPrice = iif(Cross(lower,Low),lower,Close);\n\nShortPrice = min(open,lower);\nCoverPrice = IIf(Cross(High,upper),upper,Close);\n\n\n\/\/position sizing - How much to Bet\n\n\nSetPositionSize(1*RoundLotSize,spsShares);\n\n\n\/* Plot Buy and Sell Signal Arrows *\/\nPlotShapes(IIf(Buy, shapeSquare, shapeNone),colorGreen, 0, L, Offset=-40);\nPlotShapes(IIf(Buy, shapeSquare, shapeNone),colorLime, 0,L, Offset=-50);\nPlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorWhite, 0,L, Offset=-45);\nPlotShapes(IIf(Short, shapeSquare, shapeNone),colorRed, 0, H, Offset=40);\nPlotShapes(IIf(Short, shapeSquare, shapeNone),colorOrange, 0,H, Offset=50);\nPlotShapes(IIf(Short, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-45);\nPlotShapes(IIf(sell, shapestar, shapeNone),colorgreen, 0,L, Offset=-45);\nPlotShapes(IIf(cover, shapestar, shapeNone),colorRed, 0,H, Offset=-45);\n\n\nFilter = Buy OR Sell OR Short OR Cover;\n\nAddColumn(Close,&quot;LTP&quot;,1.2);\nAddColumn(TSL,&quot;Trailing Stop&quot;,1.2);\nAddColumn(IIf(Buy,&#039;B&#039;,IIf(Short,&#039;S&#039;,null)),&quot;Entry Signal&quot;,formatChar,colorWhite,IIf(Buy,colorGreen,IIf(Short,colorRed,colorGrey40)));\nAddColumn(IIf(Sell,&#039;S&#039;,IIf(Cover,&#039;C&#039;,null)),&quot;Exit Signal&quot;,formatChar,colorWhite,IIf(Sell,colorRed,IIf(Cover,colorGreen,colorGrey40)));\nAddColumn(IIf(TimeNum()==sqofftime,1,0),&quot;Sqoff Time&quot;,1,colorWhite,IIf(TimeNum()==sqofftime,colorOrange,colorBlack));\n\n_SECTION_END();<\/code><\/pre>\n\n\n\n<p><strong>Intraday Preferences Settings<\/strong><\/p>\n\n\n\n<p><strong>Goto Amibroker -&gt;Tools Menu -&gt; Preferences&nbsp;<\/strong>and make sure to enable start time of interval option as shown below. It is highly recommended to use for the above coding pattern.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/i1.wp.com\/www.marketcalls.in\/wp-content\/uploads\/2021\/03\/image-4.png?resize=522%2C622&amp;ssl=1\" alt=\"\"\/><\/figure>\n\n\n\n<p><strong>Amibroker Execution Module for BO\/CO Orders<\/strong><\/p>\n\n\n\n<p>Amibroker Execution Module contains two parts<\/p>\n\n\n\n<p>1)Main Chart Based Module<br>2)Header Module<\/p>\n\n\n\n<p>Main Module (<strong>algomojo_chart_based_trading_bo_co_stop_reverse.afl<\/strong>)<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-javascript\">\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/Multi Broker Amibroker Charting BO\/CO Order Module\n\/\/Coded by Algomojo\n\/\/Date : 20\/03\/2021\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\/\/Note : Bracket Order and Cover Order Stop and Reverse Module is designed purely for Intraday Strategies only\n\n\n#include \n\n_SECTION_BEGIN(&quot;Algomojo Charting BO\/CO Order Module&quot;);\n\n\/\/ Send orders even if Amibroker is minimized or Chart is not active\nRequestTimedRefresh(1, False); \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\/\/Static Varibales 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\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                \n                resp = GetOrderBook();\n\t\t\t\tCancelOrder(resp,Tsym,Pcode); \n\t\t\t\tBuyOrder(qty,Pcode);\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;  Trading Symbol : &quot;+  Tsym +&quot;  Signal : Buy and Cover Signal  TimeFrame : &quot;+ Interval(2)+&quot;  Response : &quot;+ resp +&quot;  ChardId : &quot;+ GetChartID() + &quot; Latest Price : &quot;+LastValue(C));\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(qty,Pcode);\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;  Trading Symbol : &quot;+  Tsym +&quot;  Quantity : &quot;+ qty +&quot;  Signal : Buy Signal  TimeFrame : &quot;+ Interval(2)+&quot;  Response : &quot;+ resp +&quot;  ChardId : &quot;+ GetChartID() + &quot; Latest Price : &quot;+LastValue(C));\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                resp = GetOrderBook();\n\t\t\t\tCancelOrder(resp,Tsym,Pcode); \/\/output in string format\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;  Trading Symbol : &quot;+  Tsym +&quot;  Quantity : &quot;+ qty +&quot;  Signal : Sell Signal  TimeFrame : &quot;+ Interval(2)+&quot;  Response : &quot;+ resp +&quot;  ChardId : &quot;+ GetChartID() + &quot; Latest Price : &quot;+LastValue(C));\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                \n                resp = GetOrderBook();\n\t\t\t\tCancelOrder(resp,Tsym,Pcode); \/\/output in string format\n\t\t\t\tSellOrder(qty,Pcode);\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;  Trading Symbol : &quot;+  Tsym +&quot;  Quantity : &quot;+ qty*2 +&quot;  Signal : Short and Sell Signal  TimeFrame : &quot;+ Interval(2)+&quot;  Response : &quot;+ resp +&quot;  ChardId : &quot;+ GetChartID() + &quot; Latest Price : &quot;+LastValue(C));\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(qty,Pcode);\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;  Trading Symbol : &quot;+  Tsym +&quot;  Quantity : &quot;+ qty +&quot;  Signal : Short Signal  TimeFrame : &quot;+ Interval(2)+&quot;  Response : &quot;+ resp +&quot;  ChardId : &quot;+ GetChartID() + &quot; Latest Price : &quot;+LastValue(C));\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                resp = GetOrderBook();\n\t\t\t\tCancelOrder(resp,Tsym,Pcode); \/\/output in string format\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;  Trading Symbol : &quot;+  Tsym +&quot;  Quantity : &quot;+ qty +&quot;  Signal : Cover Signal  TimeFrame : &quot;+ Interval(2)+&quot;  Response : &quot;+ resp +&quot;  ChardId : &quot;+ GetChartID() + &quot; Latest Price : &quot;+LastValue(C));\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(qty,Pcode);\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;  Trading Symbol : &quot;+  Tsym +&quot;  Quantity : &quot;+ qty +&quot;  Signal : Buy Signal  TimeFrame : &quot;+ Interval(2)+&quot;  Response : &quot;+ resp +&quot;  ChardId : &quot;+ GetChartID() + &quot; Latest Price : &quot;+LastValue(C));\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                resp = GetOrderBook();\n\t\t\t\tCancelOrder(resp,Tsym,Pcode); \/\/output in string format\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;  Trading Symbol : &quot;+  Tsym +&quot;  Quantity : &quot;+ qty +&quot;  Signal : Sell Signal  TimeFrame : &quot;+ Interval(2)+&quot;  Response : &quot;+ resp +&quot;  ChardId : &quot;+ GetChartID() + &quot; Latest Price : &quot;+LastValue(C));\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(qty,Pcode);\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;  Trading Symbol : &quot;+  Tsym +&quot;  Quantity : &quot;+ qty +&quot;  Signal : Short Signal  TimeFrame : &quot;+ Interval(2)+&quot;  Response : &quot;+ resp +&quot;  ChardId : &quot;+ GetChartID() + &quot; Latest Price : &quot;+LastValue(C));\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                resp = GetOrderBook();\n\t\t\t\tCancelOrder(resp,Tsym,Pcode); \/\/output in string format\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;  Trading Symbol : &quot;+  Tsym +&quot;  Quantity : &quot;+ qty +&quot;  Signal : Cover Signal  TimeFrame : &quot;+ Interval(2)+&quot;  Response : &quot;+ resp +&quot;  ChardId : &quot;+ GetChartID() + &quot; Latest Price : &quot;+LastValue(C));\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();<\/code><\/pre>\n\n\n\n<p><strong>Header Module<\/strong>&nbsp;<strong>(BracketCoverOrders.afl<\/strong>)<\/p>\n\n\n\n<p>save the header module under the folder&nbsp;<strong>\/Amibroker\/Formulas\/Include folder<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-javascript\">\/\/store the file under the name - ExitBOCOOrders.afl under the Amibroker\\Formulas\\Include folder\n\nuid = ParamStr(&quot;Client ID&quot;,&quot;TS2499&quot;);\nuser_apikey = ParamStr(&quot;user_apikey&quot;,&quot;xxxxxxxxxxxxxxxxxxxxx&quot;); \/\/Enter your API key here\napi_secret = ParamStr(&quot;api_secret&quot;,&quot;xxxxxxxxxxxxxxxxxxxxx&quot;); \/\/Enter your API secret key here\ns_prdt_ali = &quot;BO:BO|CNC:CNC|CO:CO|MIS:MIS|NRML:NRML&quot;; \/\/Product Alias\nTsym = ParamStr(&quot;Trading Symbol&quot;,&quot;RELIANCE-EQ&quot;); \/\/Symbol Name\nexch = ParamList(&quot;Exchange&quot;,&quot;NFO|NSE|BSE|CDS|MCX|NCDEX&quot;,1); \/\/Exchange\nRet = &quot;DAY&quot;; \/\/Retention\nprctyp = ParamList(&quot;prctyp&quot;,&quot;MKT|L|SL|SL-M&quot;,0); \/\/ Pricetype\nPcode = ParamList(&quot;Pcode&quot;,&quot;BO|CO&quot;,1);\nqty = Param(&quot;Quantity&quot;,1,0,100000,1); \/\/ Quantity\nAMO = &quot;NO&quot;; \/\/AMO Order\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;Test Strategy Chart&quot;); \/\/ Strategy Name\nEnableAlgo = ParamList(&quot;Algo Mode&quot;,&quot;Disable|Enable|LongOnly|ShortOnly&quot;,0); \/\/ Algo Mode\nresp = &quot;&quot;;\nbroker =&quot;tj&quot;; \/\/Broker Short Code - ab - aliceblue, tj - tradejini, zb - zebu, en - enrich\nver = ParamStr(&quot;API Version &quot;,&quot;1.0&quot;);\n\nTokenNo = ParamStr(&quot;TokenNo&quot;,&quot;11184&quot;); \/\/Enter the token number of the symbol here. Check the Algomojo Watchlist symbol info to get the relevant symbol token no.\nltpOratp = &quot;LTP&quot;; \/\/ParamList(&quot;ltpOratp&quot;,&quot;LTP|ATP&quot;,0);\n\n\n \nSqrOffAbsOrticks = &quot;Absolute&quot;;  \/\/ParamList(&quot;SqrOffAbsOrticks&quot;,&quot;Absolute|Ticks&quot;,0); \/\/If you select absolute then you can enter a decimal quantity. If you selected ticks you need to enter in multiples of ticks\nSLAbsOrticks = &quot;Absolute&quot;;   \/\/ParamList(&quot;SLAbsOrticks&quot;,&quot;Absolute|Ticks&quot;,0);\n\ntrailingSL = &quot;N&quot;; \/\/ParamList(&quot;trailingSL&quot;,&quot;Y|N&quot;,0); \ntSLticks = 1000; \/\/ParamStr(&quot;tSLticks&quot;,&quot;100&quot;); \/\/Trailing SL value in ticks if user has opted to use trailingSL\n\nstops = Param(&quot;Stoploss %&quot;, 0.25,0,20,0.01);\ntarget = Param(&quot;Target %&quot;, 0.5,0,20,0.01);\nTickSz = Param(&quot;TickSize&quot;,0.05); \/\/round off the stops and target to nearest tick size\n\n\n\n\nRequestTimedRefresh(1,False);\n\n\nbuystops1 = (100-stops)\/100 * Buyprice;\nbuytarget1 = (100+target)\/100 * Buyprice;\n\n\nbuystops = TickSz * round( buystops1 \/ TickSz );\nbuytarget = TickSz * round( buytarget1 \/ TickSz );\n\nshortstops1 = (100-stops)\/100 * Shortprice;\nshorttarget1 = (100+target)\/100 * Shortprice;\n\n\nshortstops = TickSz * round( shortstops1 \/ TickSz );\nshorttarget = TickSz * round( shorttarget1 \/ TickSz );\n\nBuyP = TickSz * round( BuyPrice \/ TickSz );\nShortP = TickSz * round( ShortPrice \/ TickSz );\n\n\n\/\/Buy and Sell Order Functions\n\nfunction Buyorder(orderqty,Pcode)\n{\n\tif(Pcode==&quot;CO&quot;)\n\t{\n    algomojo=CreateObject(&quot;AMAMIBRIDGE.Main&quot;);\n    api_data =&quot;{\\&quot;stgy_name\\&quot;:\\&quot;&quot;+stgy_name+&quot;\\&quot;,\\&quot;s_prdt_ali\\&quot;:\\&quot;&quot;+s_prdt_ali+&quot;\\&quot;,\\&quot;Tsym\\&quot;:\\&quot;&quot;+Tsym+&quot;\\&quot;,\\&quot;exch\\&quot;:\\&quot;&quot;+exch+&quot;\\&quot;,\\&quot;Ttranstype\\&quot;:\\&quot;&quot;+&quot;B&quot;+&quot;\\&quot;,\\&quot;Ret\\&quot;:\\&quot;&quot;+Ret+&quot;\\&quot;,\\&quot;prctyp\\&quot;:\\&quot;&quot;+prctyp+&quot;\\&quot;,\\&quot;qty\\&quot;:\\&quot;&quot;+orderqty+&quot;\\&quot;,\\&quot;discqty\\&quot;:\\&quot;&quot;+&quot;0&quot;+&quot;\\&quot;,\\&quot;MktPro\\&quot;:\\&quot;&quot;+&quot;NA&quot;+&quot;\\&quot;,\\&quot;Price\\&quot;:\\&quot;&quot;+&quot;0&quot;+&quot;\\&quot;,\\&quot;TrigPrice\\&quot;:\\&quot;&quot;+BuyStops+&quot;\\&quot;,\\&quot;Pcode\\&quot;:\\&quot;&quot;+Pcode+&quot;\\&quot;,\\&quot;AMO\\&quot;:\\&quot;&quot;+AMO+&quot;\\&quot;}&quot;;\n    \n    _TRACE(&quot;BuyOrder API Request&quot;+api_data);\n    resp=algomojo.AMDispatcher(user_apikey, api_secret,&quot;PlaceOrder&quot;,api_data,broker,ver);\n    _TRACE(&quot;BuyOrder API Response : &quot;+resp);\n    _TRACE(&quot;Strategy Name : &quot;+stgy_name+&quot;;  AlgoStatus : &quot;+ EnableAlgo);\n    _TRACE(&quot;Chart Symbol : &quot;+ Name() +&quot;  Trading Symbol : &quot;+  Tsym +&quot;  Quantity : &quot;+ orderqty +&quot;  Signal : Buy Signal  TimeFrame : &quot;+ Interval(2)+&quot;  ChardId : &quot;+ GetChartID() + &quot; LTP : &quot;+LastValue(C));\n\t}\n\tif(Pcode==&quot;BO&quot;)\n\t{\n\t\n\tSqrOffvalue = abs(buytarget-BuyP); \/\/ParamStr(&quot;SqrOffvalue&quot;,&quot;1&quot;); \n\tSLvalue = abs(BuyP-buystops) ; \/\/ParamStr(&quot;SLvalue&quot;,&quot;30&quot;);\n\tSqrOffvalue = TickSz * round( SqrOffvalue \/ TickSz );\n\tSLvalue = TickSz * round( SLvalue \/ TickSz );\n\talgomojo=CreateObject(&quot;AMAMIBRIDGE.Main&quot;);\n\tapi_data =&quot;{\\&quot;stgy_name\\&quot;:\\&quot;&quot;+stgy_name+&quot;\\&quot;,\\&quot;s_prdt_ali\\&quot;:\\&quot;&quot;+s_prdt_ali+&quot;\\&quot;,\\&quot;TokenNo\\&quot;:\\&quot;&quot;+TokenNo+&quot;\\&quot;,\\&quot;exch\\&quot;:\\&quot;&quot;+exch+&quot;\\&quot;,\\&quot;Ttranstype\\&quot;:\\&quot;&quot;+&quot;B&quot;+&quot;\\&quot;,\\&quot;Ret\\&quot;:\\&quot;&quot;+Ret+&quot;\\&quot;,\\&quot;prctyp\\&quot;:\\&quot;&quot;+prctyp+&quot;\\&quot;,\\&quot;qty\\&quot;:\\&quot;&quot;+qty+&quot;\\&quot;,\\&quot;discqty\\&quot;:\\&quot;&quot;+&quot;0&quot;+&quot;\\&quot;,\\&quot;Price\\&quot;:\\&quot;&quot;+&quot;0&quot;+&quot;\\&quot;,\\&quot;ltpOratp\\&quot;:\\&quot;&quot;+ltpOratp+&quot;\\&quot;,\\&quot;SqrOffAbsOrticks\\&quot;:\\&quot;&quot;+SqrOffAbsOrticks+&quot;\\&quot;,\\&quot;SqrOffvalue\\&quot;:\\&quot;&quot;+SqrOffvalue+&quot;\\&quot;,\\&quot;SLAbsOrticks\\&quot;:\\&quot;&quot;+SLAbsOrticks+&quot;\\&quot;,\\&quot;SLvalue\\&quot;:\\&quot;&quot;+SLvalue+&quot;\\&quot;,\\&quot;trailingSL\\&quot;:\\&quot;&quot;+trailingSL+&quot;\\&quot;,\\&quot;tSLticks\\&quot;:\\&quot;&quot;+tSLticks+&quot;\\&quot;}&quot;;\n\t_TRACE(&quot;BuyOrder API Request&quot;+api_data);\n\tresp=algomojo.AMDispatcher(user_apikey, api_secret,&quot;PlaceBOOrder&quot;,api_data,broker,ver);\n\t_TRACE(&quot;BuyOrder API Response : &quot;+resp);\n    _TRACE(&quot;Strategy Name : &quot;+stgy_name+&quot;;  AlgoStatus : &quot;+ EnableAlgo);\n    _TRACE(&quot;Chart Symbol : &quot;+ Name() +&quot;  Trading Symbol : &quot;+  Tsym +&quot;  Quantity : &quot;+ orderqty +&quot;  Signal : Buy Signal  TimeFrame : &quot;+ Interval(2)+&quot;  ChardId : &quot;+ GetChartID() + &quot; LTP : &quot;+LastValue(C));\n\t\n\t\n\t}\n\t\n\t\n\t\n\t\/\/Say( &quot;Buy Order Placed&quot; ); \n}\n\n\n\nfunction sellorder(orderqty,Pcode)\n{\t\n\n\tif(Pcode==&quot;CO&quot;)\n\t{\n    algomojo=CreateObject(&quot;AMAMIBRIDGE.Main&quot;);\n    api_data =&quot;{\\&quot;stgy_name\\&quot;:\\&quot;&quot;+stgy_name+&quot;\\&quot;,\\&quot;s_prdt_ali\\&quot;:\\&quot;&quot;+s_prdt_ali+&quot;\\&quot;,\\&quot;Tsym\\&quot;:\\&quot;&quot;+Tsym+&quot;\\&quot;,\\&quot;exch\\&quot;:\\&quot;&quot;+exch+&quot;\\&quot;,\\&quot;Ttranstype\\&quot;:\\&quot;&quot;+&quot;S&quot;+&quot;\\&quot;,\\&quot;Ret\\&quot;:\\&quot;&quot;+Ret+&quot;\\&quot;,\\&quot;prctyp\\&quot;:\\&quot;&quot;+prctyp+&quot;\\&quot;,\\&quot;qty\\&quot;:\\&quot;&quot;+orderqty+&quot;\\&quot;,\\&quot;discqty\\&quot;:\\&quot;&quot;+&quot;0&quot;+&quot;\\&quot;,\\&quot;MktPro\\&quot;:\\&quot;&quot;+&quot;NA&quot;+&quot;\\&quot;,\\&quot;Price\\&quot;:\\&quot;&quot;+&quot;0&quot;+&quot;\\&quot;,\\&quot;TrigPrice\\&quot;:\\&quot;&quot;+Shortstops+&quot;\\&quot;,\\&quot;Pcode\\&quot;:\\&quot;&quot;+Pcode+&quot;\\&quot;,\\&quot;AMO\\&quot;:\\&quot;&quot;+AMO+&quot;\\&quot;}&quot;;\n    \n    _TRACE(&quot;SellOrder API Request&quot;+api_data);\n    resp=algomojo.AMDispatcher(user_apikey, api_secret,&quot;PlaceOrder&quot;,api_data,broker,ver);\n    _TRACE(&quot;SellOrder API Response : &quot;+resp);\n    _TRACE(&quot;Strategy Name : &quot;+stgy_name+&quot;  AlgoStatus : &quot;+ EnableAlgo);\n    _TRACE(&quot;Chart Symbol : &quot;+ Name() +&quot;  Trading Symbol : &quot;+  Tsym +&quot;  Quantity : &quot;+ orderqty +&quot;  Signal : Sell Signal  TimeFrame : &quot;+ Interval(2)+&quot;  ChardId : &quot;+ GetChartID() + &quot; LTP : &quot;+LastValue(C));\n\t}\n\tif(Pcode==&quot;BO&quot;)\n\t{\n\tSqrOffvalue = abs(ShortP-shorttarget); \/\/ParamStr(&quot;SqrOffvalue&quot;,&quot;1&quot;); \n\tSLvalue = abs(shortstops - ShortP) ; \/\/ParamStr(&quot;SLvalue&quot;,&quot;30&quot;);\n\tSqrOffvalue = TickSz * round( SqrOffvalue \/ TickSz );\n\tSLvalue = TickSz * round( SLvalue \/ TickSz );\n\talgomojo=CreateObject(&quot;AMAMIBRIDGE.Main&quot;);\n\tapi_data =&quot;{\\&quot;stgy_name\\&quot;:\\&quot;&quot;+stgy_name+&quot;\\&quot;,\\&quot;s_prdt_ali\\&quot;:\\&quot;&quot;+s_prdt_ali+&quot;\\&quot;,\\&quot;TokenNo\\&quot;:\\&quot;&quot;+TokenNo+&quot;\\&quot;,\\&quot;exch\\&quot;:\\&quot;&quot;+exch+&quot;\\&quot;,\\&quot;Ttranstype\\&quot;:\\&quot;&quot;+&quot;S&quot;+&quot;\\&quot;,\\&quot;Ret\\&quot;:\\&quot;&quot;+Ret+&quot;\\&quot;,\\&quot;prctyp\\&quot;:\\&quot;&quot;+prctyp+&quot;\\&quot;,\\&quot;qty\\&quot;:\\&quot;&quot;+qty+&quot;\\&quot;,\\&quot;discqty\\&quot;:\\&quot;&quot;+&quot;0&quot;+&quot;\\&quot;,\\&quot;Price\\&quot;:\\&quot;&quot;+&quot;0&quot;+&quot;\\&quot;,\\&quot;ltpOratp\\&quot;:\\&quot;&quot;+ltpOratp+&quot;\\&quot;,\\&quot;SqrOffAbsOrticks\\&quot;:\\&quot;&quot;+SqrOffAbsOrticks+&quot;\\&quot;,\\&quot;SqrOffvalue\\&quot;:\\&quot;&quot;+SqrOffvalue+&quot;\\&quot;,\\&quot;SLAbsOrticks\\&quot;:\\&quot;&quot;+SLAbsOrticks+&quot;\\&quot;,\\&quot;SLvalue\\&quot;:\\&quot;&quot;+SLvalue+&quot;\\&quot;,\\&quot;trailingSL\\&quot;:\\&quot;&quot;+trailingSL+&quot;\\&quot;,\\&quot;tSLticks\\&quot;:\\&quot;&quot;+tSLticks+&quot;\\&quot;}&quot;;\n\t_TRACE(&quot;SellOrder API Request&quot;+api_data);\n\tresp=algomojo.AMDispatcher(user_apikey, api_secret,&quot;PlaceBOOrder&quot;,api_data,broker,ver);\n\t_TRACE(&quot;SellOrder API Response : &quot;+resp);\n    _TRACE(&quot;Strategy Name : &quot;+stgy_name+&quot;  AlgoStatus : &quot;+ EnableAlgo);\n    _TRACE(&quot;Chart Symbol : &quot;+ Name() +&quot;  Trading Symbol : &quot;+  Tsym +&quot;  Quantity : &quot;+ orderqty +&quot;  Signal : Sell Signal  TimeFrame : &quot;+ Interval(2)+&quot;  ChardId : &quot;+ GetChartID() + &quot; LTP : &quot;+LastValue(C));\n\t\n\t}\n}\n\n\nfunction GetOrderBook()\n{\n\nalgomojo=CreateObject(&quot;AMAMIBRIDGE.Main&quot;);\napi_data =&quot;{\\&quot;uid\\&quot;:\\&quot;&quot;+uid+&quot;\\&quot;,\\&quot;s_prdt_ali\\&quot;:\\&quot;&quot;+s_prdt_ali+&quot;\\&quot;}&quot;;\nresp=algomojo.AMDispatcher(user_apikey, api_secret,&quot;OrderBook&quot;,api_data,broker,ver);\n_TRACE(&quot;Order Book  : &quot; +resp);\nreturn resp;\n}\n\nfunction ExitOrder(Symbol,OrderType,Nstordno)\n{\n\nif(OrderType==&quot;BO&quot;)\n{\nalgomojo=CreateObject(&quot;AMAMIBRIDGE.Main&quot;);\napi_data =&quot;{\\&quot;nestordernumber\\&quot;:\\&quot;&quot;+Nstordno+&quot;\\&quot;,\\&quot;SyomOrderId\\&quot;:\\&quot;&quot;+&quot;&quot;+&quot;\\&quot;,\\&quot;status\\&quot;:\\&quot;&quot;+&quot;pending&quot;+&quot;\\&quot;}&quot;;\nresp=algomojo.AMDispatcher(user_apikey, api_secret,&quot;ExitBOOrder&quot;,api_data,broker,ver);\n\n}\n\nif(OrderType==&quot;CO&quot;)\n{\nalgomojo=CreateObject(&quot;AMAMIBRIDGE.Main&quot;);\napi_data =&quot;{\\&quot;uid\\&quot;:\\&quot;&quot;+uid+&quot;\\&quot;,\\&quot;NestOrd\\&quot;:\\&quot;&quot;+Nstordno+&quot;\\&quot;,\\&quot;s_prdt_ali\\&quot;:\\&quot;&quot;+s_prdt_ali+&quot;\\&quot;}&quot;;\nresp=algomojo.AMDispatcher(user_apikey, api_secret,&quot;ExitCOOrder&quot;,api_data,broker,ver);\n\n}\n\n\nreturn resp;\n}\n\nfunction CancelOrder(resp,Tsym,Pcode)\n{\n\n\/\/Initialization\nflag = 0;\n\nstringinfo = &quot;Nstordno&quot;;\n\nfor( item = 0; ( sym = StrExtract( resp, item,&#039;{&#039; )) != &quot;&quot;; item++ )\n{\n\nsym = StrTrim(sym,&quot; &quot;);\nTsym = StrTrim(Tsym,&quot; &quot;);\n\nif(Pcode == &quot;BO&quot;);\n{\nordermatch = StrFind(sym,Tsym) AND StrFind(sym,Pcode) AND StrFind(sym,&quot;complete&quot;);\n}\n\nif(Pcode == &quot;CO&quot;);\n{\nordermatch = StrFind(sym,Tsym) AND StrFind(sym,Pcode) AND (StrFind(sym,&quot;complete&quot;) OR StrFind(sym,&quot;open&quot;));\n}\n\n\nif(ordermatch) \/\/Matches the symbol and \/\/Matches the Order Type\n{\n\nflag = 1; \/\/turn on the flag\n\ndata = sym;\n\n\n\nfor( jitem = 0; ( posdetails = StrExtract( data, jitem,&#039;,&#039; )) != &quot;&quot;; jitem++ )\n{\n  \n  if(StrFind(posdetails,&quot;\\&quot;&quot;+stringinfo+&quot;\\&quot;&quot;))\n  {\n   posdetails = StrExtract(posdetails,1,&#039;:&#039;);\n   Nstordno = StrTrim(posdetails,&quot;\\&quot;&quot;);\n   ExitOrder(Tsym,Pcode,Nstordno);\n  }\n  \n\n} \/\/end of for loop\n} \/\/end of if loop\n\n\n}\/\/end of for loop\n\n\n_TRACE(Tsym+&quot; &quot;+Pcode+&quot; Order Cancelled&quot;);\n\n}<\/code><\/pre>\n\n\n\n<p>Now Drag and Drop the Main execution module on top of the intraday trading system and set the following parameters as shown below<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/i1.wp.com\/www.marketcalls.in\/wp-content\/uploads\/2021\/03\/image-5.png?resize=640%2C694&amp;ssl=1\" alt=\"\"\/><\/figure>\n\n\n\n<p>1)Set the API Key and API Secret Key<br>2)Select the PCode to send BO or CO Orders<br>3)Set the token no if it is a bracket order (Can get these details from Algomojo Market Watch -&gt; Symbol Information)<br>4)Set the Stoploss in percentage terms in case of cover order and set the stops and target in case of Bracket order.<br>5)Set the Broker, Trading Symbol, Exchange<br>6)Enable to AlgoTrading to start running the intraday trading system<\/p>\n\n\n\n<p><strong>While Coding for BO and CO Module following things needs to be noted<\/strong><\/p>\n\n\n\n<p>1)Stops and Targets are derived from the BuyPrice and ShortPrice i.e from entry price. Code the BuyPrice and Shortprice properly. Improper calculation could result in poor calculation of Stops and Target levels.<\/p>\n\n\n\n<p>2)Make sure to follow the\u00a0<a href=\"https:\/\/docs.algomojo.com\/docs\/api\/v1\">set of protocols to follow in case if you are building a bracket order strategy<\/a><\/p>\n\n\n\n<p>3)Strategy is rounded off to nearest tick size by default tick size is set to 0.05. It could vary depends upon Exchanges and Trading Instruments especially for commodities and currencies.<\/p>\n\n\n\n<p>Bingo! Now you are all set to do a complete automation on Bracket Order and Cover Order strategies.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bracket Order and Cover Order are multi-legged orders which come with default protection with stop loss with reasonable intraday leverage. This tutorial focus on building a Plug and Play Amibroker Intraday module where traders can create their own trading strategy in Amibroker and connect their intraday trading strategies with Plug and Play Amibroker Execution Module &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/algomojo.com\/blog\/stop-and-reverse-cover-orders-bracket-orders-automated-chart-based-intraday-trading-module-for-amibroker\/\"> <span class=\"screen-reader-text\">Stop and Reverse Cover Orders\/Bracket Orders \u2013 Automated Chart based Intraday Trading Module for Amibroker<\/span> Read More &raquo;<\/a><\/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,15],"tags":[110,7,104,105,44,112,111],"_links":{"self":[{"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/posts\/196"}],"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=196"}],"version-history":[{"count":4,"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/posts\/196\/revisions"}],"predecessor-version":[{"id":1589,"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/posts\/196\/revisions\/1589"}],"wp:attachment":[{"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/media?parent=196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/categories?post=196"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/tags?post=196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}