[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 649

 
7sintez:
Grazie mille a tutti voi per il vostro aiuto! I codici che non ho ancora usato - li ho copiati nel blocco note! Li esaminerò quando avrò il tempo! Grazie ancora e ancora e ancora Amici!


Potete usare le librerie di Igor Kim


//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает номер бара открытия последней позиции или -1.       |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   ("" или NULL - текущий символ)          |
//|    tf - таймфрейм                  (    0       - текущий таймфрейм)       |
//|    op - операция                   (   -1       - любая позиция)           |
//|    mn - MagicNumber                (   -1       - любой магик)             |
//+----------------------------------------------------------------------------+
int NumberOfBarOpenLastPos(string sy="0", int tf=0, int op=-1, int mn=-1) {
  datetime t;
  int      i, k=OrdersTotal();

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

 

È un po' più complicato di così.

 
r772ra:


Potete usare le librerie di Igor Kim

È un po' più complicato di così.


Ho già usato il tuo codice! Tutto funziona! Grazie!

 
Come si fa a rattoppare i buchi di quotazione con Mtqvotes o come si ricalcolano le quotazioni a minuto intero per tutti i TF?
 
Qwertee: Ok, un'altra cosa nel mio EA è questa ramificazione:

if(period=="M15")
{
//controllare per aprire buy
Alert(buysell);

se(buysell=="comprare")

Allarme(1);

.............

}

Fondamentalmente, if annidati. MA. la condizione if(period=="M15") è soddisfatta e Alert dà un risultato, e compra, ma la condizione if(buysell=="buy") non è soddisfatta e il comando Alert(1) non è nemmeno eseguito. Accidenti, ma entrambe le condizioni sono anche sintatticamente le stesse, ma perché una è eseguita e l'altra no?

Tecnicamente è semplice: buysell !"="buy" - quindi il prossimo Alert(1) non viene eseguito.

Ciò che la variabile buysel contiene in quel momento è scoperto da print: Print (buysell); dopo il primo Alert.

------------------------------------------------------------------------------------------------------------------------------------------------

Questo è il problema, se metto Print(buysell) invece di Alert(1) nel mio codice, buysell restituirà il valore buy, quindi cosa c'è di sbagliato?

 

C'è una funzione in cui uno dei parametri è un array: FunctionTest(double OneDimensionalArray[7]) ...

C'è una matrice tridimensionale: double Three-dimensionalArray[1][2][7].

Il compito è quello di inserire l'ultima dimensione della matrice tridimensionale come parametro in una funzione. Sto cercando di farlo, ma il compilatore si acciglia.

Lo faccio così: FunctionTest(ThreeDimensionalArray[0][0]) .

Potreste dirmi cosa sto sbagliando e come risolvere questo problema?

Grazie in anticipo.

 
artem179:

C'è una funzione in cui uno dei parametri è un array: FunctionTest(double OneDimensionalArray[7]) ...

C'è una matrice tridimensionale: double Three-dimensionalArray[1][2][7].

Il compito è quello di inserire l'ultima dimensione della matrice tridimensionale come parametro in una funzione. Sto cercando di farlo, ma il compilatore si acciglia.

Lo faccio così: FunctionTest(ThreeDimensionalArray[0][0]) .

Potreste dirmi cosa sto sbagliando e come risolvere questo problema?

Grazie in anticipo.

Si dice che Caterina la Grande abbia fatto fino a 4 errori in una parola di 3 lettere.

Non risolvere ancora un tale problema. Trova una soluzione più semplice...

 
tara:

Si dice che Caterina la Grande abbia fatto fino a quattro errori in una parola di 3 lettere.

Non risolvere ancora un tale problema. Trova una soluzione più semplice...


In linea di principio, ho già risolto in un altro modo. Ma è comunque interessante, almeno a livello puramente teorico. Dopo tutto, un array tridimensionale[0][0] dovrebbe essere un array unidimensionale, giusto? Se sì, come posso ottenere una matrice unidimensionale da una tridimensionale?
 
artem179:

In linea di principio, già risolto in un altro modo. Ma è comunque interessante, almeno a livello puramente teorico. Dopo tutto, three-dimensionalArray[0][0] dovrebbe essere un array unidimensionale? Se sì, come posso ottenere una matrice unidimensionale da una tridimensionale?

Guardando l'acquisto?
1. Gli array sono sempre statici

2. Non c'è bisogno di ottenerlo dal 3D, basta crearlo correttamente.

 
artem179:

In linea di principio, ho già risolto in un altro modo. Ma è comunque interessante, almeno a livello puramente teorico. Dopo tutto, un array tridimensionale[0][0] dovrebbe essere un array unidimensionale, giusto? Se sì, come ottenere una matrice unidimensionale da una tridimensionale?
Un array n-dimensionale è un array unidimensionale. È solo diviso in dimensioni per comodità.
 
E tu cosa ne pensi, Vadim? Quanto è comodo navigare in * misure? ))) Tuttavia, ho conosciuto persone che potevano contare le sfaccettature del tesseract nella loro testa. Ma non sono sicuro che questo abbia a che fare con i nostri problemi.
La questione è la formulazione del problema. Qui non ne hai bisogno. Unidimensionale, ovviamente.
Motivazione: