Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1381

 
Vitaly Muzichenko #:

Dipende dalla sequenza sovrapposta, l'ultima in alto

Definireprima il buffer conDRAW_FILLING

Sorprendentemente, ha funzionato! Pensavo che questo trucco fosse solo per i buffer di un indicatore, ma risulta essere lo stesso per tutti.

Grazie!

 
Vitaly Muzichenko #:

Grazie mille, proverò

 
I commenti non relativi a questo argomento sono stati spostati in "Domande dai principianti di MQL4 MT4 MetaTrader 4".
 

Ottimizzazione:

"Tutti i tick" e"Ogni tick basato su tick reali" sono la stessa cosa? Che è più credibile, se il test è in corso dal 2012


Nel primo caso il terminale scrive "96% di qualità storica", nel secondo "26% di tick reali".

 
Ivan Butko #:

Ottimizzazione:

"Tutti i tick" e"Ogni tick basato su tick reali" sono la stessa cosa? Che è più credibile, se il test è in corso dal 2012


Nel primo caso il terminale scrive "96% di qualità storica", nel secondo "26% di tick reali".

Leggete i registri - e vedrete da quale anno provengono le vere zecche. Di norma ci sono delle vere e proprie zecche per gli ultimi tre anni.

 
Vladimir Karputov #:

Leggete i registri - e vedrete da quale anno arrivano le vere zecche. Di solito ci sono delle vere e proprie zecche per gli ultimi tre anni.

Capisco, quindi i tic reali sono migliori, anche se dice 26% contro 96%. L'ultimo numero sembra più bello)

Puoi anche dirmi come selezionare l'ultimo tick nella storia? O l'ultimo scambio. Ho bisogno di sapere come si è chiuso: su stop o no.

Provando qualcosa, non funziona.

    int Last_deal_ticket = 0;
    for(int cnt=PositionsTotal()-1;cnt>=0;cnt--)
      {
        if(PositionSelectByTicket(PositionGetTicket(cnt)))
        if(PositionGetSymbol(cnt)==Symbol() && PositionGetInteger(POSITION_MAGIC)==Magic_number)
        Last_deal_ticket=PositionSelectByTicket(PositionGetTicket(cnt));
      }
    // потом, когда закроется, будет висеть с этим тикетом в истории
    // обращаемся к истории
    HistorySelectByPosition(Last_deal_ticket);
    if (HistoryDealGetString(Last_deal_ticket, (ENUM_DEAL_PROPERTY_STRING)DEAL_REASON)==DEAL_REASON_SL......... )


 
Ivan Butko #:

Capito, quindi i tic reali sono migliori, anche se dice 26% contro 96%. Quest'ultimo numero sembra più carino)

No, non capisci.

1. Le zecche vere danno l'immagine reale quando vengono testate.

2. Ma, devi usare le zecche reali a testa alta - devi guardare i registri per vedere da quale data ci sono zecche reali. Altrimenti, nel tuo caso dal 2012 al (più o meno 2018) vai "tutte le zecche", e solo allora vai "ogni zecca basata sulle zecche reali".

3. Inserisci il codice GIUSTAMENTE: Prima il pulsante Codice e poi inserisci il codice nella finestra pop-up!!!

 
Vladimir Karputov #:

No, non capisci.

1. I veri tic danno l'immagine reale quando vengono testati.

2. Ma, devi usare le zecche reali a testa alta - devi guardare i registri per vedere da quale data ci sono zecche reali. Altrimenti, nel tuo caso dal 2012 al (più o meno 2018) vai "tutte le zecche", e solo allora vai "ogni zecca basata su zecche reali".

3. Inserisci il codice GIUSTAMENTE: PRIMA il pulsante e poi inserisci il codice nel popup!!!

Capito, grazie

 
Ivan Butko #:


Puoi dirmi come selezionare l'ultimo biglietto nella cronologia? O l'ultimo scambio. Ho bisogno di sapere come si è chiuso: per arresto o no.

Sto provando qualcosa, non posso.

Ho afferrato l'ultimo trade nella storia e ho cercato di controllare come è stato chiuso

Print("Last deal close = ", HistoryDealGetInteger(Last_deal_ticket,DEAL_REASON)); 

Log

Ultima chiusura dell'affare = 3


Ho guardato la documentazione e c'è

Identificatore

Descrizione

MOTIVO_AFFARE_CLIENTE

L'affare è stato eseguito come risultato di un ordine attivato dal terminale desktop

MOTIVO_AFFARE_MOBILE

L'affare è stato eseguito come risultato di un ordine attivato dall'applicazione mobile

MOTIVO_AFFARE_WEB

L'affare è stato eseguito a seguito di un ordine effettuato dalla piattaforma web

ESPERTO DI AFFARI

Il trade viene eseguito come risultato di un ordine attivato dal programma MQL5 - Expert Advisor o script

DEAL_REASON_SL

L'operazione è stata eseguita come risultato di un ordine Stop Loss che ha fatto scattare


Prime 5 righe.

Non capisco cosa significa: se contiamo da 1, allora 3 èDEAL_REASON_WEB, che è sbagliato. Se da zero, alloraDEAL_REASON_EXPERT. Ma, poi non capisco ora come sapere in quale trade si è verificato lo stop loss.

Per favore aiutatemi.

 
Ivan Butko #:

Sembra aver catturato l'ultima transazione nella storia, provato a vedere come si è chiusa

Log

Biglietto_ultima_vendita = 3


Guardando la documentazione, c'è

ID

Descrizione

MOTIVO_AFFARE_CLIENTE

L'affare è stato eseguito come risultato di un ordine attivato dal terminale desktop

MOTIVO_AFFARE_MOBILE

L'affare è stato eseguito come risultato di un ordine attivato dall'applicazione mobile

MOTIVO_AFFARE_WEB

L'affare viene eseguito come risultato di un ordine effettuato dalla piattaforma web

ESPERTO DI AFFARI

Il trade viene eseguito come risultato di un ordine attivato dal programma MQL5 - Expert Advisor o script

DEAL_REASON_SL

L'operazione è stata eseguita come risultato di un ordine Stop Loss che ha fatto scattare


Prime 5 righe.

Non capisco cosa significa: se contiamo da 1, allora 3 èDEAL_REASON_WEB, che è sbagliato. Se da zero, alloraDEAL_REASON_EXPERT. Ma, poi non capisco ora come sapere in quale trade si è verificato lo stop loss.

Per favore aiutatemi.

State usando un'enumerazione ENUM_DEAL_REASON. Non dovete confrontare un enum con delle cifre, ma con un enum. Ecco un esempio che accede alla storia del commercio (anche se in OnTradeTransaction) e rileva l'attivazione di Stop Loss e Take Profit:

Esempio: tracciare l'attivazione di Stop Loss o Take Profit

How to start with MQL5
How to start with MQL5
  • 2020.09.17
  • www.mql5.com
This thread discusses MQL5 code examples. There will be examples of how to get data from indicators, how to program advisors...
Motivazione: