Caratteristiche utili da KimIV - pagina 97

 

il terminale ha un'opzione per impostare il canale equidistante, puoi impostarlo invece di disegnare le linee di tendenza

ecco una funzione simile all'impostazione della linea di tendenza

// установка равноудалённого канала
void SetСhannel(string nm,datetime t1,double p1,datetime t2,double p2,datetime t3,double p3,color cl=Red,int st=0,int wd=1,bool ry= False){
// Параметры:
// nm - наименование               (  ""  - текущее время)
// t1,t2,t3 - время открытия бара  (  0   - Time[10]
// p1,p2,p3 - ценовой уровень      (  0   - Low[10])
// cl - цвет линий
// st - стиль линий                (  0   - простая линия)
// wd - ширина линий               (  1   - по умолчанию)
// ry - луч                        (False - по умолчанию)

  if( nm=="") nm=TimeToStr(TimeCurrent(), TIME_DATE| TIME_SECONDS);
  if(ObjectFind( nm)<0){
   ObjectCreate( nm,OBJ_CHANNEL,0, t1, p1, t2, p2, t3, p3);
   ObjectSet( nm, OBJPROP_COLOR, cl);
   ObjectSet( nm, OBJPROP_STYLE, st);
   ObjectSet( nm, OBJPROP_WIDTH, wd);
   ObjectSet( nm, OBJPROP_RAY, ry);
  }
  ObjectSet( nm, OBJPROP_TIME1, t1);
  ObjectSet( nm, OBJPROP_PRICE1, p1);
  ObjectSet( nm, OBJPROP_TIME2, t2);
  ObjectSet( nm, OBJPROP_PRICE2, p2);
  ObjectSet( nm, OBJPROP_TIME3, t3);
  ObjectSet( nm, OBJPROP_PRICE3, p3);
}
 
Roger писал(а) >>

Sembra essere sulla destra.

oops...

 
DECIDE >>:

в терминале есть возможность установки равноудалённого канала, можно вместо отрисовки трендовых линий устанавливать его

вот составил функцию по подобию установки трендовой линии

interessante

come impostare la distanza tra le linee?

 

la distanza si imposta da sola, basta indicare tre punti t1,p1,t2,p2,t3,p3

Ho rinunciato a questa funzione (ha una sola linea corta), è più facile, più istruttivo disegnare linee di tendenza

 
DECIDE >>:

растояние само устанавливается, надо только указать три точьки t1, p1, t2, p2, t3, p3

отказался я от этой функции(там одна линия короткая), проще, нагляднее просто трендовые линии рисовать

impostare la distanza tra le linee

si suppone che la seconda linea sia spostata rispetto alla prima (di tendenza) e parallela ad essa orizzontalmente di un certo valore di barre - per esempio, di 5 barre

questo è anche un canale equidistante che taglia i picchi verso l'alto o verso il basso a seconda dell'impostazione di base e della direzione della tendenza.

 

La funzione rimuove gli zeri dall'array duplicato e restituisce l'indice del minimo dell'array

int ArrMin(double & x[]){
  while( x[ArrayMinimum( x)]==0){
    for(int i=ArrayMinimum( x); i<ArraySize( x)-1; i++){
      x[ i]= x[ i+1];
    }
    ArrayResize( x,ArraySize( x)-1);
  }
  return(ArrayMinimum( x));
}
 

Buon pomeriggio a tutti!

Non so se questo problema è già stato discusso... Ma volevo suggerire di fare una funzione per gli EA per lavorare con un saldo fisso.

Questo è necessario per ottimizzare gli EA.

Quello che abbiamo qui è il seguente: quando avviamo l'EA, inizia a guadagnare e AccountBalance inizia ad aumentare e l'EA utilizza una quantità sempre maggiore di saldo.

Se introduciamo una variabile, come Valance, e impostiamo un importo in essa, che l'EA "vedrà" e acquisterà solo per questo importo. Questo ci permetterà di pensare che ogni volta che l'Expert Advisor inizierà a lavorare, penserà di avere a disposizione solo il denaro del bilancio e durante tutto il periodo di test potremo credere come funzionerebbe l'EA se lo commutassimo in un giorno qualsiasi, escludendo il fattore di cambiare il bilancio reale.

Ottimizzato con questa variabile, l'Expert Advisor funzionerà più normalmente in futuro.

L'unica cosa che resta da fare è codificare una tale funzione.

Questo è tutto quello che so:

extern double Balance = 10000;

int init() {

//fissare il saldo all'inizio dell'operazione EA

Balance=AccountBalance;

ritorno (0);

}

int inizio {

//-------------------------

???

//-------------------------

}

E che cosa scrivere in un libro di testo? Non lo so. Se l'EA avesse una funzione dove calcola il possibile numero di ordini aperti con un dato lotto, usando AccountBalance, si potrebbe semplicemente sostituire AccountBalance() con una variabile, ma non tutti gli EA lo fanno esplicitamente.

 

Не знаю, может этот вопрос уже обсуждался... Но я хотел предложить сделать функцию для работы советника с фиксированным балансом.

Ho risolto questo problema in questo modo

Ho un sacco di diversi Expert Advisors e quando avvio uno di loro, per la prima volta al giorno, il saldo del conto viene memorizzato in una variabile globale e in base a questo gli Expert Advisors calcolano il numero di lotti e il reddito risultante, mostrando le informazioni sul grafico nei commenti (rendimento: così e così %)

 
DECIDE писал(а) >>

Ho un sacco di EAs diversi e quando avvio uno di loro, la prima volta al giorno, il saldo del conto viene salvato in una variabile globale e in base a questo gli EAs calcolano il numero di lotti e il reddito risultante, mostrando le informazioni sul grafico nei commenti (rendimento: così e così %)

Puoi condividere con noi i dettagli di come può essere fatto?

 

нужна мне такая возможность - параллельного горизонтального смещения (копирования, переноса...) трендовой линии на определенное кол-во баров

Geronimo, descrivi l'algoritmo in modo più dettagliato nel mio personale o ICQ: 9773190, non ingombriamo il thread

In qualsiasi modo posso aiutare

condividere i dettagli su come farlo?

Nail_Saby, ho descritto il succo, e puoi implementarlo in diversi modi, dipende da come e cosa hai bisogno esattamente