[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 254

 
Ciao, potrebbe essere una domanda stupida, ma forse c'è una soluzione? Capisco che le requotes sono gestite da un server in una società di brokeraggio, ma forse c'è un modo programmatico per gestirle? È possibile ridurre il loro tempo? Il mio broker a volte impiega 7-10 secondi! Questo è un incubo.
 
Shniperson:
Ciao, probabilmente è una domanda stupida, ma forse c'è una soluzione? Capisco che i requotes sono fatti dal server di brokeraggio, ma forse c'è un modo programmatico per gestire i requotes? È possibile ridurre il loro tempo? Il mio broker a volte impiega 7-10 secondi! Questo è un incubo.


No. L'unica cosa che avete a disposizione è la gestione software delle requote. Esempio - Funzione OpenPosition() per l'online di Kim I.V. - nell'ultima riga del ciclo di elaborazione delle requote

 if (err!=135) Sleep(1000*7.7);

In generale, gli errori #135 e #138 - riguardano la stessa elaborazione, come ho capito...:-))

ERR_PRICE_CHANGED 135 Prezzo cambiato
ERR_OFF_QUOTES 136 Nessun prezzo
ERR_BROKER_BUSY 137 Broker occupato
ERR_REQUOTE 138 Nuovi prezzi

Nel mio gufo questa linea è segnata come segue

if ((error != ERR_PRICE_CHANGED) && (error != ERR_REQUOTE)) Sleep(1000*7.7);
      


	          
 
Roman.:


No. Lei ha solo programmaticamente a che fare con le requote. Esempio - Funzione OpenPosition() di Kim nell'ultima linea del ciclo per l'elaborazione delle richieste

In generale, gli errori #135 e #138 - riguardano la stessa elaborazione, come ho capito...:-))

ERR_PRICE_CHANGED 135 Prezzo cambiato
ERR_OFF_QUOTES 136 Nessun prezzo
ERR_BROKER_BUSY 137 Broker occupato
ERR_REQUOTE 138 Nuovi prezzi

Nel mio gufo questa linea è compilata come segue


Non capisco come il ritardo del software permetta di "combattere" le requote?

Il punto è che i DT stanno ritardando l'apertura dell'ordine, e c'è anche un ritardo del software.

L'unico modo per "combatterlo":

a) usare un grande slittamento

b) utilizzare gli ordini in sospeso

La mia società di intermediazione ha iniziato ultimamente a ritardare gli ordini fino a un minuto, quindi non posso fare trading con ordini a mercato.

 
nadya:
Perché non calcolare l'importo da soli usando la funzione OrderCommission()?

int n=OrdersTotal();
double Comission=0;
while (n>0)
 {
 OrderSelect(n-1,SELECT_BY_POS,MODE_TRADES);
 Comission=Comission+OrderCommission();
 n--;
 }
Non sono sicuro che questo codice lo calcoli correttamente
 
abolk:


...

a) usare un grande slittamento

b) utilizzare gli ordini in sospeso

...con ordini di mercato non è semplicemente possibile.

a) - è l'impostazione predefinita.

b) - se gli ordini di mercato sono aperti, perché non usare anche quelli...

 
Amici, rispondete al mio messaggio precedente, per favore
 

Trova il valore medio

MathAbs(iClose(NULL,0,i)-iOpen(NULL,0,i));

Eseguilo nel tester per n candele e mostralo in Alert

Non riesco a farlo funzionare in qualche modo

Aiuto

 
palesandr:

Trova il valore medio

MathAbs(iClose(NULL,0,i)-iOpen(NULL,0,i));

Eseguilo nel tester per n candele e mostralo in Alert

Non riesco proprio a farlo funzionare.

Aiuto

Mostraci come non funziona e lo sistemeremo
 


extern double n = 360;


int start()
{

double v, vol;

for(int i=1;i<=n;i=i+1)
{
v=MathAbs(iClose(NULL,0,i)-iOpen(NULL,0,i));
vol=(vol+v);
}
Alert ("vol=", vol );
return;
}

 
palesandr:


extern double n = 360;


int start()
{

doppio v, vol;

for(int i=1;i<=n;i=i+1)
{
v=MathAbs(iClose(NULL,0,i)-iOpen(NULL,0,i));
vol=(vol+v);
}
Avviso ("vol=", vol );
ritorno;
}


vol = vol / n;
Alert ("vol=", vol );