Il grande e terribile MT4 per sempre (o come strategizzare una transizione) - pagina 30

 
in mt4 non posso comprimere il grafico verticalmente livelli di Fibonacci non vedere il grafico è limitato a 8000 pips))) come risolvere?
 

È una cosa strana da fare su Forti. Ecco la parte principale della chiusura della posizione.

  if(Trade.PositionClose(mSymbol))
  {
     // --- Введем задержку пока не получим номер сделки, но не более 2-х секунд
    int cnt = 0;
    ulong deal = 0;
    while(((deal = Trade.ResultDeal()) == 0) && cnt < 20) {Sleep(100); ++cnt;}
    
    if(deal == 0)
    {
      ulong ttOrder = Trade.ResultOrder();
      if(HistoryOrderSelect(ttOrder))
      {
        ENUM_ORDER_STATE state = ENUM_ORDER_STATE(HistoryOrderGetInteger(ttOrder, ORDER_STATE));
        LOG("После закрытия позиции № сделки=0, Order=" + string(ttOrder) + " state=" + EnumToString(state));
      }
      return false;
    }
  }

Ecco un estratto dal log dell'Expert Advisor, cioè è arrivato alla sezione in cui il deal ticket è zero dopo 20 iterazioni del controllo ResultDeal():


JL    0    10:08:04.462    e-MultiPattern-0.15 (RTS-9.21,M5)    cStoploss::sortSL12 Дистанция контртренд=0 BID=172690.0, закроем Short
JM   0    10:08:06.695    e-MultiPattern-0.15 (RTS-9.21,M5)     ** 333-cMyTrade::ClosePosition. После закрытия позиции № сделки=0, Order=16868286 state=ORDER_STATE_FILLED

Ecco un estratto dal log del terminale:

IG 0 10:08:04.465 Scambi '733618': scambio acquistare 2 RTS-9.21 a mercato
KN 0 10:08:04.480 Compravendite '733618': accettato scambio acquisto 2 RTS-9.21 a mercato
OQ 0 10:08:04.481 Compravendite '733618': scambio acquisto 2 RTS-9.21 a mercato piazzato per l'esecuzione

FG 0 10:08:04.517 Trades '733618': ordine #16868286 comprare 2 / 2 RTS-9.21 a mercato fatto in 52.326 ms
JN 0 10:08:04.517 Trades '733618': affare #3413752 comprare 2 RTS-9.21 a 172780 fatto (basato sull'ordine #16868286)

Si prega di consigliare chi ha una buona conoscenza della logica di trading di MT5. Nel registro del terminale l'immissione dell'ordine e la creazione dell'affare è avvenuta in un momento - 04.517 secondi.

Ma l'EA nel ciclo while non ha mai visto un trade ticket ed è uscito dopo 20 iterazioni a 06.695 secondi. Perché la struttura ha un biglietto d'ordine ma nessun biglietto di accordo?

Come è garantito ottenere un biglietto di scambio, specialmente se si usa una chiusura parziale?

 
Vasiliy Pushkaryov ottenere un biglietto di transazione, specialmente se si usa una chiusura parziale?

Non può essere spiegato facilmente perché ci sono molte insidie. Ha scritto una soluzione che permette agli utenti di lavorare senza problemi. Ma l'analisi dell'implementazione interna è per intenditori speciali.

 
Fate un tester adeguato per mt4 e in un paio d'anni mt5 sarà dimenticato
 
Dmitry Fedoseev #:

E in tutta serietà...?

Il thread "Umorismo" qui

La compatibilità bottom-up è uno dei requisiti di base del software. Il codice di una versione precedente deve essere adeguatamente percepito da quella successiva. Altrimenti, lo sviluppatore semplicemente butta via lo sviluppo precedente e ne introduce uno nuovo. La strada verso il nulla.

Sono assolutamente d'accordo che c'è bisogno (prima di tutto, per gli sviluppatori) di compilare il codice MQL4 in codice MQL5.

 
Vladimir Baskakov #:
Fate un tester adeguato per mt4 e in un paio d'anni mt5 sarà dimenticato da tutti

Baskakov, e la figlia usa MT5, il famigerato...

 
Le ho promesso un indicatore sei mesi fa e non l'ho mai fatto.
 
fxsaber #:

Se ResultDeal è zero, sarà ancora zero dopo un milione di iterazioni nel ciclo, perché è un parametro invariante.

Perché l'ordine a mercato piazzato è il risultato di OrderSend.

Non è molto chiaro. Nella guida alla struttura di MqlTradeResult , dice

Se la chiusura ha restituito un biglietto d'ordine ma non c'è un biglietto d'ordine, è una transazione di tipo TRADE_ACTION_PENDING?

Oppure TRADE_ACTION_DEAL e il biglietto commerciale può essere "in ritardo" e non incluso nella struttura?

Cioè, è meglio cercare un affare per ordine attraverso le funzioni HistorySelect?

 

E poi, mi dispiace, è un punto dolente. Per gli sviluppatori: smettete di sprecare spese folli e ingiustificate per la manutenzione di MT4, avete già metà dei vostri professionisti di alta classe che lo fanno.

Costruisci il compilatore MQL4-MQL5 una volta e concentrati sulle cose importanti. Raggiungi un primo posto stabile nella versione finale tra i tuoi concorrenti.

 
Vasiliy Pushkaryov #:

Non è molto chiaro. Nell'aiuto per la struttura MqlTradeResult è scritto

Se la chiusura ha restituito un biglietto d'ordine, ma non c'è un biglietto commerciale - è un tipo di transazione TRADE_ACTION_PENDING?

Oppure TRADE_ACTION_DEAL e il biglietto commerciale può essere "in ritardo" e non incluso nella struttura?

Cioè, è meglio cercare l'affare per ordine attraverso le funzioni HistorySelect?

Anche se il metodo PositionClose(Symbol) in SB assegna il tipo di transazione TRADE_ACTION_DEAL.

Si scopre che dovrebbe esserci un biglietto commerciale, ma spesso è assente.