Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1717

 
EVGENII SHELIPOV #:
//--- global parameters
int prev_ticket;
//---
 if(CountTrade() < MaxOrders)
     {
      price = FindLastOrderInfo(2);
      lastlot = NormalizeDouble(GetMinLotOrder()*MathPow(MultiplierParameter, CountTrade()), 2);
      if(FindLastOrderInfo(1) == 0)
        {
         if(Ask<= price - Step()*Point)
           {
            prev_ticket=GetTicketMaxOrder();
            if(OrderSend(Symbol(), OP_BUY, lastlot, Ask, slip, 0, 0, "Групповой ордер на покупку", Magic, 0, Blue))
               Print("Ордер на покупку открыт!");
            else
               Print("Ошибка открытия ордера на покупку! - ",GetLastError());
           }
        }
      if(FindLastOrderInfo(1) == 1)
        {
         if(Bid>= price + Step()*Point)
           {
            prev_ticket=GetTicketMaxOrder();
            if(OrderSend(Symbol(), OP_SELL, lastlot, Bid, slip, 0, 0, "Групповой ордер на продажу", Magic, 0, Red))
               Print("Ордер на продажу открыт!");
            else
               Print("Ошибка открытия ордера на продажу! - ",GetLastError());
           }
        }
     }

prima di aprire un ordine, memorizza l'attuale max_ticket in prev_ticket

 
MakarFX #:

prima di aprire un ordine, memorizza l'attuale max_ticket in prev_ticket

MakarFX #:

prima di aprire un ordine, memorizzare il max_ticket corrente nel prev_ticket

Grazie caro!!!!!

 
MakarFX #:

prima di aprire un ordine, si memorizza il max_ticket corrente nel prev_ticket

Makar, l'ultimo ordine non può avere un biglietto più grande. Se viene aperto un ordine pendente, poi un ordine a mercato, e poi viene attivato un ordine pendente, il ticket dell'ultimo ordine sarà più piccolo del precedente. Oppure, se vengono aperti diversi ordini pendenti, la sequenza dell'ordine sarà la stessa di quella di attivazione dell'ordine, e i ticker saranno diversi.

Il tempo di apertura è sempre sequenziale...

 
E questo, si dice, non è garantito
 
Alexey Viktorov #:

Makar, l'ultimo ordine non può avere un ticker più grande. Se un ordine pendente è aperto, poi un ordine a mercato, e poi un ordine pendente è attivato, allora il ticket dell'ultimo sarà più piccolo del precedente. Oppure, se vengono aperti diversi ordini pendenti, la sequenza dell'ordine sarà la stessa di quella di attivazione dell'ordine, e i ticker saranno diversi.

Gli orari di apertura sono sempre sequenziali.

Non ha ordini pendenti, ma hai ragione comunque.

Per questo, ha una funzione per cercare l'ultimo aperto

 
MakarFX #:

Non ha ritardi, ma hai ragione comunque.

Ha una funzione di ricerca per l'ultimo aperto

Devi assemblare tutto in un array, ordinare per il parametro giusto e prendere dall'array per l'indice giusto.

 
Vitaly Muzichenko #:

Raccogli tutto in un array, ordinalo per il parametro giusto e prendilo dall'array per l'indice giusto.

Questo suona spaventoso anche a me)
 
MakarFX #:
A me sembra persino spaventoso)

E fai cose molto più spaventose di quelle che avresti potuto fare tu.

 
Artyom Trishkin #:

E fai cose molto più spaventose di quelle che avresti potuto fare tu.

Il problema è che non tutti vogliono sviluppare. Questo è abbastanza normale.

Beh, grazie a te, ho imparato qualche anno fa a usare la struttura e un array di struttura.

Il nuovo materiale, splendidamente presentato, chiede di essere studiato e applicato, i codici si rivelano molte volte più veloci e più belli. Non tutti usano queste funzioni.

 
Artyom Trishkin #:

E fai cose molto più spaventose di quelle che avresti potuto fare tu.

Può spiegarsi meglio, per favore? Quali cose spaventose ho fatto?