Il compito di cercare gli ordini - pagina 2

 
Михаил:

Non essere ridicolo....

Se succede qualcosa di inaspettato, nessuna classe vi salverà!

Se c'è un riavvio inaspettato del server di 5 minuti o più, tutti i dati variabili vengono cancellati...

Durante il riavvio sui server del broker gli ordini possono chiudersi su sl o тп o diventare di mercato,

L'unica soluzione stabile è quella di raccogliere informazioni al momento del caricamento di EA o quando necessario...

Purtroppo questo imprevisto accade molto spesso, quindi alla ricerca di soluzioni buone/normali ho creato questo thread.

Grazie Michael per i tuoi suggerimenti...

 
Михаил:

Non essere ridicolo....

Se succede qualcosa di inaspettato, nessuna classe vi salverà!

Se Windows o il terminale si blocca, quando l'EA viene reinizializzato,

Mi limito a "guardare" gli ordini attivi e a chiuderli, perché non c'è controllo su di essi.

Non ha senso riprenderne il controllo?
 
Vladimir Pastushak:
Non ha senso riprendere il controllo su di loro?

Non vedo il punto. Perché preoccuparsi di indagare su ciò che hanno "fatto"?

È molto più facile "inchiodarli" e guardare la posizione, tanto più che bisogna comunque guardarla!

 
Михаил:

Non vedo il punto. Perché preoccuparsi di indagare su quello che hanno "fatto"?

È molto più facile "inchiodarli" e guardare la posizione, tanto più che bisogna comunque guardarla!

No. Ci sono ordini che devono essere lasciati sul mercato e ci sono ordini per i quali bisogna prendere una decisione. Tutto questo viene fatto dall'Expert Advisor che "scansiona" il suo "spazio di lavoro" e ha sempre dati rilevanti. E in situazioni davvero inaspettate - anche qui, il messaggio viene inviato automaticamente al telefono cellulare, in modo che io possa interferire usando la mia mente, non il robot. A mio modesto parere, questo è il comportamento più ragionevole per un EA.

E non ci sono variabili, in cui si memorizza l'ambiente importante - solo la ricerca dello stato più recente, più fresco, solo l'estremo. Sono soldi ;)

 
Artyom Trishkin:

Beh, no. Ci sono ordini che devono essere lasciati sul mercato, e poi ci sono quelli per i quali è necessario prendere una decisione. Tutto questo viene fatto dall'Expert Advisor "scannerizzando" il suo "spazio di lavoro" e ha sempre i dati attuali. E in situazioni davvero inaspettate - anche qui, il messaggio viene inviato automaticamente al telefono cellulare, in modo che io possa interferire usando la mia mente, non il robot. A mio modesto parere, questo è il comportamento più ragionevole degli EA.

E nessuna variabile in cui si memorizza l'ambiente importante - solo la ricerca dello stato più recente, più fresco, solo l'estremo. Sono soldi ;)

Queste sono parole generali.

Mi faccia un esempio (MT5) di un ordine che deve semplicemente essere lasciato sul mercato,

dopo un "crash" di windows o del terminale?

È meglio e più veloce analizzare 100 ordini non supervisionati o piazzare gli ordini richiesti dopo aver analizzato la posizione?

necessario?

 

Nell'implementare diverse "griglie" sono arrivato alla seguente struttura:

struct OrderInfo
{
   int            type;
   int            ticket;
   int            martinLeg;
   double         lots;
   double         openPrice;
   double         profit;
   datetime       openTime;
};

struct SeriesInfo
{
   int            ordersCnt;
   int            maxMartinLeg;                                                                    // Максимальный номер ордера в серии.
   
   double         lastOpenPrice;                                                                   // Минимальная для Buy-серии и максимальная для Sell-серии цена открытия ордера в серии
   double         totalProfit;                                                                                                   
   OrderInfo      order[MAX_ORDERS_IN_SERIES];
   
   void Init()
   {
      ordersCnt = 0;
      maxMartinLeg = 0;
      lastOpenPrice = 0.0;
      totalProfit = 0.0;
   }
};

La struttura viene riempita ad ogni nuovo tick in base al valore del Magic Number (memorizza tutte le informazioni necessarie per identificare l'ordine: numero d'ordine, a quale griglia appartiene, ecc.)

 
Михаил:

Queste sono parole generali.

Fammi un esempio (MT5) in cui devi lasciare sul mercato un ordine piazzato in precedenza,

dopo un "crash" di Windows o del terminale?

È meglio e più veloce analizzare 100 ordini non supervisionati o piazzare gli ordini richiesti dopo aver analizzato la posizione?

ordini necessari?

Non è l'implementazione (codice), ma l'algoritmo. L'Expert Advisor deve catturare tutti i suoi ordini e posizioni dopo il riavvio. Se li perde - questo è un trucco da scolaretto, se li chiude dopo averli visti, anche questo è dello stesso campo.

Un EA dovrebbe cercare di ripetere le azioni del trader, e credetemi, per quanti clienti ho scritto codici, tutti loro non vogliono che un EA si chiuda stupidamente (se questo non fa parte del TS), ma che li raccolga e faccia conclusioni dal loro stato per eseguire le azioni necessarie con loro.

E perché pensi che dopo il riavvio del terminale, gli ordini aperti dall'EA cinque o dieci minuti fa (o anche un'ora o due, ecc., tutto dipende dal TS), dovrebbero improvvisamente diventare incontrollabili per l'EA e obbligatori da cancellare?

 
Artyom Trishkin:

Non è l'implementazione (codice) ma l'algoritmo. L'Expert Advisor dovrebbe riprendere tutti i suoi ordini e posizioni dopo il riavvio. Se li perde - è un trucco scolastico, se li chiude dopo averli visti, fuori pericolo, anche questo è dello stesso campo.

L'Expert Advisor dovrebbe cercare di ripetere le azioni del trader e, credetemi, ho scritto ad ogni cliente, che ha bisogno che l'Expert Advisor non chiuda stupidamente (se questo non fa parte del TS), ma che li raccolga e faccia delle conclusioni dalla loro condizione per eseguire ulteriori azioni con loro.

E perché pensi che dopo il riavvio del terminale, gli ordini aperti dall'EA cinque o dieci minuti fa (o anche un'ora o due, ecc., tutto dipende dal TS), dovrebbero improvvisamente diventare incontrollabili per l'EA e obbligatori da cancellare?

Siete impegnati nella verbosità (artigianato scolastico, ecc.).

Non avete bisogno di un mentore che vi spieghi come dovrebbe essere!

Rispondi alla domanda posta:

Fammi un esempio (MT5) in cui hai semplicemente bisogno di lasciare sul mercato un ordine precedentemente piazzato,

Dopo un "crash" del WIND o del terminale?

Cos'è meglio e più veloce analizzare 100 ordini non supervisionati, o analizzareuna posizione e piazzare il

ordini necessari?

P/S Ordini non controllati - perché i loro biglietti sono persi!

Una posizione non può essere persa :)

Essa (posizione) o esiste o non esiste!

 
Михаил:
...

P/S Mandati incontrollati - perché i loro biglietti sono persi!

E una posizione non può essere persa :)

Ecco la mia risposta a PS: devono semplicemente essere trovati - è di questo che stiamo parlando, quindi perché cancellarli? Questo è ciò di cui parlava il topicstarter, con cui sono pienamente d'accordo. Ripeto - questa è puramente la mia opinione. A proposito, se provate a mettere sul mercato un EA che cancella gli ordini e le posizioni se c'è un errore di connessione o un riavvio del terminale - probabilmente non sarà moderato. E lì, credetemi, i moderatori controllano tutto ed esigono un comportamento adeguato dei programmi nei loro requisiti per i prodotti, che a volte appaiono persino idioti. Esempi di moderazione dura possono dare un sacco di venditori, non sono l'unico (anche se ho avuto lamentele solo sul design) ...

Per quanto riguarda la verbosità e altre cose che "pensi" nei miei post - è solo quello che pensi. Sto comunicando con voi in modo molto amichevole, senza ammonizioni e altre cose apparentemente negative. Stavo semplicemente esprimendo il mio IMHO (che ho riportato, e citato la mia osservazione che la gente chiede).

A proposito - se Windows si è bloccato, l'Expert Advisor non può cancellare gli ordini - solo manualmente, quindi questo esempio non può riguardare completamente l'autotrading.

 
Artyom Trishkin:

Ecco la mia risposta a PS: quindi devono semplicemente trovarlo - è di questo che sto parlando, perché cancellarlo? Questo è ciò di cui parlava il topicstarter, con cui sono pienamente d'accordo. Ripeto - questa è puramente la mia opinione. A proposito, se cercate di inserire un EA nel mercato che cancella gli ordini e le posizioni se c'è un errore di connessione o un riavvio del terminale - probabilmente non sarà moderato. E lì, credetemi, i moderatori controllano tutto ed esigono un comportamento adeguato dei programmi nei loro requisiti per i prodotti, che a volte appaiono persino idioti. Esempi di moderazione dura possono dare un sacco di venditori, non sono l'unico (anche se ho avuto lamentele solo sul design) ...

Per quanto riguarda la verbosità e altre cose che ti "sembrano" nei miei post - sembra solo a te. Sto comunicando con voi in modo abbastanza amichevole, senza ammonizioni o altre cose apparentemente negative. Stavo semplicemente esprimendo il mio IMHO (che ho riportato, e citato la mia osservazione che la gente chiede).

A proposito - se Windows si è bloccato, l'Expert Advisor non può cancellare gli ordini - solo manualmente, quindi questo esempio non può riguardare completamente l'autotrading.

Non sto dicendo che non è una comunicazione amichevole...

Ma ancora una volta (come credo), non ha senso scavare nei mandati!

A proposito, in risposta a questo:

"A proposito - se il vento è giù, anche l'EA non può cancellare gli ordini - solo manualmente qui, quindi questo esempio non può applicarsi completamente all'autotrading".

POSSIBILE, probabilmente non sai come. Se interessato, posso postare il codice.