deve haver um número de linha e uma posição na linha de código com o erro.
Essa é uma maneira fácil de corrigir todos os erros, sabendo a localização exata no código.
Peguei o Expert Advisor oferecidopor Alekseu Fedotov e tentei modificá-lo para adequá-lo às minhas necessidades.
Minhas necessidades são as seguintes: Em um cruzamento de varinhas, abrimos uma posição e a fechamos no cruzamento oposto. Se possível, transferimos a posição para o Breakeven.
Mas, no final, nada é aberto. Estou me arrasando. Qual pode ser o problema?
Peguei o EA oferecidopor Alekseu Fedotov e tentei modificá-lo de acordo com minhas necessidades.
Minhas necessidades são as seguintes: Se eles forem cruzados, abrimos uma posição. Se eles forem cruzados novamente, fechamos a posição. Se possível, transferimos a posição para o Breakeven.
Mas, no final, nada é aberto. Estou me arrasando. Qual pode ser o problema?
Não tenho certeza qual é o problema, mas gostaria de ver pela última vez uma linha de código com um erro da CMM.
voidOnTick() { for (int i=0; i<OrdersTotal(); i++) if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) if (OrderSymbol()==Symbol() && Magic==OrderMagicNumber())return;
double STO = iStochastic(NULL,15,2,3,1,MODE_SMA,0,MODE_SIGNAL,0); double SL=0,TP=0;
if (STO > buy_level)
{ if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss* Point,Digits); if (OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,NULL,Magic)==-1) Print(GetLastError()); PlaySound("timeout.wav"); Print("Ордер успешно размещен"); } }
voidOnTick() { for (int i=0; i<OrdersTotal(); i++) if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) if (OrderSymbol()==Symbol() && Magic==OrderMagicNumber())return;
double STO = iStochastic(NULL,15,2,3,1,MODE_SMA,0,MODE_SIGNAL,0); double SL=0,TP=0;
if (STO > buy_level)
{ if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss* Point,Digits); if (OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,NULL,Magic)==-1) Print(GetLastError()); PlaySound("timeout.wav"); Print("Ордер успешно размещен"); } }
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
possível perda de dados devido à conversão do tipo
Experimente.
Mostre-me a linha a partir do código para o qual o compilador aponta
Há muitas linhas como essa, por isso pedi um módulo adaptado para os novos terminais. Mas obrigado por sua vontade de ajudar)
Há muitas linhas como essa, por isso pedi um módulo adaptado para os novos terminais. Mas obrigado por sua vontade de ajudar)
Bem nesta linha :
" possível perda de dados devido à conversão do tipo".
deve ser o número da linha e a posição na linha de código com o erro.
Assim é fácil, você pode corrigir todos os erros, sabendo a localização exata no código
bem nesta linha :
" possível perda de dados devido à conversão do tipo".
deve haver um número de linha e uma posição na linha de código com o erro.
Essa é uma maneira fácil de corrigir todos os erros, sabendo a localização exata no código.
Peguei o Expert Advisor oferecidopor Alekseu Fedotov e tentei modificá-lo para adequá-lo às minhas necessidades.
Minhas necessidades são as seguintes: Em um cruzamento de varinhas, abrimos uma posição e a fechamos no cruzamento oposto. Se possível, transferimos a posição para o Breakeven.
Mas, no final, nada é aberto. Estou me arrasando. Qual pode ser o problema?
Peguei o EA oferecidopor Alekseu Fedotov e tentei modificá-lo de acordo com minhas necessidades.
Minhas necessidades são as seguintes: Se eles forem cruzados, abrimos uma posição. Se eles forem cruzados novamente, fechamos a posição. Se possível, transferimos a posição para o Breakeven.
Mas, no final, nada é aberto. Estou me arrasando. Qual pode ser o problema?
mostrar a linha do código com o erro da CMM, pela última vez eu me ofereço para ajudar.
mostrar um trecho de código sobre como você lê o sinal do indicador em sua EA
takeprofit = 400,
slippage = 10,
Magic = 777;
extern double Lot = 0.5,
buy_level = 15;
void OnTick()
{
for (int i=0; i<OrdersTotal(); i++)
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol()==Symbol() && Magic==OrderMagicNumber())return;
double STO = iStochastic(NULL,15,2,3,1,MODE_SMA,0,MODE_SIGNAL,0);
double SL=0,TP=0;
if (STO > buy_level)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits);
if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss* Point,Digits);
if (OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,NULL,Magic)==-1) Print(GetLastError());
PlaySound("timeout.wav");
Print("Ордер успешно размещен");
}
}
takeprofit = 400,
slippage = 10,
Magic = 777;
extern double Lot = 0.5,
buy_level = 15;
void OnTick()
{
for (int i=0; i<OrdersTotal(); i++)
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol()==Symbol() && Magic==OrderMagicNumber())return;
double STO = iStochastic(NULL,15,2,3,1,MODE_SMA,0,MODE_SIGNAL,0);
double SL=0,TP=0;
if (STO > buy_level)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits);
if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss* Point,Digits);
if (OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,NULL,Magic)==-1) Print(GetLastError());
PlaySound("timeout.wav");
Print("Ордер успешно размещен");
}
}
Aqui mesmo:
iStochastic(NULL,15,2,3,1,MODE_SMA,0,MODE_SIGNAL,0);
período de mudança (cronograma) para 1,5,15,30,60,240,1440,10080,43200 //M1.M5.M30 ... etc.
ou digite Period() em vez de 15, então quando você trocar o TF manualmente, o atual será automaticamente definido