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

 
nord >> :

Igor Obrigado pelas características!!!

Por acaso não há nenhuma função para determinar a perda de uma posição aberta..... ou eu a perdi?

Existe um:

double OrderProfit(  	)
Возвращает значение чистой прибыли ( без учёта свопов и комиссий) для выбранного ордера. 
Для открытых позиций это - текущая нереализованная прибыль. Для закрытых ордеров - зафиксированная прибыль.
Ордер должен быть предварительно выбран с помощью функции OrderSelect(). 

Se você precisar de lucro/perda em pips, dependendo de qual posição (compra/venda) subtrair:

OrderOpenPrice(...) - (Bid or Ask).

 

lista de funções no arquivo html...

se abrirá em uma nova janela...

;) denjoy...

Arquivos anexados:
func2_1.zip  4 kb
 
Igor, se você não se importa, eu já escavei tudo, mas não encontrei, existe alguma função no depósito que devolva o ângulo de inclinação da linha de regressão, ou o preço inicial e final a um certo número de barras? Eu ficaria muito grato a você....
 
xrust писал(а) >>
Igor, se você não se importa, eu escavei tudo, mas não o encontrei. Talvez haja uma função nos depósitos que devolva o ângulo de inclinação da linha de regressão, ou o preço inicial e final a um certo número de barras ? Eu ficaria muito grato a você....

Na equação de LR y(x)=a*x + b

os coeficientes podem ser calculados utilizando estas fórmulas.

fator a

coeficiente b

'Regressão: o que é isso?

 

Igor, muito obrigado.

todos encontrados em seu site

http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&id=35&func=fileinfo
 

Igor, talvez você tenha algum bom código que calcula o lote para uma ordem ou posição pendente a um preço específico, levando em conta as posições em aberto.


Preciso colocar uma ordem pendente para X pips longe do preço atual, mas tenho que descobrir como calcular corretamente o lote, ou seja, fazer com que esta ordem pendente seja 100% aberta. Também preciso levar em conta as trocas, comissões, lucros e perdas de pedidos.


Seria ótimo se você tivesse tempo para escrever tal função.

 

Igor, você pode nos dar uma função para fechar pedidos sobrepostos aqui ? Talvez outra pessoa precisasse dele. Se você estiver interessado e tiver tempo para isso, é claro.

Se não for muito incômodo, quaisquer dicas sobre como implementar esta função em sua EA. Tentei substituir sua função "fechar primeiro as rentáveis" por fechar por diminuir o tamanho do lote. Mas continua recebendo erros durante a compilação.

Atenciosamente, Azer.

 
KimIV писал(а) >>

Função StringToArrayInt().

ZS. Em anexo está um roteiro para testar a função StringToArrayInt().

A experiência mostra que você pode precisar de mais funções como StringToArrayStr() - se em sua notação... :-)

 
Shu писал(а) >>

a experiência mostra que às vezes você também precisa de uma função como StringToArrayStr() - se em sua notação... :-)

Em muitas linguagens de programação, esta função é chamada StrSplit(). Eu não inventei... :-)

A função StrSplit().

Esta função divide um cordel em seus substratos de modo que cada substrato se torne um elemento de matriz separado. O separador é definido por um parâmetro e pode ser arbitrário. A função StrSplit() retorna o número de elementos da matriz e aceita os seguintes parâmetros:

  • st - Cordão com separadores.
  • como - O conjunto de elementos do tipo string.
  • de - Separador. Parâmetro opcional. O valor padrão é "," (vírgula).
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 23.06.2008                                                     |
//|  Описание : Разбиение строки на массив элементов                           |
//+----------------------------------------------------------------------------+
//|  Возврат:                                                                  |
//|    Количество элементов в массиве                                          |
//|  Параметры:                                                                |
//|    st - строка с разделителями                                             |
//|    as - строковый массив                                                   |
//|    de - разделитель                                                        |
//+----------------------------------------------------------------------------+
int StrSplit(string st, string& as[], string de=",") { 
  int    i=0, np;
  string stp;

  ArrayResize( as, 0);
  while (StringLen( st)>0) {
    np=StringFind( st, ",");
    if ( np<0) {
      stp= st;
      st="";
    } else {
      stp=StringSubstr( st, 0, np);
      st=StringSubstr( st, np+1);
    }
    i++;
    ArrayResize( as, i);
    as[ i-1]= stp;
  }
  return(ArraySize( as));
}

SZU. roteiro anexo para testar a função StrSplit().

Arquivos anexados:
 
Prival писал(а) >>

Na equação de LR y(x)=a*x + b

os coeficientes podem ser calculados utilizando estas fórmulas.

fator a

coeficiente b

'Regressão: o que é isso?

1. A análise de regressão é o estudo de um processo, um objeto baseado em uma série de pontos de observação sobre ele.

2. Equação de regressão (regressão) :

2.1 O pesquisador escolhe o tipo de equação que ele ou ela acha que se encaixa na natureza física do objeto em estudo ou que é mais fácil de trabalhar. Um polinômio é mais comumente usado.

2.2 Para os estudos iniciais, um polinômio de primeiro grau, ou seja, uma linha reta, é freqüentemente utilizado. Isto é chamado de regressão linear.

2.3 Então, como você escreveu, os parâmetros desta linha reta são calculados. Se há mais de 2 pontos de observação, o método mais comum é o "método dos mínimos quadrados". A linha reta é traçada de modo que a soma dos quadrados dos desvios dos pontos da linha reta seja a menor.

3. Aqui a regressão se refere a uma equação de regressão linear e seu gráfico.