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

 

Aqui está uma descrição dos erros de execução e recomendações sobre como lidar com eles. A recomendação geral para erros 2, 64, 65 e 133 é parar todas as tentativas comerciais. Para implementar esta recomendação, utilizo a variável global EA gbDisabled, que defino no cabeçalho (isto é, antes de todas as funções começarem) da seguinte forma:

//------- Глобальные переменные советника -------------------------------------+
bool   gbDisabled   = False;           // Флаг блокировки советника

Eu verifico o estado desta variável na função start():

//+----------------------------------------------------------------------------+
//|  expert start function                                                     |
//+----------------------------------------------------------------------------+
void start() {
  if (gbDisabled) {
    Message("Критическая ошибка! Советник ОСТАНОВЛЕН!"); return;
  }
}
 
KimIV:

Aqui está uma descrição dos erros de execução e recomendações sobre como lidar com eles. A recomendação geral para erros 2, 64, 65 e 133 é parar todas as tentativas comerciais. Para implementar esta recomendação, utilizo a variável global EA gbDisabled, que defino no cabeçalho (isto é, antes de todas as funções começarem) da seguinte forma:

Eu verifico o estado desta variável na função start():

Obrigado.... )))
 
Boa tarde, Igor! Na função: void TrailingPositions(string sy="", int op=-1, int mn=-1) o controle é passado para a função ModifyOrder(sy, -1, pp+TrailingStopSell*p, 0, clModifySell), enquanto ModifyOrder em si tem 4 parâmetros, do que se trata?
 
Lisi4ka330:
Bom dia, Igor! Na função: void TrailingPositions(string sy="", int op=-1, int mn=-1) o controle é passado para a função ModifyOrder(sy, -1, pp+TrailingStopSell*p, 0, clModifySell) enquanto a própria função ModifyOrder tem 4 parâmetros, a que está relacionada?

É provavelmente porque você puxou a função TrailingPositions de algum lugar. Talvez de um dos meus antigos EAs. Aquelas funções que publiquei não se tornaram assim de imediato. Eles evoluíram.

Favor me fornecer o link para a função TrailingPositions . Não o tenho na lista dos publicados. Eu publiquei oSimpleTrailing().

 
aqui : http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=fileinfo&id=20 E obrigado pelo link, levei muito tempo para me lembrar onde o vi, mas não consegui encontrá-lo)))))
 
Estou vendo... Você já deve ter notado que o parâmetro que passa o nome do símbolo comercial para a função ModifyOrder() é redundante. Havia este parâmetro antes, e então eu o removi...
 
Sim, descobrimos)))) E até escrevi minha primeira EA, e até, como acabou, com um pequeno lucro)))))))))))) Muito obrigado Igor, somente suas características tornaram possível para mim))))))))))))))))
 
Boa tarde!!! )))) Favor explicar a função Fibonacci(), em quais casos ela é utilizada? Não está claro que tipo de elemento ele retorna... não é o preço do nível...
 

Olá, por acaso você tem uma função que lhe permite definir níveis de tomada e parada em variáveis externas ao definir um pedido?

Por exemplo:

extern double sl = 0; // SL для открываемого ордера

extern double tp = 0; // ТР для открываемого ордера

SetOrder("", OP_BUY, ll, Ask, SL(), TP(), 0, 0);
{условие}

SetOrder("", OP_SELL, ll, Bid, SL(), TP(), 0, 0);

{условие}

SetOrder("", OP_BUYSTOP, ll, Ask, SL(), TP(), 0, 0);
{условие}

SetOrder("", OP_SELLSTOP, ll, Bid, SL(), TP(), 0, 0);

{условие}

SetOrder("", OP_BUYLIMIT, ll, Ask, SL(), TP(), 0, 0);
{условие}

SetOrder("", OP_SELLLIMIT, ll, Bid, SL(), TP(), 0, 0);

{условие}


 


Hi!

Por alguma razão, quando eu conecto sua biblioteca, o operador externo deixa de funcionar, ou seja, as variáveis são definidas, tudo se compila normalmente, e em princípio a EA funciona, mas ao mesmo tempo a EA não tem parâmetros ao iniciar o tipo, embora existam alguns poucos parâmetros. Qual pode ser a razão para isso?

Razão: