# Limite de posição aberta.

Sou iniciante e quero colocar um limite de posição aberta por ativo.
Observação: Não sei se é relevante mas comprei um código onde eu coloco vários ativos numa estrategia só.

```void ModifySellTP(string inSymbol)
{
int sellnumber = 0;
double total  = 0;
double averageprice = 0;
int newticket = 0;
double tp = 0;

for(int i=0;i < PositionsTotal();i++)
{
ulong ticket = PositionGetTicket(i);
if(PositionGetSymbol(i) == inSymbol
&& PositionGetInteger(POSITION_TYPE) == ORDER_TYPE_SELL
&& PositionGetInteger(POSITION_MAGIC) == MagicNumber)
{
sellnumber++;
total = total + PositionGetDouble(POSITION_PRICE_OPEN);
newticket = ticket;
}
}

if(sellnumber > 1 && GVGet("TP change" + IntegerToString(newticket)) <= 0)
{
averageprice = total / sellnumber;
for(int i= PositionsTotal() - 1;i >= 0;i--)
{
ulong ticket = PositionGetTicket(i);
if(PositionGetSymbol(i) == inSymbol
&& PositionGetInteger(POSITION_TYPE) == ORDER_TYPE_SELL
&& PositionGetInteger(POSITION_MAGIC) == MagicNumber)
{
if(TP > 0)
{
tp = averageprice - TP  * SymbolInfoDouble(inSymbol,SYMBOL_POINT);
}
else if(TPPercent > 0)
{
tp = averageprice - TPPercent  * averageprice / 100;
}
else
{
tp = 0;
}
}
}
}
}

void ReSetGV_Value(string inSymbol,int inMagic)
{
int sellnumber = 0;
for(int i=0;i < PositionsTotal();i++)
{
ulong ticket = PositionGetTicket(i);
if(PositionGetSymbol(i) == inSymbol
&& PositionGetInteger(POSITION_MAGIC) == inMagic)
{
{
}
else if(PositionGetInteger(POSITION_TYPE) == ORDER_TYPE_SELL)
{
sellnumber++;
}
}
}
{
}
if(sellnumber == 0)
{
GVSet("Sell Band1" + inSymbol,0);
GVSet("Sell Band2" + inSymbol,0);
}
}

{
double total  = 0;
double averageprice = 0;
int newticket = 0;
double tp = 0;

for(int i=0;i < PositionsTotal();i++)
{
ulong ticket = PositionGetTicket(i);
if(PositionGetSymbol(i) == inSymbol
&& PositionGetInteger(POSITION_MAGIC) == MagicNumber)
{
total = total + PositionGetDouble(POSITION_PRICE_OPEN);
newticket = ticket;
}
}

if(buynumber > 1 && GVGet("TP change" + IntegerToString(newticket)) <= 0)
{
for(int i= PositionsTotal() - 1;i >= 0;i--)
{
ulong ticket = PositionGetTicket(i);
if(PositionGetSymbol(i) == inSymbol
&& PositionGetInteger(POSITION_MAGIC) == MagicNumber)
{
if(TP > 0)
{
tp = averageprice + TP  * SymbolInfoDouble(inSymbol,SYMBOL_POINT);
}
else if(TPPercent > 0)
{
tp = averageprice + TPPercent  * averageprice / 100;
}
else
{
tp = 0;
}
}
}
}
}
```

Silverveins:

Sou iniciante e quero colocar um limite de posição aberta por ativo.
Observação: Não sei se é relevante mas comprei um código onde eu coloco vários ativos numa estrategia só.

Contrate um desenvolvedor na área de Freelance.

Razão: