![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Hi,
Alguém pode me dizer o que há de errado com este código?![](https://c.mql5.com/forextsd/smiles/confused.png)
Ele não abre nenhuma ordem?
Eu o testei novamente em 2007.01.03
Saúde
extern string StrStartOrderTime = "20:00";
extern string StrEndOrderTime = "23:59";
extern double MyBidPrice = 1.3271;
int CountOrder = 0, BuyMagicNumber, SellMagicNumber;
extern double Lots = 1;
extern int StopLoss = 35;
extern int TakeProfit = 8;
extern bool FlagBuy = false;
int x, b, FindMagicSell, TicketSell, FindMagicBuy, TicketBuy;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
MyBidPrice = 1.3271;
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
int GetPosition, StartOrderTime, EndOrderTime, o;
GetPosition = StrToTime(StrGetPosition);
StartOrderTime = StrToTime(StrStartOrderTime);
EndOrderTime = StrToTime(StrEndOrderTime);
if (TimeCurrent() >= StartOrderTime && TimeCurrent() <= EndOrderTime)
{
FlagBuy = true;
//+------------
//| Posisi BUY
//+------------
if (FlagBuy == true)
{
if ((MyBidPrice == Bid) && (CountOrder < 6))
{
CountOrder++;
BuyMagicNumber = StrToInteger("1" + CountOrder + Day() + Month() + Year());
o = OrderSend(Symbol(),OP_BUY,Lots,Bid,3,Bid-StopLoss*Point,Bid+TakeProfit*Point,"Test",BuyMagicNumber,0,Green);
if (o < 1) MessageBox("ERROR!!");
if (CountOrder > 1) ModifyBuy();
if (CountOrder == 5) FlagBuy = false;
MyBidPrice = Bid - (2*Point);
}
ShowComment();
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
void ModifyBuy()
{
for (x = 1; x < CountOrder; x++)
{
FindMagicBuy = StrToInteger("1" + x + Day() + Month() + Year());
for (b = 0; b < OrdersTotal(); b++)
{
OrderSelect(b,SELECT_BY_POS, MODE_TRADES);
if (OrderMagicNumber() == FindMagicBuy)
{
TicketBuy = OrderTicket();
OrderSelect(TicketBuy,SELECT_BY_TICKET);
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderTakeProfit()-(2*Point),0);
break;
}
}
}
}
void ShowComment()
{
Comment("DayOfWeek = ",DayOfWeek(),"\nFLAG BUY : ",FlagBuy,"\nCount Order ",CountOrder,"\nNext order = ",MyBidPrice,"\nBID = ",Bid,"\nTime : ",TimeToStr(TimeCurrent(),TIME_MINUTES));
}Não é possível encontrar o arquivo MQ4 para o indicador
Espero que alguém possa me ajudar com algo que eu inicialmente pensei que seria bastante simples. Eu queria colocar um alerta sonoro em um indicador que realmente vem com o Metatrader para que quando ele atingir um determinado nível ele me diga. O indicador é o Índice de Força, porém não consigo encontrar um arquivo MQ4 para ele em nenhum lugar na pasta de Especialistas/Indicadores. Alguém tem uma idéia de onde eu poderia localizar o arquivo?
Se eu puder encontrar o arquivo mq4, eu estaria certo ao assumir que posso usar o código dado pelo Codersguru no início deste tópico para adicionar um alerta a ele?
obrigado
ref. Posto Anterior
Consegui resolver meu problema a partir do posto superior.
Obrigado a todos por seu interesse.
Hi,
Alguém pode me dizer o que há de errado com este código?![](https://c.mql5.com/forextsd/smiles/confused.png)
Ele não abre nenhuma ordem?
Eu o testei novamente em 2007.01.03
Saúde
Você não pode comprar a preço de licitação.
@Michel :
Oh meu Deus... como sou estúpido...
obrigado...![](https://c.mql5.com/forextsd/smiles/teeth_smile.png)
Ajuda com a cobertura
Olá a todos!
Eu usei o Expert Advisor Builder da sufx.com para criar uma EA. Ele tem duas limitações das quais estou tentando me livrar:
1. Só abre uma profissão de cada vez. Posso conseguir que ele tenha duas negociações abertas ao mesmo tempo, mas não consigo que ele abra uma ordem de compra e uma ordem de venda simultaneamente.
2. Parece ter preferência por ordens de venda em detrimento de ordens de compra. Isto não seria realmente um problema se o problema número 1 fosse resolvido.
Aqui está o pedaço de código que parece estar me atrasando:
bool IsTrade = False;
for (int i = 0; i < Total; i ++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {
IsTrade = True;
if (OrderType() == OP_BUY) {
//CloseAlguma sugestão? Gostaria de deixá-lo abrir o maior número possível de negociações e poder abrir ordens de compra e venda simultaneamente, se os indicadores assim o indicarem.
Um abraço pela ajuda,
Benjimang
Lucro/perda de moeda
Dave,
Acho que você precisa ser mais específico no que está pedindo. E o BTW por que não responder aos PMs? Onde você está se escondendo hoje em dia??? lol
P em KC
Dave,
Acho que você precisa ser mais específico no que está pedindo. E o BTW por que não responder aos PMs? Onde você está se escondendo hoje em dia??? lol
P em KCNão recebi nenhum novo PM's???? Infelizmente durante este tempo eu tive uma emergência familiar que aconteceu - Tudo está bem com a emergência. Eu ainda poderia usar a ajuda na minha codificação, especialmente a codificação do envelope.
Dave
Como eu coloco o lucro da moeda no canto superior direito do gráfico?
Eu gostaria de colocar o lucro/perda da moeda no canto superior direito do gráfico de moeda da plataforma de negociação (EURUSD). Se o lucro do comércio atual for positivo, ele se mostraria em verde; se for 0,00, ele se mostraria em branco; se for uma perda, ele se mostraria em vermelho.
Eu sei que ObjectCreate é o caminho a seguir, mas além disso não sei como capturar o lucro da plataforma de comércio? Alguém pode me dar uma mão nesta utilidade? Eu quero incluir isto em minha e-a.
Dave
<<<estatísticas comerciais
use este código:
// ***************************************************************************
int stats()
{
int i, vOrders;
// lucro atual da CP
vOrdens = EncomendasTotal();
Lucro = 0;
PipsProfit = 0;
for(i=vOrdens-1;i>=0;i--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if(OrderSymbol() == Símbolo())
{
Lucro += OrderProfit();
se (OrderType() == OP_BUY) PipsProfit += ((Bid - OrderOpenPrice())/Point);
caso contrário se (OrderType() == OP_SELL) PipsProfit += ((OrderOpenPrice() - Ask)/Ponto);
}
}
}
// risco potencial
// posições máximas
}
Profit & PipsProfit precisará ser declarado fora do programa e depois exibido na tela com seu método favorito. Comentários, se nada mais.
Marcar