Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 861

 
Artyom Trishkin:

Visualizzare i trade appartenenti alla posizione e vedere il loro volume.

Basta staccare tutti gli scambi di posizione trovati (proprietà di ciascuno) - capire cosa si deve cercare lì.

Grazie.

 

Ho bisogno di aiuto per creare un file, in particolare, specificando la posizione corretta per la sua conservazione.

Uso la versione portatile di MT5 e ho bisogno che il file venga creato nella cartella MT5\MQL5\Files, ma viene creato in MT5\Tester/Agent-127.0.0.1-3000\MQL5\Files durante l'inizializzazione in Strategy Tester.

   filename = (Dir=="" ? filename : Dir+"\\"+filename)+".csv";
   handle= Common ? FileOpen(filename,FILE_CSV|FILE_COMMON|FILE_READ|FILE_WRITE|FILE_SHARE_READ) :
                        FileOpen(filename,FILE_CSV|FILE_READ|FILE_WRITE|FILE_SHARE_READ);
 
Aleksey Vyazmikin:

Ho bisogno di aiuto per creare un file, in particolare, specificando la posizione corretta per la sua conservazione.

Uso la versione portatile di MT5 e ho bisogno che il file venga creato nella cartella MT5\MQL5\Files durante l'inizializzazione nello Strategy Tester, ma viene creato in MT5\Tester/Agent-127.0.0.1-3000\MQL5\Files.

Non c'è soluzione nel MQL puro. Dovete usare WinAPI. O a mano)))

Il modo in cui i file sono distribuiti è stato fatto appositamente per ragioni di sicurezza.

 
Ihor Herasko:

Non c'è soluzione nel MQL puro. Solo utilizzando WinAPI. O a mano)))

Questa distribuzione di file è stata fatta per ragioni di sicurezza.

L'ottimizzatore memorizza i dati non nella cartella degli agenti, ma nella cartellaMT5\MQL5\Files - non è logico.

 
if(crossed==1)
     {
      double sl=(InpStopLoss==0)?0.0:m_symbol.Bid()+ExtStopLoss;
      double tp=(InpTakeProfit==0)?0.0:m_symbol.Bid()-ExtTakeProfit;
      m_trade.Sell(InpLots,m_symbol.Name(),m_symbol.Bid(),
                   m_symbol.NormalizePrice(sl),
                   m_symbol.NormalizePrice(tp));
      datetime time=TimeCurrent();
      for(int i=0;i<4;i++)
        {

Come posso impostare un numero magico diverso per l'ordine da inserire in questo codice? Diverso da questo generico -

int OnInit()
//---
   m_trade.SetExpertMagicNumber(m_magic);
//---
 
ilyav:

Come posso impostare un numero magico diverso per l'ordine da inserire in questo codice? Diverso da questo generico -

Prima di inviare un ordine di apertura con un altro mago, esegui questa linea con il mago desiderato. Poi, riporta il mago al suo posto.
 
Si prega di consigliare come fare una funzione per impostare il numero di ordini richiesto! per esempio, per aprire un determinato numero di ordini senza più. in mql4
 
Questo è l'ultimo parametro della funzione OrderSend in MQL-4:

arrow_color=clrNONE[in] Il colore della freccia di apertura sul grafico. Se CLR_NONE - non c'è nessuna freccia. In MT5, la freccia è sempre visualizzata - non c'è un parametro corrispondente nella struttura MqlTradeRequest. Come lo affronta? È facile farlo sul tuo grafico. Tuttavia, se si apre un altro grafico per il simbolo, bisogna riprovare...


 
Лауреат:
Per favore consigliate come fare una funzione che imposti il giusto numero di ordini! Per esempio, voglio che apra gli ordini che abbiamo specificato ma non di più. in mql4
if(OrdersTotal() < OrdersMax) OrderSend(...); else Alert("Il numero richiesto di ordini è aperto");
 
Artyom Trishkin:
Prima di inviare un ordine di apertura con un altro mago, esegui questa linea con il mago desiderato. Poi, riporta il mago al suo posto.


if(crossed==1)
     {
      m_trade.SetExpertMagicNumber(m_magic2); // меняем мэджик на новый
      double sl=(InpStopLoss==0)?0.0:m_symbol.Bid()+ExtStopLoss;
      double tp=(InpTakeProfit==0)?0.0:m_symbol.Bid()-ExtTakeProfit;
      m_trade.Sell(InpLots,m_symbol.Name(),m_symbol.Bid(),
                   m_symbol.NormalizePrice(sl),
                   m_symbol.NormalizePrice(tp));
      m_trade.SetExpertMagicNumber(m_magic);  // меняем мэджик на оригинал
      datetime time=TimeCurrent();
      for(int i=0;i<4;i++)
        {
È corretto? Grazie