Caratteristiche utili da KimIV - pagina 65

 
nord >> :

Igor Grazie per le caratteristiche!!!

Non c'è per caso una funzione per determinare la perdita di una posizione aperta ..... o me la sono persa

Ce n'è uno:

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

Se avete bisogno di profitto/perdita in pip, a seconda di quale posizione (acquisto/vendita) sottraete:

OrderOpenPrice(...) - (Bid o Ask).

 

lista di funzioni nel file html...

si aprirà in una nuova finestra...

;) denjoy...

File:
func2_1.zip  4 kb
 
Igor, se non ti dispiace, ho scavato tutto, ma non ho trovato, c'è una funzione nel magazzino che restituisca l'angolo di pendenza della linea di regressione, o il prezzo iniziale e finale ad un certo numero di barre? Vi sarei molto grato....
 
xrust писал(а) >>
Igor, se non ti dispiace, ho cercato dappertutto, ma non l'ho trovato. Forse c'è una funzione nei magazzini che restituisce l'angolo di pendenza della linea di regressione, o il prezzo iniziale e finale ad un certo numero di barre? Vi sarei molto grato....

Nell'equazione LR y(x)=a*x + b

i coefficienti possono essere calcolati con queste formule.

fattore a

coefficiente b

Regressione: che cos'è?

 

Igor, grazie mille.

tutti trovati sul vostro sito web

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

Igor, forse hai qualche bel codice che calcola il lotto per un ordine pendente o una posizione ad un certo prezzo stabilito, tenendo conto delle posizioni aperte.


Ho bisogno di mettere un ordine pendente per X pip lontano dal prezzo corrente e calcolare correttamente il lotto, cioè ottenere una posizione aperta al 100% per questo ordine pendente. Inoltre ho bisogno di prendere in considerazione swap, commissioni, profitti e perdite degli ordini.


Sarebbe fantastico se hai il tempo di scrivere una tale funzione.

 

Igor, puoi darci una funzione per chiudere gli ordini sovrapposti qui ? Forse qualcun altro ne avrebbe bisogno. Se siete interessati e avete tempo per farlo, naturalmente.

Se non è troppo difficile, qualche consiglio su come implementare questa funzione nel tuo EA. Ho provato a sostituire la tua funzione "chiudi prima quelli redditizi" con la chiusura per lotti decrescenti. Ma continua ad avere errori durante la compilazione.

Sinceramente, Azer.

 
KimIV писал(а) >>

StringToArrayInt().

ZS. In allegato c'è uno script per testare la funzione StringToArrayInt().

L'esperienza mostra che potresti aver bisogno di più funzioni come StringToArrayStr() - se nella tua notazione... :-)

 
Shu писал(а) >>

L'esperienza mostra che a volte hai anche bisogno di una funzione come StringToArrayStr() - se nella tua notazione... :-)

In molti linguaggi di programmazione questa funzione si chiama StrSplit(). Non l'ho inventato io... :-)

La funzione StrSplit().

Questa funzione divide una stringa nelle sue sottostringhe in modo che ogni sottostringa diventi un elemento separato dell'array. Il separatore è definito da un parametro e può essere arbitrario. La funzione StrSplit() restituisce il numero di elementi dell'array e accetta i seguenti parametri:

  • st - Stringa con separatori.
  • as - L'array di elementi di tipo stringa.
  • de - Separatore. Parametro opzionale. Il valore predefinito è "," (virgola).
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. 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. script allegato per testare la funzione StrSplit().

File:
 
Prival писал(а) >>

Nell'equazione LR y(x)=a*x + b

i coefficienti possono essere calcolati con queste formule.

fattore a

coefficiente b

Regressione: che cos'è?

1. L'analisi di regressione è lo studio di un processo, un oggetto basato su una serie di punti di osservazione su di esso.

2. Equazione di regressione (regressione) :

2.1 Il ricercatore sceglie il tipo di equazione che secondo lui è appropriato alla natura fisica dell'oggetto in studio o che è più facile da lavorare. Un polinomio è il più comunemente usato.

2.2 Per gli studi iniziali, si usa spesso un polinomio di primo grado, cioè una linea retta. Questa si chiama regressione lineare.

2.3 Poi, come hai scritto, si calcolano i parametri di questa linea retta. Se ci sono più di 2 punti di osservazione, il metodo più comune è il "metodo dei minimi quadrati". La linea retta è disegnata in modo che la somma dei quadrati delle deviazioni dei punti dalla linea retta sia la più piccola.

3. Qui la regressione si riferisce a un'equazione di regressione lineare e al suo grafico.