Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Se funcionar para você - tudo bem. Fico feliz. Mas minha opinião é que qualquer indicador deve ser o mais universal possível, e não bom apenas para alguma situação específica. Você o faz uma vez, mas faça-o corretamente, para que se você precisar mudar alguma coisa ou situação mude em termos de suas posições, ele funcione corretamente.
De qualquer forma, você é bem-vindo.
Não vai funcionar, você cria o Objeto e depois tenta criá-lo novamente no próximo tick, isso vai falhar . . então se a primeira ordem for uma compra e a segunda uma venda, o texto não será atualizado da compra para a venda.
Funciona, mas basta mostrar a última encomenda. Não sei como mudá-lo para a ordem atual!
Não sei se é uma boa prática ou não, mas eu crio as etiquetas no init() e ObjectSetText apenas com um ".
Eu ainda não descobri como colocar uma etiqueta com texto totalmente vazio. Se eu tentar, eu crio o texto "Label" (Etiqueta)
Claro que isso é bom, desde que você saiba quantos rótulos você precisará.
Acho que não deve ser muito difícil apagar os rótulos em excesso e adicionar novos rótulos quando necessário no corpo principal.
Este é o código que eu uso no init() para criar os rótulos
Oh. e em deinit()
Funciona, mas basta mostrar a última encomenda. Não sei como mudá-lo para a ordem atual!
{ int counted_bars=IndicatorCounted(); int pos; string OrderTip = "OT"; string ottt; color LabelColor3; for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderSymbol()==Symbol() ) { if(OrderType()==OP_BUY) pos++; if(OrderType()==OP_SELL) pos++; } } if (OrderType()==OP_BUY) { ottt="Buy"; LabelColor3 = DodgerBlue; } if (OrderType()==OP_SELL){ ottt="Sell"; LabelColor3 = Red; } else ottt=""; ObjectCreate(OrderTip, OBJ_LABEL, 0 , 0, 0, 0); ObjectSet(OrderTip, OBJPROP_CORNER, 1); ObjectSet(OrderTip, OBJPROP_XDISTANCE, 10); ObjectSet(OrderTip, OBJPROP_YDISTANCE, 15); ObjectSetText(OrderTip, "Order Type: "+ottt, 8, "Tahoma",LabelColor3); }Eu quis dizer o código completo . . mas não importa . . tente estas mudanças.
{ int counted_bars=IndicatorCounted(); int pos; string OrderTip = "OT"; string ottt = " "; color LabelColor3 = Black; for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderSymbol()==Symbol() ) { if (OrderType() == OP_BUY) { ottt = "Buy"; LabelColor3 = DodgerBlue; } if (OrderType() == OP_SELL){ ottt = "Sell"; LabelColor3 = Red; } } } if (ObjectFind(OrderTip) < 0) ObjectCreate(OrderTip, OBJ_LABEL, 0 , 0, 0, 0); ObjectSet(OrderTip, OBJPROP_CORNER, 1); ObjectSet(OrderTip, OBJPROP_XDISTANCE, 10); ObjectSet(OrderTip, OBJPROP_YDISTANCE, 15); ObjectSetText(OrderTip, "Order Type: "+ottt, 8, "Tahoma",LabelColor3); }Por favor, não poste perguntas que não tenham nada a ver com este fio muito antigo
Repostei sua consulta
https://forum.mql4.com/72256