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

 
Ci sono due terminali MT4 sullo stesso portatile: uno con 4 cifre decimali e uno con 5 cifre decimali. Nello stesso tempo il traffico sul primo è 105/0 kb, sul secondo 3450/0 kb. La prima è ad alta intensità di CPU del 6%, la seconda del 39%. Qual è il problema? Ma questa è una norma?
 
A quanto pare, nessuno può aiutarmi qui! Tutti indicano solo un libro di testo. è come uno studente che chiede a un insegnante di aiutarlo a imparare un argomento che non capisce e l'insegnante gli dice di guardare in un libro. mi fa chiedere perché ha bisogno di un insegnante, questo forum e questo argomento!!!
 
logut:
A quanto pare nessuno qui può aiutarmi! Tutti indicano solo un libro di testo. Questo è come uno studente che chiede al suo insegnante di aiutarlo a imparare un argomento che non capisce e l'insegnante gli dice di guardare in un libro.

La filiale è molto buona e disponibile. Ci sono molte persone gentili qui. Ripetimi la tua domanda.

 
ikatsko:
Ci sono due terminali MT4 sullo stesso portatile: uno con 4 cifre decimali e uno con 5 cifre decimali. Nello stesso tempo il traffico sul primo è 105/0 kb, sul secondo 3450/0 kb. Il primo è ad alta intensità di CPU del 6%, il secondo del 39%. Qual è il problema? Ma questa è una norma?
In sei anni avresti potuto capire che le citazioni con un segno in più hanno bisogno di più risorse. A meno che, naturalmente, non vengano più spesso e varino meno.
 
Vinin:
Hai capito da sei anni che hai bisogno di più risorse per un preventivo con una cifra in più. A meno che, ovviamente, non vengano più spesso e varino meno.

Grazie. Anch'io ti conosco da molto tempo.

Sul traffico, naturalmente, la spiegazione è accettata e "in sei anni", in linea di principio, lo capisco.

Ma cosa si può dire del carico della CPU? La comunicazione tra il terminale e internet (per fornire informazioni/traffico/quote) non ha una tale influenza sul carico della CPU del terminale? (ricordatemi, 4 cifre caricano il 6%, 5 cifre il 39%. Lasciatemi chiarire in anticipo, portatile Samsung X15, processore da 1400 MHz)

 
ikatsko:

La filiale è molto buona e disponibile. Ci sono molte persone gentili qui. Ripeti la tua domanda a me.

Ho bisogno di lotti doppi = 0,01;
input int takeprofit = 100;
input int stoploss = 100;
extern int magic = 123;
//----------------+
int start()
{




//---------------+


int ticket=OrderSend(Symbol(),OP_BUYLIMIT,lots,Ask,3,Ask +stoploss* Point, Ask + takeprofit* Point,NULL,123,120,CLR_NONE);






ritorno(0);

}

Ho bisogno di alcuni consigli su come scrivere un suggerimento con una pausa Sono nuovo di questo mestiere, ci sto rimuginando sopra da un mese, ho uno schizzo
 
ikatsko:

Grazie. Anch'io ti conosco da molto tempo.

Sul traffico, naturalmente, la spiegazione è accettata e "in sei anni", in linea di principio, lo capisco.

Ma cosa si può dire del carico della CPU? La comunicazione tra il terminale e internet (per fornire informazioni/traffico/quote) non ha una tale influenza sul carico della CPU del terminale? (ricordatemi, 4 cifre caricano il 6%, 5 cifre il 39%. Per chiarire in anticipo, portatile Samsung X15, processore da 1400 MHz)

Sembra che solo gli indicatori stiano consumando risorse. I calcoli sono diventati di più. Anche se - beh, non ne ho davvero bisogno, ma sono esigenti.
 
logut:
Ho bisogno di inserire lotti doppi = 0,01;
input int takeprofit = 100;
input int stoploss = 100;
extern int magic = 123;
//----------------+
int start()
{




//---------------+


int ticket=OrderSend(Symbol(),OP_BUYLIMIT,lots,Ask,3,Ask +stoploss* Point, Ask + takeprofit* Point,NULL,123,120,CLR_NONE);






ritorno(0);

}

Ho bisogno di alcuni consigli su come scrivere un suggerimento con un ordine in sospeso. Sono nuovo in questo business e sono stato perplesso per un mese.

Vi è stato dato un suggerimento sulla documentazione.

Il trailing stop scatta quando raggiunge un certo livello (la deviazione dal prezzo corrente). E tu stai cercando di usare quello attuale. Puoi cercare "grid" o "gridiron".

 

Ciao, ecco una domanda: il parametro prev_calcolato è sempre passato correttamente negli indicatori?

Ecco un semplice esempio: (qui Extern Int BarsAtOnce = 3)

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   //bool success;
   int tocalc; // сколько должно быть посчитано
   int i;
//---

   if (ArraySetAsSeries(time,true) & ArraySetAsSeries(open,true) & ArraySetAsSeries(high,true) & ArraySetAsSeries(low,true) & ArraySetAsSeries(close,true))
   {
      tocalc=prev_calculated+BarsAtOnce;
      if (tocalc>rates_total) tocalc=rates_total;
      
      Print("rates_total "+IntegerToString(rates_total)+" prev_calculated "+IntegerToString(prev_calculated)+" tocalc "+IntegerToString(tocalc));
      
      for (i=prev_calculated; i<tocalc; i++)
      {
         Label1Buffer[i]=open[i];
      }
      return(tocalc);
   }
   else
   {
      Alert("Fail");
      return(0);
   }
  }

Risultato:

2014.11.06 20:35:07.984 Analysis EURUSD,M1: initialized
2014.11.06 20:35:08.000 Analysis EURUSD,M1: rates_total 65013 prev_calculated 0 tocalc 3
2014.11.06 20:35:08.015 Analysis EURUSD,M1: rates_total 65013 prev_calculated 65013 tocalc 65013

Cioè il sistema di controllo considera che il buffer è stato contato completamente?

Необходимо отметить связь между значением, возвращаемым функцией OnCalculate() и вторым входным параметром prev_calculated. Параметр prev_calculated при вызове функции содержит значение, которое вернула функция OnCalculate() на предыдущем вызове. Это позволяет реализовать экономные алгоритмы расчета пользовательского индикатора с тем, чтобы избежать повторных расчетов для тех баров, которые не изменились с предыдущего запуска этой функции.

Для этого обычно достаточно вернуть значение параметра rates_total, которое содержит количество баров при текущем вызове функции.

Il compito è quello di fare un calcolo"graduale" dell'indicatore, in modo da non rallentare l'applicazione al momento del suo avvio.

 
Awwl:

Ciao, ecco una domanda: il parametro prev_calcolato è sempre passato correttamente negli indicatori?

Ecco un semplice esempio: (qui Extern Int BarsAtOnce = 3)

Risultato:

Cioè il sistema di controllo considera che il buffer è stato contato completamente?

Il compito è quello di fare un calcolo "graduale" dell'indicatore, in modo da non rallentare l'applicazione al momento del suo avvio.

Siete sicuri cheArraySetAsSeries()restituisca ciò di cui avete bisogno. O pensi di averne bisogno. Forse non si arriva nemmeno a calcolare