I think this make my code more clear,please take a look. Thanks
//create SPTraderObject
myobj = CreateStaticObject("SPBridge.SPBridge");
// 1) Change this part (symbol, login, qty, stopPriceLevel (in point))
symbol = "MHIG7";
login = "DEMO201701048";
qty = 1;
msg = myobj.DisplayMsg();
if ( msg != "" )
{
_TRACE(msg);
}
PrevTN = StaticVarGet("TimeNumber");
TN = LastValue(TimeNum());
NewBar = TN != PrevTN;
StaticVarSet("TimeNumber", TN);
BuyPosHold = Nz(StaticVarGet("BuyPosHold"));
ShortPosHold = Nz(StaticVarGet("ShortPosHold"));
//New Buy Signal
if (Buy[BarCount-1] && NewBar && BuyPosHold == 0 ){
//new long position with no position before
if(ShortPosHold==0){
qty=1;
}
//reverse from short to long
if(ShortPosHold !=0){
qty=2;
}
myobj.sendmsg("3103,0,1," + login + ",0," + symbol + ",B," + (C[BarCount-1]+10) + "," + qty + ",,,,,,1");
StaticVarSet("BuyPosHold", 1);
PlaySound("c:\\Users\\User\\Downloads\\Mp3-alarm-clock");
}
//Cover Long
if (Sell[BarCount-1] && NewBar && BuyPosHold > 0){
myobj.sendmsg("3103,0,1," + login + ",0," + symbol + ",S," + (C[BarCount-1]-10) + "," + qty + ",,,,,,1");
StaticVarSet("BuyPosHold", 0);
PlaySound("c:\\Users\\User\\Downloads\\Mp3-alarm-clock");
}
//Sell Signal
if (Short[BarCount-1] && NewBar && ShortPosHold == 0){
//new short position
if(BuyPosHold==0){
qty=1;
}
//reverse from long to short
if(BuyPosHold !=0){
qty=2;
}
myobj.sendmsg("3103,0,1," + login + ",0," + symbol + ",S," + (C[BarCount-1]-10) + "," + qty + ",,,,,,1");
StaticVarSet("ShortPosHold", 1);
PlaySound("c:\\Users\\User\\Downloads\\Mp3-alarm-clock");
}
//Sell Exit
if (Cover[BarCount-1] && NewBar && ShortPosHold > 0){
myobj.sendmsg("3103,0,1," + login + ",0," + symbol + ",B," + (C[BarCount-1]+10) + "," + qty + ",,,,,,1");
StaticVarSet("ShortPosHold", 0);
PlaySound("c:\\Users\\User\\Downloads\\Mp3-alarm-clock");
}
//**************************************************** End AutoTrade***********************************************************