[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 227

 
anton777:

come questo? Perché non conosco i cicli.


for(int i=OrdersTotal()-1; i>=0;i--)
  {
     if(OrderSelect(i, SELECT_BY_POS)==true)
       {
          if(i==2)
            {
               int Ord_ticket=OrderTicket();
               Comment("Ord_ticket = ",Ord_ticket);
            }
       }
  }
 
Vinin:


ora non si chiude.

ecco la funzione dove potete mettere OrderClose() ?

//+-------------------------------------------------------------------------------------------+
//|  Описание : Возвращает цену открытия предпоследней открытой позиции или -1                |
//+-------------------------------------------------------------------------------------------+
//|  Параметры:                                                                               |
//|    sy - наименование инструмента   (""   - любой символ, NULL - текущий символ)           |
//|    op - операция                   (-1   - любая позиция)                                 |
//|    mn - MagicNumber                (-1   - любой магик)                                   |
//+-------------------------------------------------------------------------------------------+
double GetPrePricePos(string sy="", int op=-1, int mn=-1) {
  datetime o;
  double   l=-1;
  int      i, k=OrdersTotal()-1;

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (o<OrderOpenTime()) {
                o=OrderOpenTime();
                l=OrderOpenPrice();
              }
            }
          }
        }
      }
    }
  }
  return(l);
}


// Usate il tasto SRC //

 
È possibile fare in modo che l'indicatore faccia una ripetizione senza l'arrivo di un altro tick?
 

Per quanto ho capito, se ci sono più di 8 cifre decimali, i calcoli saranno automaticamente arrotondati per difetto a quelle 8 cifre decimali! È possibile aumentare questo valore?

 

In realtà, ci sono 15 cifre decimali significative. Ma un tale numero occupa 8 byte di memoria.
Perché avete bisogno di una precisione di calcolo così sorprendente (più di 8 cifre)?

 
MikeM:
È possibile fare in modo che l'indicatore esegua una ripetizione senza l'arrivo di un altro tick?
Script di servizio per MT4.
 
Lians:

Ho una domanda:

So che con gli EA e gli script si possono creare e modificare solo i file nella cartella experts/files.

1. Posso lavorare con i file nelle sottocartelle di questa cartella?

2. Se sì, puoi mostrare un esempio di come questo viene fatto nel codice?

O forse qualcuno ha una dll-case che permette di lavorare con file non in questa directory?

4. O forse chi conosce qualche software esterno per sincronizzare continuamente la cartella dei file da un'altra cartella sul computer?

1. Sì, è possibile.

2. Aggiungere un altro nome di cartella alla cartella dei file con una barra: files\mydirectory\myfile.dat

3. Ho una DLL, ma non l'ho ancora testata. Esiste una tale biblioteca.

4. Questo può e deve essere fatto con link simbolici o hard e soft. È più facile della sincronizzazione.

 
MikeM:

In realtà, le cifre decimali significative sono 15. Ma un tale numero occupa 8 byte in memoria.
Perché avete bisogno di una precisione di calcolo così sorprendente (più di 8 cifre)?

Cercando di lavorare con le matrici... Ho cercato di aggirare questo problema, ma viene ancora fuori. È un po' difficile da aggirare, perché le spiegazioni logiche delle azioni cominciano a perdersi.

Per quanto riguarda 15 cifre - controllato, normalmente solo 8 cifre decimali, quindi mi chiedo se è possibile estendere.

 
dzhini:

A proposito delle 15 cifre - ho controllato, solo 8 cifre decimali, quindi mi sto chiedendo se è possibile estenderlo.

Come avete controllato? Io ne prendo 15.

MikeM:
È possibile forzare l'indicatore a ridisegnare senza l'arrivo di un altro tick?
Ridisegnare cosa? Oggetti del grafico o aggiornamenti del grafico?

 
Zhunko:

Ridisegnare cosa? Oggetti grafici o un aggiornamento grafico?

Stiamo parlando di aggiornare i buffer degli indicatori e di ridisegnare i grafici degli indicatori, non di oggetti.