Características úteis da KimIV - página 6

 
Lukyanov:
Pode vir a ser útil. :-)
Não se preocupe se você colocar lá fora :-) :-)
 
Olá
Você pode me dizer se existe algum "escritório" que forneça seu próprio servidor para testes de EAs. Ou seja, eu carrego meu EA no servidor deles, onde é testado em modo "on line" em uma conta demo.
 
KimIV:

Advertência! No meu posto de 12.03.2008 07:24 mudei o anexo SetOrder.mq4

Eu tentei seu código, mas não funcionou (talvez minhas mãos estejam erradas :( ... ). Ao compilar mostra uma série de erros.
Mensagem" - a função não está definida - o que é isso?
"quebrar" - "quebrar" ou "continuar" usado somente dentro de algum ciclo - o que há de errado com os loops?
GetNameTF' - a função não está definida - como defini-la?
...etc. (
Eu ainda não consigo entender. Por favor, ajude-me, se você não estiver em apuros.

 
sasa999 писал (а):
Mensagem" - a função não está definida - o que é isso?
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 01.09.2005                                                     |
//|  Описание : Вывод сообщения в коммент и в журнал                           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    m - текст сообщения                                                     |
//+----------------------------------------------------------------------------+
void Message(string m) {
  Comment(m);
  if (StringLen(m)>0) Print(m);
} 
sasa999 escreveu:
'break' - 'break' ou 'continue' usado somente dentro de alguns loops - o que há de errado com os loops?

Ignore a "pausa " por enquanto. Ordene primeiro as descrições das funções.

sasa999 escreveu:
'GetNameTF' - a função não está definida - como defini-la?
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 01.09.2005                                                     |
//|  Описание : Возвращает наименование таймфрейма                             |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    TimeFrame - таймфрейм (количество секунд)      (0 - текущий ТФ)         |
//+----------------------------------------------------------------------------+
string GetNameTF(int TimeFrame=0) {
  if (TimeFrame==0) TimeFrame=Period();
  switch (TimeFrame) {
    case PERIOD_M1:  return("M1");
    case PERIOD_M5:  return("M5");
    case PERIOD_M15: return("M15");
    case PERIOD_M30: return("M30");
    case PERIOD_H1:  return("H1");
    case PERIOD_H4:  return("H4");
    case PERIOD_D1:  return("Daily");
    case PERIOD_W1:  return("Weekly");
    case PERIOD_MN1: return("Monthly");
    default:         return("UnknownPeriod");
  }
}

Procure a função ExistOrders nesta linha. Eu já a afixei. A descrição do erro está conectada com a diretiva do compilador:

#include <stdlib.mqh>

Certo, ainda existe a função GetNameOP:

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 01.09.2005                                                     |
//|  Описание : Возвращает наименование торговой операции                      |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    op - идентификатор торговой операции                                    |
//+----------------------------------------------------------------------------+
string GetNameOP(int op) {
  switch (op) {
    case OP_BUY      : return("Buy");
    case OP_SELL     : return("Sell");
    case OP_BUYLIMIT : return("Buy Limit");
    case OP_SELLLIMIT: return("Sell Limit");
    case OP_BUYSTOP  : return("Buy Stop");
    case OP_SELLSTOP : return("Sell Stop");
    default          : return("Unknown Operation");
  }
}
 
KimIV:
sasa999 escreveu (a):
'Mensagem' - a função não está definida - o que é isso?
sasa999 escreveu (a):
'break' - 'break' ou 'continue' usado dentro de algum ciclo apenas - o que há de errado com os ciclos?

Ignore a "pausa " por enquanto. Ordene primeiro as descrições das funções.

sasa999 escreveu:
'GetNameTF' - a função não está definida - como defini-la?

Procure a função ExistOrders nesta linha. Eu já a afixei. A descrição do erro está conectada com a diretiva do compilador:

#include <stdlib.mqh>

OK, ainda há a função GetNameOP:


Sinto que preciso colocar para fora as bibliotecas (ambas), e fazer alguma divulgação. As bibliotecas não serão recusadas.
 
Obrigado - muito útil, mas há outros problemas novamente... :(
agora todas estas funções mostram - Função "ххххххххх" não é referenciada e será removida do arquivo exp-
talvez eu as tenha colocado no lugar errado... ( espero que você possa ajudar.
...é difícil para um iniciante na MQL4 :)
 
Vinin:
Sinto que preciso colocar as bibliotecas (as duas) lá fora e fazer algum trabalho explicativo. Eu não vou desistir das bibliotecas.

Provavelmente vou postar... mas não antes de termos passado por todas as características... senão para que estou aqui? Colocando-o na base de código, as pessoas o baixariam e o esqueceriam. Eu mesmo sou assim :-) Tenho um monte de códigos de outras pessoas por aí intocados. E quando você tem a oportunidade de sondar, fazer perguntas, é um outro assunto e tanto.

SZY. Meus arquivos com prefixo test_ compilam e funcionam bem.

 
sasa999:
Obrigado - muito útil, mas outros problemas novamente... :(
agora todas estas funções mostram - A função "xxxxxxxxxx" não é referenciada e será removida do arquivo de exp
Talvez eu os tenha colocado no lugar errado... ( Espero que você possa ajudar.
...Estou tendo dificuldades com a MQL4 :)
Veja como tudo é colocado em teste_SetOrder.mq4
 



Se entendi corretamente, substituir OrderSend por OrderModify

pode ser usado na modificação de um pedido?
bem como no fechamento... ??

...mas como combinar essas funções em uma única função?

também...

se (mn<0 || OrderMagicNumber()==mn)

por que mn<0 ? a magia não pode ser negativa?

 
sasa999 писал (а):
se entendi corretamente, ao substituir OrderSend por OrderModify

pode ser usado para modificar um pedido?
?? bem como para fechar ... ??

mas como combinar isso em uma única função para que não se repita?

Mais tarde, haverá uma função para modificar

sasa999 escreveu (a):
mais...
se (mn<0 || OrderMagicNumber()==mn)
por que mn<0 ? a magia não pode ser negativa?
pode... Mas em meus EAs, eu só uso magia positiva no formato AAAAMMDD, por exemplo, 20080323. Esta é a data em que a EA foi desenvolvida.
Razão: