[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 550

 
kwadrad:


Preciso calcular o valor do indicador personalizado "OsMA".

Escrever em código

Deve devolver o valor da vela anterior do OsMA

mas, na realidade, ele retorna alguns resultados errados.

O buffer parece ser "0", o código indicador tem três parâmetros, escritos na mesma ordem que no código indicador, mas o resultado está errado.

Pergunta: por favor, informe onde está o erro?


O nome 'OsMA' é idêntico ao indicador padrão do OsMA. Você tem certeza de que quer encontrar o valor do indicador personalizado, não o indicador padrão? Se a partir de um personalizado, então mude seu nome.
 
paladin80:
O nome "OsMA" é idêntico ao indicador padrão do OsMA. Você tem certeza de que quer encontrar o valor do indicador personalizado, não o indicador padrão? Se a partir de um personalizado, então mude seu nome.


Obrigado, idiota legal.

No MT4 está escrito como um indicador personalizado, e é por isso que eu fiz asneira.

 

Eu não sou um mestre.

No caso mais simples, seis parâmetros são passados para a função, certo? Que outros parâmetros são passados? O amortecedor é mesmo o certo?

Verifique todas as pequenas coisas, mesmo incluindo o nome do indicador.

 
kwadrad:


Obrigado, isso é uma coisa muito legal de se fazer.

No MT4 está escrito como um indicador personalizado, é por isso que fiz asneira.

Tudo bem, isso acontece. Se você quiser um valor normal de OsMA em um EA, basta usar a função iOsMA.
 
Dimka-novitsek:

Pareço ter esquecido como escrever a função, Olhe, por favor!!!


Dimych, iô-iô, lebre aqui, colocando screenshots que não são realmente visíveis e ocupam muito espaço, insira o código usando o SCR.
 
double     Lott  ( double     Lot, double   risk ){
     if ( risk!=0)  Lot=AccountFreeMargin()*risk/100 ; return Lot;}  
 

Lote' - parêntese esquerda esperada C:\TeleTRADE/experts/variant parametres .mq4 (392, 63)

Lote - ponto-e-vírgula esperado C:\TeleTRADE/experts/qualities.mq4 (392, 63)

";" - tarefa esperada por C:\TeleTRADE/experts/variant parametres .mq4 (392, 66)

Juramento, paranteses e ponto-e-vírgula!

 
Dimka-novitsek:

Lote' - parêntese esquerda esperada C:\TeleTRADE/experts/variant parametres .mq4 (392, 63)

Lote - ponto-e-vírgula esperado C:\TeleTRADE/experts/qualities.mq4 (392, 63)

C:\TeleTRADE/especialistas/avaliação do parametrametro .mq4 (392, 66)

Jura, paranteses e ponto-e-vírgula!

O valor de retorno deve ser tomado entre parênteses:

double     Lott  ( double     Lot, double   risk ){
     if ( risk!=0)  Lot=AccountFreeMargin()*risk/100 ; return ( Lot);}  
 
Oh, obrigado!!!!!
 

Ajuda com o código. A tarefa é simples. Eu só preciso abrir e escrever um arquivo, mas não no diretório do terminal, mas naquele que eu mesmo especifique.

Eu posso simplesmente abrir e escrever o arquivo:

//-----------------------------------------------------------------------------------------
int FF;                     //Представляем переменную
int PP=10;                  //Представляем переменную
//-----------------------------------------------------------------------------------------
int start(){
   FF=FileOpen("DATA.csv",FILE_CSV|FILE_WRITE,';');    // Открываем файл для записи
      if(FF==-1){Alert("Ошибка = ",GetLastError());}   // В случае ошибки, сообщение
      else if(FF!=-1){                                 // Если все верно
         FileWrite(FF,PP);                             // Записываем значение "PP"
         Alert("Число записано = ",PP);                // Сообщение о записанном числе
         FileClose(FF);}}                              // Закрываем файл
//-----------------------------------------------------------------------------------------

Tentei pesquisar bibliotecas, que têm"ZI_File_Functions_Full_Lib" -https://www.mql5.com/ru/code/8577 . Mas eu não encontrei nenhuma informação sobre como trabalhar com eles corretamente e não consigo descobrir sozinha. Há demasiadas funções!

Por favor, ajude-me, talvez alguém tenha uma solução mais simples, como abrir o arquivo em qualquer pasta especificada pelo usuário e registrar um valor lá. Isso é tudo, nada mais é necessário. Ou me ajudar a reduzir esta biblioteca ou aconselhar como implementar esta tarefa, todas as outras funções podem ser removidas. Eu mesmo estou tentando, sem erros, a EA é silenciosa, sem resultado.

Obrigado antecipadamente pelos conselhos!