[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 135

 
MaxV42 >> :

Puoi darmi un suggerimento, per favore?

Ho un terminale in funzione a casa e un EA sta facendo trading sul grafico.

Se eseguo il terminale su un altro PC (al lavoro) e imposto lo stesso EA con gli stessi parametri sul grafico

1. La mia connessione con il server sul mio PC di casa sarà interrotta?

2. Se la connessione con il server sul mio computer di casa è interrotta, l'Expert Advisor "prenderà" gli ordini aperti sul mio computer di lavoro?

Grazie.

1. no

Ma si possono avere doppie aperture.

 
Un consulente nel tuo caso non è diverso da un essere umano. Supponiamo che due persone stiano facendo trading su computer diversi e sullo stesso terminale. Entrambi fanno trade e non dipendono l'uno dall'altro, come due EA su computer diversi. Non si vedono, non vedono mestieri dell'altro e agiscono secondo la loro situazione. Se un computer perde la connessione, solo uno di loro scambierà. Ma la connessione non sarà interrotta dalla presenza di due EA su computer diversi.
 
MaxV42 >> :

Puoi darmi un suggerimento, per favore?

Ho un terminale in funzione a casa e un EA sta facendo trading sul grafico.

Se eseguo il terminale su un altro PC (al lavoro) e imposto lo stesso EA con gli stessi parametri sul grafico

1. La mia connessione con il server sul mio PC di casa sarà interrotta?

2. Se la connessione con il server sul mio computer di casa è interrotta, l'Expert Advisor "prenderà" gli ordini aperti sul mio computer di lavoro?

Grazie.

Se il tuo EA ha un numero magico (magic number o ID o simile) nei suoi parametri, avrai meno problemi. Impostare lo stesso numero magico su entrambi i terminali.

Cos'è il 'magik' e lo slittamento dei prezzi?

Se la connessione viene interrotta, l'altro EA "raccoglierà" i trade utilizzando questo numero magico. In realtà dovremmo chiarire questo punto.

Ma suppongo che se un mago è incluso nella funzione OrderSend(), allora le informazioni su di esso sono memorizzate sul server!

Spero che gli esperti possano correggermi se mi sbaglio. Nell'articolo 'MagicNumber - identificatore "magico" dell'ordine'.

Non si dice nulla su questo.

È vero che a volte si può verificare una doppia apertura.

 

Potete per favore dirmi come fare uno script eseguito periodicamente, per esempio 10 secondi prima della creazione di una nuova barra, nel periodo del grafico M5

(cioè, voglio che sia eseguito in (ora:min:sec) x:04:50; x:09:50; x:14:50).

 
VeDMeD писал(а) >>

Potete per favore dirmi come fare uno script eseguito periodicamente, per esempio 10 secondi prima della creazione di una nuova barra, nel periodo del grafico M5

(cioè, voglio che sia eseguito a (ora:min:sec) x:04:50; x:09:50; x:14:50).

mettere il codice dello script nella costruzione

bool bWas;

while (!IsStopped())
{
  // проверяем время
  if (MathMod(Minute()+1, 5) ==0)
  {
      bWas=false;
      if (Seconds()>=50 && ! bWas)
      {
        // делаем то что вам надо 
          bWas=true; // только один раз
          RefreshRates(); // обновляем данные валюты
        //........
      }
  }
}
 
MaxV42 писал(а) >>

Puoi darmi un suggerimento, per favore?

Ho un terminale in funzione a casa e un EA sta facendo trading sul grafico.

Se eseguo il terminale su un altro PC (al lavoro) e imposto lo stesso EA con gli stessi parametri sul grafico

1. La mia connessione con il server sul mio PC di casa sarà interrotta?

2. Se la connessione con il server sul mio computer di casa è interrotta, l'Expert Advisor "prenderà" gli ordini aperti sul mio computer di lavoro?

Grazie mille.

I computer lavoreranno in modo indipendente.

Qui c'è bisogno di un chiaro controllo della situazione.

Date le limitate possibilità, tutto quello che possiamo suggerire è di organizzare una "conversazione tra EAs" quando c'è un ordine pendente con certi parametri.

Il 1° PC può spostare l'ordine un po' più in basso - tipo "sto negoziando qui", quindi tu, 2° PC, non dovresti ancora interferire.

Il 2° PC può rimettere l'ordine al suo posto - tipo, sì, ho capito, starò zitto...

Non è difficile inventare un algoritmo per impostare il PC principale (dove si trova il PC principale). Comprendendo bene la loro pacifica conversazione, i PC sapranno sempre chi è il principale e chi è in disparte.

La frequenza della "conversazione" dovrebbe essere piccola, altrimenti il broker considererà questo fenomeno indesiderabile e potrebbe vietare l'uso di Expert Advisors.

 
Come si fa a trovare una barra, per esempio, ai cinque minuti all'inizio della giornata? Non mi viene in mente niente, grazie.
 
datetime dtD1 = iTime(Symbol(), PERIOD_D1, 0); // получили время начала текущего дня
int shiftM5 = iBarShift(Symbol(), PERIOD_M5, dtD1); // получили смещение в таймсерии M5
double priceDayOpenM5 = iOpen(Symbol(), PERIOD_M5, shiftM5); // работаем со смещением в таймсерии M5
 
La soluzione proposta non tiene conto dell'offset GMT.
 
DrShumiloff >> :
La soluzione proposta non tiene conto dell'offset GMT.

E come può l'offset GMT influenzare la serie temporale M5 rispetto a D1?

Per favore, illumini Caro DrShumiloff.

Domanda da un principiante con 20 anni di esperienza di programmazione.