Domande dai principianti MQL4 MT4 MetaTrader 4 - pagina 258

 
OlgaKom #:

Ciao a tutti!

Qualcuno può dirmi come ottenere correttamente il valore del prezzo del tick e la dimensione del tick

Quando si ottiene questo per il simbolo

A volte i valori ricevuti differiscono da quelli reali.

Qualcuno sa con cosa ha a che fare questo?

Il 4 potrebbe non funzionare correttamente se la valuta del deposito non è USD e non ci sono conversioni richieste nella panoramica del mercato. Il prezzo del punto in valuta di deposito e i volumi di deposito semplicemente non possono essere calcolati, non ci sono dati.

Per essere buoni e corretti - se il deposito per esempio in RUB, allora TUTTE le coppie di rubli disponibili dovrebbero essere incluse. Ed è meglio tenere i depositi nelle principali valute, USD/EUR/JPY. I minori sono solo per il gusto di disperarsi.

PS/ Se il deposito non è in USD: lo strumento ha proprietà SYMBOL_CURRENCY_PROFIT,BASE,MARGIN - prima di scambiarlo/analizzarlo, aggiungere le coppie appropriate con ACCOUNT_CURRENCY, attraverso SymbolSelect(). In anticipo!

PPS/ Ho avuto una situazione simile solo in 4... solo che non avevo ancora conti esotici in 5 :-) Non dirò nulla in proposito

 

Non capisco perché i livelli di trading non vengono visualizzati su alcuni simboli e non c'è la possibilità di impostare il trading con un clic.

 
Ciao, ho una domanda sul terminale MT4. Lavoro con MT4 da diversi anni ormai, ma non ho mai incontrato una cosa del genere. Non so cosa fare quando sto lavorando sul mio PC e non l'ho sui terminali che sono su un server remoto.
 

Buon pomeriggio!!!!

Per favore, aiutatemi a cambiare una funzione che calcola solo le perdite degli ordini non redditizi in una griglia di ordini

//+----------------------------------------------------------------------------+
//| Калькуляция убыточных ордеров                                              |
//+----------------------------------------------------------------------------+
double Loss()
  {
   double oLoss = 0;
   for(int i = OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
           {
            if(OrderType() == OP_BUY || OrderType() == OP_SELL)
              {
               if(OrderProfit()<0)
                 {
                  oLoss += OrderProfit();
                 }
              }
           }
        }
     }
   return(oLoss);
  }

Abbiamo bisogno di cambiare la funzione che calcola solo la dimensione minima del lotto da ogni ordine nella rete di ordini. Lotto Min=0,01

Grazie!!!!

 

Buongiorno, ho appena iniziato a imparare MQL4 e sto cercando di sviluppare un Expert Advisor basato sui dati dell'indicatore renko bricks v2. Il problema è che EA con calcoli semplici sembra essere molto lento nel tester. Funziona ma funziona molto lentamente. Penso di essere abbastanza inesperto da scrivere sciocchezze, quindi chiedo aiuto ai ragazzi più anziani).

Linea di fondo. Expert Advisor scalper, fa trading su m1, aspetta il cambio di colore del mattone e apre un'operazione in direzione di un nuovo movimento. Allego di seguito il codice sorgente stesso advisor, e il turndown. Grazie in anticipo!

File:
 
Dmitri73 #:
Ciao, domanda sul terminale MT4. Lavoro con MT4 da qualche anno, ma non ho mai visto una cosa del genere. Non so perché continuo a ricevere questi strani segnali dai robot di trading e non sono sicuro se riuscirò a farli funzionare sul mio PC o meno.

Strano, qual è la costruzione?

 

Salve. Domanda per gli esperti di codifica, dato che non riesco a trovare una risposta alla mia domanda da nessuna parte. Sto usando la funzione for per cercare le candele, trovare la candela giusta e ottenere i dati da essa, ma in un'enumerazione di candele ce ne sono diverse, come faccio a ottenere la più vicina? Non riesco a trovarlo.

int SvechaVniz()
  {
   for( a=2; a<55; a++)
     {
      if(iClose(Symbol(),TF_1,a)<iOpen(Symbol(),TF_1,a))
        {
         dn=a;
         dn_o=iOpen(Symbol(),TF_1,dn);
         dn_h=iHigh(Symbol(),TF_1,dn);
         dn_l=iLow(Symbol(),TF_1,dn);
         dn_c=iClose(Symbol(),TF_1,dn);
         Print(dn);
         в переменную dn приходит несколько индексов свечей, как их перебрать и выбрать ближайший?
        }
     }
   return(0);
  }
 
Александр Вараксин #:

Salve. Domanda per gli esperti di codifica, dato che non riesco a trovare una risposta alla mia domanda da nessuna parte. Sto usando la funzione for per cercare le candele, trovare la candela giusta e ottenere i dati da essa, ma in un'enumerazione di candele ce ne sono diverse, come faccio a ottenere la più vicina? Non riesco a capirlo.

Se si inizia il ciclo dall'ultima candela, l'ultima "candela necessaria" sarà quella con l'indice più vicino.

for( a=55; a>2; a--)
 
Александр Вараксин #:

Salve. Domanda per gli esperti di codifica, dato che non riesco a trovare una risposta alla mia domanda da nessuna parte. Sto usando la funzione for per cercare le candele, trovare la candela giusta e ottenere i dati da essa, ma in un'enumerazione di candele ce ne sono diverse, come faccio a ottenere la più vicina? Non riesco a trovarlo.

Si può fare così:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   
Alert("индекс свечи = ",SvechaVniz(0)); 
   
  }
//+------------------------------------------------------------------+

int SvechaVniz( int n=0)
  {  
  int  k=0;
  
   for(int a=0; a<55; a++)
     {
      if(iClose(Symbol(),0,a)<iOpen(Symbol(),0,a))
        {
         k++;
         if (k>n) return(a);
        }
     }
   return(0);
  }

La funzione restituisce l'indice della candela di cui avete bisogno,

0 è il più vicino, 1 è il successivo.

 
Alekseu Fedotov #:

Si può fare così:

La funzione restituisce l'indice della candela desiderata,

0 è il più vicino, 1 il successivo.

Grazie, lo proverò.
Motivazione: