rcrt robo !! any one used here for auto trading ?

dell

Well-Known Member
#1
senior's , any one here ever used rcrt robo for auto trading ?
what limitations it have ? what problem u faced in it till now ?
r u satisfied by it's performance ?

1) if sudden internet dissconnection happens than again reconnects in 5-10 seconds , at this time how it behaves ? is it automatic reconnect or we have to do it manually .

2)we have a strategy on 5m tf , it trades on candle close , yet signal appears in running candle , but we want that it only trades on candle close , is it possible ?

3)they are also providing strategies for trade on pay basis , r there strategies are profitable in long run ?

4)no nest api or nse exam is needed , is it ok , or we get in trouble after some time ?

5)it places orders like market order , is there bracket order or limit order types orders also there to trade with , for avoiding slippage .

6)by ur experince what problem we can face while doing autotrading ?

website info :www dot rcrtrobo dot com .

at honerable moderator's : intention is only to know the product true review before subscribing ,as untill now ,did not go through auto route for managing emotion's.so little scared , that's why taking rewiews from trader's community,if thi post refer to any advitersiment or not in line with traderji forum rules , plz delete this post .
 

dell

Well-Known Member
#2
senior's also what is vps server trading ?

what i came to know that it is virtual service where internet is not disconnected and we get high speed internet there. we have to install amibroker + datafeed there and we auto trade there , now question is : is any other person can see or interfer with our strategy in vps ? or any other problem we face in this type of service ? is our ami+data is continously running in auto mode ? can we manually also trade from our system in parallel to vps.

senior's i have zero knowledge in auto route , plz enlighten with suggestion's.
 

pkgmtnl

Well-Known Member
#3
I have taken a Trial.
Seems a Good Product as AUTO Plugin, Still Price is an issue. Not Tried their Strategy.

The problem will happen with AMIBROKER order transmission to Auto Plugin in case of Internet failure (if data does not backfill automatically on reconnect).
Now, there are several vendors who have come up who are offering AUTO Trading Plugin at Subscription. Can take help of Google to find out, the pricing is still an issue.

I am trying to use KAKA's Plugin for NEST as well as Plugin codes given on MarketCalls (dot) in of Ranjith K R.

The VPS would be of Gr8 help as it continuous work unlike PC which may have internet issue. He is also giving VPS at reasonable price.

Now summarize it "RT Data" + "Plugin Cost" + "VPS", assess viability. I understand it still appears a costly recurring proposition for a Retail Users.
 

pkgmtnl

Well-Known Member
#4
Credit of these codes goes to Ranjith K R, picked from marketcalls (dot) in
See if it helps you. You need to have NEST Plus API activated first from your broker.


Title = " ";

_SECTION_BEGIN("MaualTradingInt1V00 ");

EnableRealTimeControl = ParamList("Enable Controls", "No|Yes", 0);
EnableAutoTrade = ParamList("Enable Autotrade", "No|Yes", 0);
ClientIdValue = ParamStr("Client Id", "CLIENTID");
PurchaseType = ParamList("Transaction Type", "MIS|NRML", 0);
OrderType = ParamList("Order Type", "LIMIT|MARKET", 0);
BuyPriceSelection = ParamList("Buy Price", "Bid Price|Ask Price|LTP", 0);
SellPriceSelection = ParamList("Sell Price", "Ask Price|Bid Price|LTP", 0);
LotQuantity = Param("Lot Quantity", 25, 50, 100000, 10); // Default Trade Qty.

//firstflag=0;
if(StaticVarGetText("firstflag")=="")
{
StaticVarSet("OrderNo", 0, 1);

StaticVarSet("LTPSave", 0);
StaticVarSet("LTQSave", 0);
StaticVarSet("VolumeTemp", 0);
StaticVarSet("AskSave", 0);
StaticVarSet("BidSave", 0);

StaticVarSetText ("firstflag","0");
}

if(StaticVarGetText("firstflag"+Name())=="")
{
StaticVarSet(("Buy_Price" + Name()), 0, 1);
StaticVarSet(("Buy_Qty" + Name()), 0, 1);
StaticVarSet(("Sell_Price" + Name()), 0, 1);
StaticVarSet(("Sell_Qty" + Name()), 0, 1);
StaticVarSet(("AvgBuy_Price" + Name()), 0, 1);
StaticVarSet(("NetBuy_Qty" + Name()), 0, 1);
StaticVarSet(("AvgSell_Price" + Name()), 0, 1);
StaticVarSet(("NetSell_Qty" + Name()), 0, 1);

StaticVarSetText("firstflag"+Name(), "0");
}

nestplus = Null;

if(EnableAutoTrade == "Yes" && EnableRealTimeControl == "Yes")
{
if(IsNull(nestplus))
{
nestplus = CreateObject("Nest.PlusApi");
nestplus.SetObjectName("MaualTradingInt");
}
}

TempBuyPrice = StaticVarGet(("Buy_Price" + Name()));
TempSellPrice = StaticVarGet(("Sell_Price" + Name()));
TempBuyQty = StaticVarGet(("Buy_Qty" + Name()));
TempSellQty = StaticVarGet(("Sell_Qty" + Name()));

LTPTemp = StaticVarGet("LTPSave");
LTQTemp = StaticVarGet("LTQSave");
VolumeTemp = StaticVarGet("VolumeTemp");
AskTemp = StaticVarGet("AskSave");
BidTemp = StaticVarGet("BidSave");

LTPLastTemp = LastValue(C);
VolumeLastTemp = LastValue(Volume);

LTQLastTemp = (VolumeLastTemp - VolumeTemp);

if(LTQLastTemp < 0)
{
LTQLastTemp = LTQLastTemp * -1;
}

if(LTQLastTemp == 0)
{
LTQLastTemp = LTQTemp;
}


AskLastTemp = LastValue(Aux1);
BidLastTemp = LastValue(Aux2);

LTPColor = colorGrey40;
LTQColor = colorGrey40;
AskColor = colorGrey40;
BidColor = colorGrey40;


if(LTPTemp > LTPLastTemp)
{
LTPColor = colorRed;
}
else if(LTPTemp < LTPLastTemp)
{
LTPColor = ColorGreen;
}

if(LTQTemp > LTQLastTemp)
{
LTQColor = colorRed;
}
else if(LTQTemp < LTQLastTemp)
{
LTQColor = ColorGreen;
}

if(AskTemp > AskLastTemp)
{
AskColor = colorRed;
}
else if(AskTemp < AskLastTemp)
{
AskColor = ColorGreen;
}

if(BidTemp > BidLastTemp)
{
BidColor = colorRed;
}
else if(BidTemp < BidLastTemp)
{
BidColor = ColorGreen;
}

StaticVarSet("LTPSave", LTPLastTemp, 1);
StaticVarSet("LTQSave", LTQLastTemp, 1);
StaticVarSet("VolumeTemp", VolumeLastTemp, 1);
StaticVarSet("AskSave", AskLastTemp, 1);
StaticVarSet("BidSave", BidLastTemp, 1);

X0 = 20;
Y0 = 10;

procedure DrawData (Text, x1, y1, x2, y2, colorFrom, colorTo)
{
GfxSetOverlayMode(0);
GfxSelectFont("Verdana", 8.5, 700);
GfxSetBkMode(1);
GfxGradientRect(x1, y1, x2, y2, colorFrom, colorTo);
GfxDrawText(Text, x1, y1, x2, y2, 32|1|4|16);
}
GfxSetTextColor(colorWhite);


BuyAvgPriceDisplay = StaticVarGet(("AvgBuy_Price" + Name()));
NetBuyQtyDisplay = StaticVarGet(("NetBuy_Qty" + Name()));
SellAvgPriceDisplay = StaticVarGet(("AvgSell_Price" + Name()));
NetSellQtyDisplay = StaticVarGet(("NetSell_Qty" + Name()));

TempNetQuantity = NetBuyQtyDisplay - NetSellQtyDisplay;
TempNetValue = (SellAvgPriceDisplay * NetSellQtyDisplay) - (BuyAvgPriceDisplay * NetBuyQtyDisplay);

TempNetQuantityColor = colorGrey40;
TempNetValueColor = colorGrey40;

if(TempNetQuantity > 0)
{
TempNetQuantityColor = colorGreen;
}
else if(TempNetQuantity < 0)
{
TempNetQuantityColor = colorRed;
}

if(TempNetValue > 0)
{
TempNetValueColor = colorGreen;
}
else if(TempNetValue < 0)
{
TempNetValueColor = colorRed;
}

DrawData (Name(), X0, Y0, X0+150, Y0+20, colorGrey40, colorGrey40);
DrawData (Date(), X0+155, Y0, X0+320, Y0+20, colorGrey40, colorGrey40);
DrawData ("Open : " + Open, X0+325, Y0, X0+450, Y0+20, colorGrey40, colorGrey40);
DrawData ("Close : " + Close, X0+455, Y0, X0+580, Y0+20, colorGrey40, colorGrey40);
DrawData ("High : " + High, X0+585, Y0, X0+710, Y0+20, colorGrey40, colorGrey40);
DrawData ("Low : " + Low, X0+715, Y0, X0+840, Y0+20, colorGrey40, colorGrey40);
DrawData ("Volume : " + Volume, X0+845, Y0, X0+1000, Y0+20, colorGrey40, colorGrey40);
DrawData ("% Change : " + NumToStr( (((C-O)*100)/O), 1.2, True), X0+1005, Y0, X0+1130, Y0+20, colorGrey40, colorGrey40);

if(EnableRealTimeControl == "Yes")
{
DrawData ("Buy Price : " + TempBuyPrice, X0, Y0+25, X0+150, Y0+45, colorGrey40, colorGrey40);
DrawData ("Buy Qty : " + TempBuyQty, X0+155 , Y0+25, X0+305, Y0+45, colorGrey40, colorGrey40);
DrawData ("Sell Price : " + TempSellPrice, X0+310, Y0+25, X0+460, Y0+45, colorGrey40, colorGrey40);
DrawData ("Sell Qty : " + TempSellQty, X0+465, Y0+25, X0+615, Y0+45, colorGrey40, colorGrey40);

DrawData ("BuyAvgPrice : " + BuyAvgPriceDisplay, X0+620, Y0+25, X0+770, Y0+45, colorGrey40, colorGrey40);
DrawData ("NetBuyQty : " + NetBuyQtyDisplay, X0+775 , Y0+25, X0+925, Y0+45, colorGrey40, colorGrey40);
DrawData ("SellAvgPrice : " + SellAvgPriceDisplay, X0+930, Y0+25, X0+1080, Y0+45, colorGrey40, colorGrey40);
DrawData ("NetSellQty : " + NetSellQtyDisplay, X0+1085, Y0+25, X0+1235, Y0+45, colorGrey40, colorGrey40);

TempNestOredrNo = ClientIdValue + NumToStr(Now(3),1,0) + "00" + StaticVarGet("OrderNo");

DrawData ("NetQty : " + TempNetQuantity, X0+520, Y0+50, X0+670, Y0+70, TempNetQuantityColor, TempNetQuantityColor);
DrawData ("NetValue : " + TempNetValue, X0+675, Y0+50, X0+900, Y0+70, TempNetValueColor, TempNetValueColor);
DrawData ("Order No : " + TempNestOredrNo, X0+905, Y0+50, X0+1150, Y0+70, colorGrey40, colorGrey40);

DrawData ("LTP : " + LTPLastTemp, X0, Y0+50, X0+125, Y0+70, LTPColor, LTPColor);
DrawData ("LTQ : " + LTQLastTemp, X0+130, Y0+50, X0+255, Y0+70, LTQColor, LTQColor);
DrawData ("Ask : " + AskLastTemp, X0+260, Y0+50, X0+385, Y0+70, AskColor, AskColor);
DrawData ("Bid : " + BidLastTemp, X0+390, Y0+50, X0+515, Y0+70, BidColor, BidColor);
}

X0 = 20;
Y0 = 100;
X1 = 100;

LBClick = GetCursorMouseButtons() == 9; // Click
MouseX = Nz(GetCursorXPosition(1)); //
MouseY = Nz(GetCursorYPosition(1)); //

procedure DrawBut (Text, x1, y1, x2, y2, colorFrom, colorTo)
{
GfxSetOverlayMode(0);
GfxSelectFont("Verdana", 9, 700);
GfxSetBkMode(1);
GfxGradientRect(x1, y1, x2, y2, colorFrom, colorTo);
GfxDrawText(Text, x1, y1, x2, y2, 32|1|4|16);
}
GfxSetTextColor(colorWhite);

if(EnableRealTimeControl == "Yes")
{

DrawBut ("Buy", X0, Y0, X0+X1, Y0+30, colorGreen, colorGreen);
CursorInBuyButton = MouseX >= X0 AND MouseX <= X0+X1 AND MouseY >= Y0 AND MouseY <= Y0+30;
BuyButtonClick = CursorInBuyButton AND LBClick;
if (BuyButtonClick)
{
DrawBut("Buy", X0+X1+10, Y0, X0+X1+75, Y0+30, colorGrey40, colorGrey40);
TempBuy = LastValue(DateTime());
StaticVarSet(("BuyIndex" + Name()), TempBuy, 1);

TempBuyLastQty = StaticVarGet(("NetBuy_Qty" + Name()));
TempNetBuyQty = (TempBuyLastQty + LotQuantity);

TempBuyLastPrice = StaticVarGet(("AvgBuy_Price" + Name()));

if(BuyPriceSelection == "Bid Price")
{
BuyPriceValue = BidLastTemp;
}
else if(BuyPriceSelection == "Ask Price")
{
BuyPriceValue = AskLastTemp;
}
else
{
BuyPriceValue = LTPLastTemp;
}

if(TempBuyLastQty == 0)
{
TempAvgBuyPrice = BuyPriceValue;
}
else
{
TempAvgBuyPrice = (BuyPriceValue + TempBuyLastPrice)/2;
}

StaticVarSet(("Buy_Price" + Name()), BuyPriceValue, 1);
StaticVarSet(("Buy_Qty" + Name()), LotQuantity, 1);

StaticVarSet(("AvgBuy_Price" + Name()), TempAvgBuyPrice, 1);
StaticVarSet(("NetBuy_Qty" + Name()), TempNetBuyQty, 1);

if(EnableAutoTrade == "Yes" && EnableRealTimeControl == "Yes")
{
LastOrderNo = StaticVarGet("OrderNo");
LastOrderNo++;
StaticVarSet("OrderNo", LastOrderNo, 1);
TempOrderNo = ClientIdValue + NumToStr(Now(3),1,0) + "00" + LastOrderNo;
TempName = Name() + "-EQ";
nestplus.PlaceOrder("BUY", TempOrderNo, "NSE", TempName, "DAY", OrderType, LotQuantity, BuyPriceValue, 0.0, 0, PurchaseType, ClientIdValue);
}
}

DrawBut ("Sell", X0, Y0+40, X0+X1, Y0+70, colorRed, colorRed);
CursorInSellButton = MouseX >= X0 AND MouseX <= X0+X1 AND MouseY >= Y0+40 AND MouseY <= Y0+70;
SellButtonClick = CursorInSellButton AND LBClick;
if (SellButtonClick)
{
DrawBut("Sell", X0+X1+10, Y0, X0+X1+75, Y0+30, colorGrey40, colorGrey40);
TempSell = LastValue(DateTime());
StaticVarSet(("SellIndex" + Name()), TempSell, 1);

TempSellLastQty = StaticVarGet(("NetSell_Qty" + Name()));
TempNetSellQty = (TempSellLastQty + LotQuantity);

TempSellLastPrice = StaticVarGet(("Sell_Price" + Name()));

if(SellPriceSelection == "Ask Price")
{
SellPriceValue = AskLastTemp;
}
else if(SellPriceSelection == "Bid Price")
{
SellPriceValue = BidLastTemp;
}
else
{
SellPriceValue = LTPLastTemp;
}

if(TempSellLastQty == 0)
{
TempAvgSellPrice = SellPriceValue;
}
else
{
TempAvgSellPrice = (SellPriceValue + TempSellLastPrice)/2;
}

StaticVarSet(("Sell_Price" + Name()), SellPriceValue, 1);
StaticVarSet(("Sell_Qty" + Name()), LotQuantity, 1);

StaticVarSet(("AvgSell_Price" + Name()), TempAvgSellPrice, 1);
StaticVarSet(("NetSell_Qty" + Name()), TempNetSellQty, 1);

if(EnableAutoTrade == "Yes" && EnableRealTimeControl == "Yes")
{
LastOrderNo = StaticVarGet("OrderNo");
LastOrderNo++;
StaticVarSet("OrderNo", LastOrderNo, 1);
TempOrderNo = ClientIdValue + NumToStr(Now(3),1,0) + "00" + LastOrderNo;
TempName = Name() + "-EQ";
nestplus.PlaceOrder("SELL", TempOrderNo, "NSE", TempName, "DAY", OrderType, LotQuantity, SellPriceValue, 0.0, 0, PurchaseType, ClientIdValue);
}
}

DrawBut ("Clear Data", X0, Y0+80, X0+X1, Y0+110, colorGrey40, colorGrey40);
CursorInClearButton = MouseX >= X0 AND MouseX <= X0+X1 AND MouseY >= Y0+80 AND MouseY <= Y0+110;
ClearButtonClick = CursorInClearButton AND LBClick;
if (ClearButtonClick)
{
DrawBut("Clear", X0+X1+10, Y0, X0+X1+75, Y0+30, colorGrey40, colorGrey40);
StaticVarRemove(("BuyIndex" + Name()));
StaticVarRemove(("SellIndex" + Name()));
StaticVarSetText("firstflag"+Name(), "");
}

BuyTempData = StaticVarGet(("BuyIndex" + Name()));
SellTempData = StaticVarGet(("SellIndex" + Name()));

Buy = IIF(DateTime() == BuyTempData, 1, 0);
Sell = IIF(DateTime() == SellTempData, 1, 0);

Buyshape = Buy * shapeUpArrow;
SellShape = Sell * shapeDownArrow;
PlotShapes( Buyshape, colorBrightGreen, 0, Low );
PlotShapes( SellShape, colorRed, 0, High );
GraphXSpace = 5;

}

_SECTION_END();

// ~~~~~~~~~~~~~~~~ Quote Display Draw ~~~~~~~~~~~~~~~~~//

_SECTION_BEGIN("Price");
SetChartOptions(0,chartShowArrows|chartShowDates);
//_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} \nOpen : %g, Close : %g (%.1f%%) \nLow : %g, High : %g (%.1f%%) \nVolume : " +WriteVal( V, 1.0 ) +" {{VALUES}}", O, C,(((C-O)*100)/O), L, H, (((H-L)*100)/L) ));
Plot( C, "Close", ParamColor("Color", colorDefault ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
_SECTION_END();
 

dell

Well-Known Member
#5
@pkgmtnl , i have 2-3 very well trading systems , is it possible that 2-3 person's having good systems collectively share the cost and trade with joint ventures.
we can start with small quantity and than can increase our size's .
this can decrease our trading cost.

if u have some good systems , we can initiate in this direction.
 
Last edited:

mechtrader

Well-Known Member
#6
@pkgmtnl , i have 2-3 very well trading systems , is it possible that 2-3 person's having good systems collectively share the cost and trade with joint ventures.
we can start with small quantity and than can increase our size's .
this can decrease our trading cost.

if u have some good systems , we can initiate in this direction.
Hi dell,

Sorry to bump in but the above proposition is definitely not possible.
It has many complications.

For starters, If you are trading from a common venture then the trades fired will also be traded in one account, and i m sure noone is okay wit that.

P.S. If you want to go through the auto route then you will have to bear the costs involved in that, there can be no escape. Though auto trading provides a heap of advantages there is a little cost involved in that and thats fair. No one can have the best of both worlds.

Thanks,
MT
 

laotze

Active Member
#7
Hi dell,

Sorry to bump in but the above proposition is definitely not possible.
It has many complications.

For starters, If you are trading from a common venture then the trades fired will also be traded in one account, and i m sure noone is okay wit that.

P.S. If you want to go through the auto route then you will have to bear the costs involved in that, there can be no escape. Though auto trading provides a heap of advantages there is a little cost involved in that and thats fair. No one can have the best of both worlds.

Thanks,
MT
MT

What will be the cost involved (maximum) to implement auto trade......
 

pkgmtnl

Well-Known Member
#8
You may Try KAKA sir's Codes to trade on NEST

ClientID = ParamStr("ClientId","000000");
Symbol= ParamStr("Symbol","NIFTY15JANFUT");
Slp= Param("Slippage%", 0.05);
Bprice= NumToStr(Ref(H,-1)*(1+slp/100),8.3,True);
Sprice= NumToStr(Ref(L,-1)*(1-slp/100),8.3,True);
Quantity=Param("Quantity",1,1,100,1);
OE = ParamList("Order Execution","Immediate,On Candle Completion",1);
AT = ParamToggle("AutoTrade","No,Yes");

if(OE=="On Candle Completion")
{
Buy=Ref(Buy,-1);
Short=Ref(Short,-1);
Sell=Ref(Sell,-1);
Cover=Ref(Cover,-1);
}

AplliedQuantity=IIf(LastValue(Buy) AND LastValue(Cover) OR LastValue(Short) AND LastValue(Sell),Quantity*2,Quantity);
RefNumber = Nz(StaticVarGet("RefNumber"));
Checkdt=Nz(StaticVarGet("lastdt"));
dt = LastValue( DateTime() );
Cond=LastValue(Buy) OR LastValue(Short) OR LastValue(Sell) OR LastValue(Cover);

if(AT)
{
plus = CreateStaticObject("Nest.PlusApi");
if(plus)
{
plus.SetObjectName(ClientID);
if(Cond AND Checkdt != dt )
{
if(LastValue(Buy) OR LastValue(Cover)){plus.PlaceOrder("BUY",RefNumber, "NFO",Symbol,"DAY","LIMIT",AplliedQuantity,BPrice, 0,1,"NRML",ClientID);}
if(LastValue(Short) OR LastValue(Sell)){plus.PlaceOrder("SELL",RefNumber, "NFO",Symbol,"DAY","LIMIT",AplliedQuantity,SPrice, 0,1,"NRML",ClientID);}
StaticVarSet("RefNumber",RefNumber+1);
StaticVarSet("lastdt",dt );
}
}
}
 

dell

Well-Known Member
#9
@pkgmtnl ; u are trying to implement both of these codes , kaka's and rajni sir , have u got suceed in it ? or u are still facing problems ?

have decided to take demo of rcrt and the one u suggested , meanwhile if u get suceed plz update here .

one thing also ,i have not yet activate api , also not have passes the exam , is both of this things are essential ? if i want to bypass it than is only solution is to take plugin service ?
 
#10
I am using realsenseindia.com. Fine going.

Cost is also not high

I have taken a Trial.
Seems a Good Product as AUTO Plugin, Still Price is an issue. Not Tried their Strategy.

The problem will happen with AMIBROKER order transmission to Auto Plugin in case of Internet failure (if data does not backfill automatically on reconnect).
Now, there are several vendors who have come up who are offering AUTO Trading Plugin at Subscription. Can take help of Google to find out, the pricing is still an issue.

I am trying to use KAKA's Plugin for NEST as well as Plugin codes given on MarketCalls (dot) in of Ranjith K R.

The VPS would be of Gr8 help as it continuous work unlike PC which may have internet issue. He is also giving VPS at reasonable price.

Now summarize it "RT Data" + "Plugin Cost" + "VPS", assess viability. I understand it still appears a costly recurring proposition for a Retail Users.
 

Similar threads