Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 1014

 
AlexeyVik:

Rallentare l'esecuzione del codice, secondo me, non è del tutto corretto. Non so cosa fare meglio, perché non conosco l'algoritmo di questi indicatori e non voglio capirlo.

Per quanto riguarda lo slittamento negli indicatori, penso che si possa creare il proprio slittamento usando la funzione in loop GetTickCount()

L'indicatore che prepara i dati appende il flag pronto tramite una variabile globale (o tramite un file). L'altro indicatore, quando è pronto, resetta il flag e legge i dati.

Nel tester, inoltre, non funzionerà correttamente.

 
Vinin:
È il momento di controllare
In alcuni casi - Sì, meglio. Ma se devi rallentare per mezzo secondo... ...questo non funzionerà. Non ho detto che è una variante universale. È solo un'imitazione di Sleep().
 
per Sleep nel tester (penso che funzionerà anche per l'indicatore) fare un ciclo in while dentro i++ e trovare la dimensione dell'iterazione massima che corrisponderà (approssimativamente) al tempo di ritardo desiderato
 
Money_Maker:
Per Sleep nel tester (penso lo stesso per l'indicatore) fare il ciclo while in i++ e trovare la dimensione della massima iterazione che corrisponderà (approssimativamente) al tempo di ritardo desiderato

In questo caso il terminale si bloccherà completamente, il che non è nemmeno buono.

Il primo indicatore è il delta del cluster delta. Che viene aggiornato in circa 20 secondi. Quindi dobbiamo ritardare la lettura dell'indicatore di 20 secondi. Potete dirmi come conoscere il numero di secondi dall'apertura della candela?

 
nikelodeon:

In questo caso il terminale si bloccherà completamente, il che non è nemmeno buono.

Il primo indicatore è il delta del cluster delta. Che viene aggiornato in circa 20 secondi. Ecco perché dobbiamo ritardare la lettura dell'indicatore di 20 secondi. Come conoscere il numero di secondi dall'apertura della candela?

Includere GetTickCount() e contare 20 secondi da esso.
 
Semplicemente, lavorare su ogni tick. Appena arriva un segnale, fai qualcosa :)
 

Potete dirmi come calcolare la leva per un particolare strumento?

C'è una linea:

double minlotmoney= Bid*lotsize*minlot/leverage;       //Стоимость минимального лота  в $

Ma non è adatto per alcuni strumenti per i quali la leva del Broker è diversa (scritto in AccountLeverage())

 

Ragazzi, come calcolate la correlazione per le ultime 100 barre?

Non riusciva a trovare una formula sana da nessuna parte, è arrivato a questo punto e si è fermato

 int TF = Period();
 int ADR = 100;
 double p1=0;
 double p2=0;
 string Pair1 = "GBPUSD";
 string Pair2 = "EURUSD";
  for (int f = 1; f <= ADR; f++)
   {
     p1 += (iHigh(Pair1, TF, f) - iLow(Pair1, TF, f)) / MarketInfo(Pair1, MODE_POINT); //sum pair1 range (i) 
     p2 += (iHigh(Pair2, TF, f) - iLow(Pair2, TF, f)) / MarketInfo(Pair2, MODE_POINT); //sum pair2 range (i)
   }
 /* Тут неправильно
  double c1 = p1 / ADR;
  double c2 = p2 / ADR;
  double rs = c2 / c1;

  Comment( DoubleToStr(rs, 2) );
 */

Grazie in anticipo se qualcuno può aiutare!

 

Salve, ecco una domanda:

Quando si esegue una ricerca programmatica dei grafici, delle loro sottofinestre, degli indicatori nelle sottofinestre, è possibile scoprire il numero totale di indicatori e poi i loro nomi, parametri, ecc.

Usare ChartIndicatorsTotal, ChartIndicatorName ecc.

Come posso scoprire il nome dell'Expert Advisor in esecuzione in questa finestra tramite ChartID?

 
Penso che ora gli esperti si gonfiano per questi problemi, ed eccomi qui con il mio :-) Come fare alla chiusura dell'affare le icone sono state messe sul grafico come nel tester????? Forse ci sono alcune funzioni pronte all'uso????