Olá pessoal,
estou tentando criar um elemento que escreva o lucro da ultima transação acima no candle que encerrou a transação.
Até agora fui capaz de chegar até aqui, mas ainda não consegui fazer com que isso faça o que preciso.
Como demonstração, seria esse meu objetivo:
Olá Flávio, não sou programador. Mas estou tentando criar um EA.
Acabei de ver que coloquei uma função booleana aff, nada a ver rs.
Vou tentar arrumar isso.
Obrigado
Leandro Guilhermano:
Conseguiu arrumar?
Não consegui deixar do jeito que quero, mas dei uma melhorada.
void DrawProfit() { double profit = 0; ulong ticket; string CurrDate = TimeToString(TimeCurrent(), TIME_DATE); HistorySelect(StringToTime(CurrDate), TimeCurrent()); for(int i = HistoryDealsTotal() - 1; i >= 0; i--) { ticket = HistoryDealGetTicket(i); if(ticket > 0) { if(HistoryDealGetString(ticket, DEAL_SYMBOL) == _Symbol && HistoryDealGetInteger(ticket, DEAL_MAGIC) == numeromagico) { profit = HistoryDealGetDouble(ticket, DEAL_PROFIT); ObjectCreate(_Symbol,StringFormat("Profit %s",profit),OBJ_TEXT,0,0,0); ObjectSetInteger(0,StringFormat("Profit %s",profit),OBJPROP_FONTSIZE,8); ObjectSetInteger(0,StringFormat("Profit %s",profit),OBJPROP_COLOR,clrWhite); ObjectSetInteger(0,StringFormat("Profit %s",profit),OBJPROP_BGCOLOR,clrGreen); ObjectSetString(0,StringFormat("Profit %s",profit),OBJPROP_TEXT,profit); break; } } } }
No forum russo, consegui algumas ajudas. Mas ainda nao consegui fazer esse tal do "Draw Profit"
input ulong MagicNumber = 999; void OnTick() { DrawProfit(); } //+------------------------------------------------------------------+ void DrawProfit() { double profit = 0; ulong ticket; string CurrDate = TimeToString(TimeCurrent(), TIME_DATE); HistorySelect(StringToTime(CurrDate), TimeCurrent()); for(int i = HistoryDealsTotal() - 1; i >= 0; i--) { ticket = HistoryDealGetTicket(i); if(ticket > 0) { if(HistoryDealGetString(ticket, DEAL_SYMBOL) == _Symbol && HistoryDealGetInteger(ticket, DEAL_MAGIC) == MagicNumber) { profit = HistoryDealGetDouble(ticket, DEAL_PROFIT); long closePos = HistoryDealGetInteger(ticket, DEAL_TIME); int shift= iBarShift (_Symbol ,Period() ,closePos); string name = (string) ticket; ObjectCreate (0 ,name, OBJ_TEXT , 0 ,shift,profit); ObjectSetInteger(0,name,OBJPROP_FONTSIZE,8); ObjectSetInteger(0,name,OBJPROP_COLOR,clrWhite); ObjectSetInteger(0,name,OBJPROP_BGCOLOR,clrGreen); ObjectSetString(0,name,OBJPROP_TEXT,(string)profit); } } } }
Nova atualização, mas ainda está diferente do objetivo
void DrawProfit(int MagicNumber) { long dealTime = 0; double dealPrice = 0.0; double dealProfit = 0.0; ulong ticket = 0; string CurrDate = TimeToString(TimeCurrent(), TIME_DATE); HistorySelect(StringToTime(CurrDate), TimeCurrent()); for(int i = HistoryDealsTotal() - 1; i >= 0; i--) { ticket = HistoryDealGetTicket(i); if(ticket == 0) continue; if(HistoryDealGetString(ticket, DEAL_SYMBOL) != _Symbol) continue; if(HistoryDealGetInteger(ticket, DEAL_MAGIC) != MagicNumber) continue; dealTime = HistoryDealGetInteger(ticket, DEAL_TIME); dealPrice = HistoryDealGetDouble(ticket, DEAL_PRICE); dealProfit = HistoryDealGetDouble(ticket, DEAL_PROFIT)-HistoryDealGetDouble(ticket, DEAL_SWAP)-HistoryDealGetDouble(ticket, DEAL_COMMISSION); string name = (string)ticket; ObjectCreate(0,name, OBJ_TEXT, 0, dealTime, dealPrice); ObjectSetInteger(0,name,OBJPROP_FONTSIZE,8); ObjectSetInteger(0,name,OBJPROP_COLOR,clrWhite); ObjectSetInteger(0,name,OBJPROP_BGCOLOR,clrGreen); ObjectSetString(0,name,OBJPROP_TEXT,(string)dealProfit); } }
Nova atualização, mas ainda está diferente do objetivo
Se você não sabe programar está correndo um risco tremendo de tornar seu MT5 completamente instável, dado o seu código dos seus posts...
Sugiro que contrate alguêm para fazer isso, na área de Freelance...
;)
Se você não sabe programar está correndo um risco tremendo de tornar seu MT5 completamente instável, dado o seu código dos seus posts...
Sugiro que contrate alguêm para fazer isso, na área de Freelance...
;)
estou fazendo por hobby! Se eu contratar alguém será muito fácil!
não preciso viver de mercado, mas obrigado pelas dicas!
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Olá pessoal,
estou tentando criar um elemento que escreva o lucro da ultima transação acima no candle que encerrou a transação.
Até agora fui capaz de chegar até aqui, mas ainda não consegui fazer com que isso faça o que preciso.
Como demonstração, seria esse meu objetivo:
![](https://c.mql5.com/3/344/draw-profit-logo-200x200-5281.png)