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

 
Vinin:


Posso chiedere cos'è che fa così paura?


Il prodotto dei minuti per i secondi moltiplicato per le ore.
Il movimento dei prezzi non è caotico, ma "codificato".
Per decifrare questo movimento, è necessario sintetizzare il movimento del prezzo con un modello - una linea mobile. Ho scelto il continuum temporale.
La sintesi del movimento dei prezzi con il movimento del tempo deve essere eseguita con una formula speciale che non vi rivelerò.
L'indicatore di cui sopra si basa su una formula ridotta.
La formula completa (che ho calcolato per soddisfare il mio interesse) è 37 volte più complicata della formula ridotta.

L'indicatore sulla formula completa è stato costruito oggi alle 12:00 ora di Mosca.
Lo spettacolo che avevo immaginato si è rivelato ai miei occhi.
Ho visto un modello - linee mobili il cui movimento successivo può essere calcolato, e poiché il loro movimento è direttamente collegato al movimento del prezzo, il movimento del prezzo sarà prevedibile.
 

C'è un'altra opzione complicata.

#include <WinUser32.mqh>

int delay = 180;
datetime read_now;
int hWnd = 0;

void init()
 {
  read_now = TimeLocal() + delay;
  hWnd = WindowHandle(Symbol(), Period());
  for (ini i = 0; i < 300; i++) PostMessageA(hWnd, RegisterWindowMessageA("MetaTrader4_Internal_Message"), 2, 1);
 }
void start()
 {
  while(!IsStopped())
   {
    int how_many_remains = read_now - TimeLocal();
    Comment(StringConcatenate(StringSubstr("-", (how_many_remains%60 >= 0), 0),
                              StringSubstr("0", (MathAbs(how_many_remains/60) > 9), 0),
                              MathAbs(how_many_remains/60), ":",
                              StringSubstr("0", (MathAbs(how_many_remains%60) > 9), 0),
                              MathAbs(how_many_remains%60)));
    Sleep(1000);
   }
 }
Mentre questo mucchio di messaggi viene elaborato, l'init finirà e andrà ad aspettare un tick all'inizio.
 
Zhunko:

Fissate un orario con il vostro esperto. L'esperto lavorerà.

E il tuo codice funziona anche, cioè start() non deve essere iniziato con init() + while(!IsStopped()), è sufficiente cambiare TimeCurrent() in TimeLocal() nell'EA di prova e mettere while(!IsStopped()){} nel tuo script in void start() (naturalmente, inizia da un altro grafico, Symbol() - Period() impostato per il grafico con EA). Grazie, ora l'ho capito.
 
gyfto:
E il tuo codice funziona anche, cioè, start() non deve essere iniziato con init() + while(!IsStopped()), è sufficiente cambiare TimeCurrent() in TimeLocal() nell'EA di prova e mettere while(!IsStopped()){} in void start() nel tuo script (naturalmente, iniziare da un altro grafico, Symbol() - Period() impostare il grafico con l'EA). Grazie, ora l'ho capito.

Funziona e funziona. A causa della funzione temporale sbagliata, non si può vedere che funziona.

Non ha guardato nel suo codice. Chissà cosa volevi dire loro...?

 
Zhunko:

Così indecente.


Lo so )))

Zhunko:
void init()
 {
  ServiceRefreshChart(hWnd, 100);
 }
void start()
 {
  ServiceStopRefreshChart(hWnd);
  while(!IsStopped())
   {
    ...
    Sleep(1000);
   }
 }

Capito...

Zhunko:

C'è un'altra opzione complicata.


Pericolo di morte clinica della CPU su VPS.

 
gyfto:

Pericolo di morte clinica della CPU su VPS.

È questa la sua esperienza personale?

Solo un gran numero di messaggi asincroni alla finestra. Questo non dovrebbe causare un crash del sistema e un aumento del carico della CPU.

Il sistema invia centinaia di migliaia di questi messaggi a tutte le finestre.

 
Zhunko:

Non ho esaminato il tuo codice. Chissà cosa volevi dire loro...?

Non c'è niente lì, è solo una comoda shell per eseguire gli script WSH per il parsing.
Zhunko:

È questa la sua esperienza personale?


Esatto, per esperienza di vita. Se il carico della CPU è del 100%, non puoi nemmeno andare sul VPS, devi contattare il supporto tecnico e chiedere di riavviare il VPS. E il carico della CPU è raggiunto dai miei script WSH molto facilmente, devo guardare ogni bit extra di memoria... Bene se sono su VPS, ma se non ci sono, allora il riavvio della VM è un'emergenza programmata per TC. Ci sono abituato...
 
Ok.
Ho capito la funzione trigonometrica:
MathCos

Ma non capisco come fare una sinusoide con questa funzione.


y = 2cos(x*x)


Questo problema mi sta davvero incasinando i nervi.

 
Link_x:

Ma non capisco come fare una sinusoide con questa funzione.

y = 2cos(x*x)

Questo problema ha messo a dura prova il mio sistema nervoso.


L'angolo in radianti deve essere sostituito. Se si convertono i gradi in radianti (180 gradi = pi radianti) si deve:

1 radiante=180/PI (PI =3.14.... prendere il valore esatto alla ventesima cifra e segnarlo in #definе)

 
Link_x:

Il prodotto dei minuti per i secondi moltiplicato per le ore.
Il movimento dei prezzi non è caotico, ma "codificato".
Per decifrare questo movimento, si deve fare una sintesi del movimento del prezzo con una linea di movimento del modello. Ho scelto il continuum temporale.
La sintesi del movimento dei prezzi con il movimento del tempo deve essere eseguita con una formula speciale che non vi rivelerò.
L'indicatore di cui sopra si basa su una formula ridotta.
La formula completa (che ho calcolato per soddisfare il mio interesse) è 37 volte più complicata della formula ridotta.

L'indicatore sulla formula completa è stato costruito oggi alle 12:00 ora di Mosca.
Lo spettacolo che avevo immaginato si è rivelato ai miei occhi.
Ho visto un modello - linee mobili il cui movimento successivo può essere calcolato, e poiché il loro movimento è direttamente collegato al movimento del prezzo, il movimento del prezzo sarà prevedibile.


Ma non avete questo lavoro, avete un lavoro molto diverso lì