Alguém sabe me dizer como faço para acionar o breakeven depois de duas velas com lucro, podendo ser uma seguida da outra ou não. Estou tentando desta forma mas não está dando muito certo
void Breakeven()
{if(PositionSelect(_Symbol)&&PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY) // Se a operacão existir e for de compra
{double preco_entrada=PositionGetDouble(POSITION_PRICE_OPEN); // Captura o preço de entrada na posiçãodouble preco_sl=PositionGetDouble(POSITION_SL); // Captura o preço do stop lossdouble preco_tk=PositionGetDouble(POSITION_TP); // Captura o preço do take profitint sVelasPositivas=0; // Conta velas positivas seguidasint sVelasNegativas=0;
double sOpen=0,sClose=0;
int Candles=3;
for(int i=1;i<=Candles;i++)
{sOpen=iOpen(NULL,PERIOD_CURRENT,i);
sClose=iClose(NULL,PERIOD_CURRENT,i);
(sClose-sOpen)>0?sVelasPositivas++:sVelasNegativas++;
Print("Velas positivas = ",sVelasPositivas," Velas negativas = ",sVelasNegativas);}
if(sVelasPositivas==3&&!be_ativado) // Testa condição para acionar o Breakeven
{desenhaLinhaHorizontal("Compra",preco_entrada,clrGreen); // Desenha uma linha no alvo do breakeven
trade.PositionModify(PositionGetTicket(0),preco_entrada,preco_tk);be_ativado=true;}} // Modifica a posicão. Novo stop loss e novo take profitif(PositionSelect(_Symbol)&&PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL) // Breakeven de venda
{double preco_entrada=PositionGetDouble(POSITION_PRICE_OPEN); // Captura o preço de entrada na posiçãodouble preco_sl=PositionGetDouble(POSITION_SL); // Captura o preço do stop lossdouble preco_tk=PositionGetDouble(POSITION_TP); // Captura o preço do take profitint sVelasPositivas =0;
int sVelasNegativas =0;
double sOpen =0, sClose=0;
int Candles =3;
for(int i=1; i <= Candles; i++)
{sOpen = iOpen(NULL, PERIOD_CURRENT, i);
sClose = iClose(NULL, PERIOD_CURRENT, i);
(sClose - sOpen) > 0? sVelasPositivas ++: sVelasNegativas ++;}
if(sVelasNegativas==3&&!be_ativado) // Testa condição para acionar o Breakeven
{desenhaLinhaHorizontal("Venda",preco_entrada,clrYellow);
trade.PositionModify(PositionGetTicket(0),preco_entrada,preco_tk);be_ativado=true;}}} // Modifica a posicão. novo stop loss e novo take profit
Alguém sabe me dizer como faço para acionar o breakeven depois de duas velas com lucro, podendo ser uma seguida da outra ou não. Estou tentando desta forma mas não está dando muito certo