Erros, bugs, perguntas - página 1140

 

Na MQL4 pode prescrever a linha do indicador MODE_TE NKANSEN e shift (shift relativo à barra actual)

double TK = iIchimoku(NULL, PERIOD_CURRENT, Tenkan, Kijun, SenkouB, MODE_TENKANSEN, 0);

Como é que escrevo exactamente a mesma função em mq5 ?

Escrevi uma linha, mas ela dá um erro 'iIchimoku' - parâmetros errados contam Ichimoku.mq5

Isto é o que recebo no TENKANSEN_LINE, 0

double TK = iIchimoku(NULL, PERIOD_CURRENT, Tenkan, Kijun, SenkouB, TENKANSEN_LINE, 0);
 
Zeleniy:

Na MQL4 pode prescrever numa linha qual linha utilizar no indicador MODE_TE NKANSEN e shift (shift relativo à barra actual)

Como prescrever correctamente a mesma função em 5?

o que é que volta em 5?
iIchimoku
 
Zeleniy:

Em MQL4 pode escrever numa linha que linha do indicador iIchimoku MODE_TE NKANSEN e shift (shift em relação à barra actual)

Como é que escrevo exactamente a mesma função em 5 ?

Escrevi uma linha, mas ela dá um erro 'iIchimoku' - parâmetros errados contam Ichimoku.mq5

Isto é o que recebo na linha TENKANSEN_LINE, 0

No MQL5, a entrada do indicador iIchimoku é diferente.

int  iIchimoku(
   string           symbol,            // имя символа
   ENUM_TIMEFRAMES  period,            // период
   int              tenkan_sen,        // период Tenkan-sen
   int              kijun_sen,         // период Kijun-sen
   int              senkou_span_b      // период Senkou Span B
   );
Документация по MQL5: Технические индикаторы / iIchimoku
Документация по MQL5: Технические индикаторы / iIchimoku
  • www.mql5.com
Технические индикаторы / iIchimoku - Документация по MQL5
 

A função OnTesterPass() não é chamada depois de todas as passagens de optimização, e salta sempre várias passagens de optimização. Isto acontece mesmo que a moldura seja criada à força usando um laço.

Como resultado da optimização deste modelo, o número de passes no diário do terminal será sempre 5-20 passes inferior ao especificado para a optimização.

Qual é a finalidade da optimização lenta e da função OnTesterPass() se esta não consegue sempre testar vários passes e estes podem ser os procurados?

input int         StringReadOrSumma=1000;
//---
void OnTick()  {  }
//---
long PassNum;
string NameFrameStatistik="stat";
long FrameID_Statistik;
double OnTesterResult;
double ArrValueStatistik[];
//---
double OnTester()
  {
   ArrayResize(ArrValueStatistik,1);
   ArrValueStatistik[0]=StringReadOrSumma;
   if(!FrameAdd(NameFrameStatistik,FrameID_Statistik,OnTesterResult,ArrValueStatistik)) return(0.0);
   return(0.0);
  }
//---
void OnTesterPass()
  {
   if(!FrameNext(PassNum,NameFrameStatistik,FrameID_Statistik,OnTesterResult,ArrValueStatistik))
     { Print(__FUNCTION__,__LINE__);return;}

   static int numPass=0;
   numPass++;
   Print(ArrValueStatistik[0]," --- ",numPass);
  }
 
lewvik:

A função OnTesterPass() não é chamada depois de todas as passagens de optimização, e salta sempre várias passagens de optimização. Isto acontece mesmo que a moldura seja criada à força usando um laço.

Como resultado da optimização deste modelo, o número de passes no diário do terminal será sempre 5-20 passes inferior ao especificado para a optimização.

Qual é o objectivo da optimização lenta e da função OnTesterPass() se nunca testa várias passagens e estas são provavelmente as que foram pesquisadas?

O evento pode ser gerado para vários quadros ao mesmo tempo. Isto é, é melhor ler frames em loop, por exemplo, enquanto(!FrameNext(...)))).

 
antt:

Um evento pode ser gerado para vários quadros ao mesmo tempo. Isto é, é melhor ler frames em loop, por exemplo, while(!FrameNext(...))).

Tentei ler frames no laço e criar no laço, o resultado é o mesmo - vários passes desaparecem algures sem deixar rasto. Vários frames ou um não criam qualquer diferença. Porquê? É um bug ou sou algo errado, se um bug - é uma suposição séria, como é que - procurei e procurei os parâmetros certos e eventualmente perdi-me na procura!

Servicedesk solicitação#1007598| 2014.05.04 12:33

 

pessoas, que me podem dizer como em mql5 calculara quantidade de fundos gratuitos necessários para abrir 1 lote de algum símbolo

Sei como fazê-lo em mql4, mas em mql5 não o consigo encontrar

 

Um tal erro foi detectado no testador da EA. Metatrader Client 5. Construir 930. Corretor: Otkrytie. FORTES.

No testador as ordens canceladas são mostradas como se tivessem sido executadas. Diz 2.0/2.0. Embora a encomenda tenha acabado de ser cancelada:

Na conta demo, as ordens canceladas são mostradas como não executadas (ou parcialmente executadas). Por exemplo 2.0/0.0 ou 2.0/1.0. O que é o comportamento correcto:

Por conseguinte, este erro interfere em manter um registo da quantidade real executada. Ao testar.

É um insecto? :)

 
harbor:

pessoas, que me podem dizer como em mql5 calculara quantidade de fundos gratuitos necessários para abrir 1 lote de algum símbolo

Em mql4 eu sei como, mas em mql5 não consigo encontrá-lo

Talvez seja assim:

Print("Margin=", SymbolInfoDouble(_Symbol,SYMBOL_MARGIN_INITIAL)); 
 
escoman:

Um tal erro foi detectado no testador da EA. Metatrader Client 5. Construir 930. Corretor: Otkrytie. FORTES.

No testador as ordens canceladas são mostradas como se tivessem sido executadas. Diz 2.0/2.0. Embora a encomenda tenha acabado de ser cancelada:

Obrigado pela mensagem. Corrigido.
Razão: