Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 664
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
Sim, os parâmetros de entrada não podem ser modificados. Para ser honesto, não percebo porque é que precisa de alterar este valor de acordo com citações de 3/5 dígitos? Define-se este valor nos parâmetros de entrada. Não pode simplesmente escrever 100 (se 3/5 dígitos) e não se incomodar?
De facto, optimizo em 5 dígitos - mais história, mas negoceio em 4 e utilizo configurações diferentes, incluindo pontos. Não quero confundir as configurações - é por isso que esta é a solução.
De facto, optimizo em 5 dígitos - mais história, mas negoceio em 4 e utilizo configurações diferentes, incluindo pontos. Não quero confundir as configurações - é por isso que esta é a solução.
Deveria funcionar desta forma
int OnInit() {
// Округлим огрызки - 3 и 5 знак
Sign=(SymbolInfoInteger(_Symbol,SYMBOL_DIGITS)==3 || SymbolInfoInteger(_Symbol,SYMBOL_DIGITS)==5)?10:1;
// Приведем к терминальному количеству знаков
TakeProfit*=Sign;
StopLoss*=Sign;
TrailingShift*=Sign;
TrailingStep*=Sign;
Slippage*=Sign;
}
Isto deve funcionar
int OnInit() {
// Округлим огрызки - 3 и 5 знак
Sign=(SymbolInfoInteger(_Symbol,SYMBOL_DIGITS)==3 || SymbolInfoInteger(_Symbol,SYMBOL_DIGITS)==5)?10:1;
// Приведем к терминальному количеству знаков
TakeProfit*=Sign;
StopLoss*=Sign;
TrailingShift*=Sign;
TrailingStep*=Sign;
Slippage*=Sign;
}
Também recebo este erro - como é que o corrijo?
'MODE_MAIN' - identificador enumerador já definido initmql4__1.mqh 223 24
ENUM_STO_PRICE StoFieldMigrate(int field)
{
switch(field)
{
case 0: return(STO_LOWHIGH);
case 1: return(STO_CLOSECLOSE);
default: return(STO_LOWHIGH);
}
}
//+------------------------------------------------------------------+
enum ALLIGATOR_MODE { MODE_GATORJAW=1, MODE_GATORTEETH, MODE_GATORLIPS };
enum ADX_MODE { MODE_MAIN, MODE_PLUSDI, MODE_MINUSDI };
enum UP_LOW_MODE { MODE_BASE, MODE_UPPER, MODE_LOWER };
enum ICHIMOKU_MODE { MODE_TENKANSEN=1, MODE_KIJUNSEN, MODE_SENKOUSPANA, MODE_SENKOUSPANB, MODE_CHINKOUSPAN };
enum MAIN_SIGNAL_MODE{ MODE_MAIN, MODE_SIGNAL };
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
double CopyBufferMQL4(int handle,int index,int shift)
{
double buf[];
switch(index)
{
case 0: if(CopyBuffer(handle,0,shift,1,buf)>0)
return(buf[0]); break;
case 1: if(CopyBuffer(handle,1,shift,1,buf)>0)
return(buf[0]); break;
case 2: if(CopyBuffer(handle,2,shift,1,buf)>0)
return(buf[0]); break;
case 3: if(CopyBuffer(handle,3,shift,1,buf)>0)
return(buf[0]); break;
case 4: if(CopyBuffer(handle,4,shift,1,buf)>0)
return(buf[0]); break;
default: break;
}
return(EMPTY_VALUE);
}
//+------------------------------------------------------------------+
Em tal situação, recebo um erro - ajude-me a compreender porque ocorre o erro - na MQL5 não se pode alterar o valor de uma variável introduzida pelo utilizador?
Não pode!
Se decidiu usar MQL4_to_MQL5.mqh, recomendo-lhe vivamente que não o faça. Uma vez que foi escrito para os exemplos, que se encontram na descrição da biblioteca. Ou seja, não é de todo universal. Em particular, existe uma versão muito limitada do MarketInfo (para fazer funcionar apenas exemplos). Mas existem boas soluções. Por conseguinte, é melhor não utilizar este mqh em si, mas apenas tirar dele coisas úteis.
Também recebo este erro - como é que o corrijo?
'MODE_MAIN' - identificador enumerador já definido initmql4__1.mqh 223 24
ENUM_STO_PRICE StoFieldMigrate(int field)
{
switch(field)
{
case 0: return(STO_LOWHIGH);
case 1: return(STO_CLOSECLOSE);
default: return(STO_LOWHIGH);
}
}
//+------------------------------------------------------------------+
enum ALLIGATOR_MODE { MODE_GATORJAW=1, MODE_GATORTEETH, MODE_GATORLIPS };
enum ADX_MODE { MODE_MAIN, MODE_PLUSDI, MODE_MINUSDI };
enum UP_LOW_MODE { MODE_BASE, MODE_UPPER, MODE_LOWER };
enum ICHIMOKU_MODE { MODE_TENKANSEN=1, MODE_KIJUNSEN, MODE_SENKOUSPANA, MODE_SENKOUSPANB, MODE_CHINKOUSPAN };
enum MAIN_SIGNAL_MODE{ MODE_MAIN, MODE_SIGNAL };
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
double CopyBufferMQL4(int handle,int index,int shift)
{
double buf[];
switch(index)
{
case 0: if(CopyBuffer(handle,0,shift,1,buf)>0)
return(buf[0]); break;
case 1: if(CopyBuffer(handle,1,shift,1,buf)>0)
return(buf[0]); break;
case 2: if(CopyBuffer(handle,2,shift,1,buf)>0)
return(buf[0]); break;
case 3: if(CopyBuffer(handle,3,shift,1,buf)>0)
return(buf[0]); break;
case 4: if(CopyBuffer(handle,4,shift,1,buf)>0)
return(buf[0]); break;
default: break;
}
return(EMPTY_VALUE);
}
//+------------------------------------------------------------------+
Renomeação. Os campos de TODAS as enumerações devem ser diferentes. E tem os mesmos campos noenum ADX_MODE eno enum MAIN_SIGNAL_MODE.
Comentei por agora... Não acho que seja crítico...
No entanto, compilou uma EA usando duas bibliotecas - funções comerciais e tradução de outras funções de 4 a 5.
Ainda estou farto do testador em 5 - Não consigo encontrar onde podem ser adicionados indicadores na visualização e como filtrar o registo...
Ainda não se consegue ver as encomendas em aberto, eh.
Como interpretar isto:
2016.11.04 20:42:25.224 2016.02.11 14:04:30 Ao definir erro imprevisto pendente - 4756
2016.11.04 20:42:25.224 2016.02.11 14:04:30 Magic=49266773 cPoza::setOrder enviou um pedido para estabelecer uma ordem. Tipo: BuyStop lot=1.0 opPrice=68180.0 tp=68200.0 sl=67260.0
2016.11.04 20:42:25.224 2016.02.11 14:04:30 paragem de compra falhada 1,00 RTS-12,16 a 68180 sl: 67260 tp: 68200 [Expiração inválida]
2016.11.04 20:42:25.224 2016.02.11 14:04:30 Ao definir erro imprevisto pendente - 4756
Como interpretar isto:
2016.11.04 20:42:25.224 2016.02.11 14:04:30 Ao definir erro imprevisto pendente - 4756
2016.11.04 20:42:25.224 2016.02.11 14:04:30 Magic=49266773 cPoza::setOrder enviou um pedido para estabelecer uma ordem. Tipo: BuyStop lot=1.0 opPrice=68180.0 tp=68200.0 sl=67260.0
2016.11.04 20:42:25.224 2016.02.11 14:04:30 paragem de compra falhada 1,00 RTS-12,16 a 68180 sl: 67260 tp: 68200 [Expiração inválida]
2016.11.04 20:42:25.224 2016.02.11 14:04:30 Ao definir erro imprevisto pendente - 4756
Até agora, estou farto do testador em cinco - não consigo encontrar onde os indicadores podem ser adicionados à visualização e como filtrar o registo...
Ainda não há forma de ver as encomendas em aberto, eh.