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

 
Vovo4ka:

Ragazzi, ho fatto un contatore qui... determina il valore minimo per un periodo n... è corretto o no?

Di solito prima di usare

if (min<A)

le variabili sono inizializzate (con un valore iniziale)

 
Stells:


Questo è l'unico modo.

Ho messo immediatamente un takeprofit e uno stoploss.

Naturalmente si può aprire un ordine e poi modificarlo, ma ha sempre funzionato su A...ri.

Così sai esattamente dove scavare, ma ostinatamente pretendi dal tipo di account qualcosa che non funzionerà.... Beh, se è una questione di principio, allora puoi continuare ad insistere.

 
sergeev:

Quindi sai esattamente dove scavare, ma insisti nel pretendere qualcosa dal tipo di account che non funziona.... Beh, se è una questione di principio, puoi continuare a insistere.


quindi il punto è che altri EAs stanno sullo stesso conto e funzionano.

gli ordini vengono immessi sul mercato in una sola volta con TP e SL.

 
 
if(OrderMagicNumber( )== 1000||OrderMagicNumber( )== 2000){
Scusa per la domanda stupida, si scrive correttamente "e"?
 
Stells:


quindi il fatto è che ci sono altri EAs sullo stesso conto, e stanno lavorando.

gli ordini vengono immessi sul mercato immediatamente con TP e SL.


Hai provato a controllare le altre opzioni quando apri un ordine?
 
sergeev:

hai provato a controllare altre opzioni quando apri un ordine?
Cosa intende per parametri?
 
Sepulca:

Forse il problema è con i delimitatori. Controllate l'operatore int FileOpen( string filename, int mode, int delimiter=';') e il vostro file.
Il problema è nella lettura del file, i numeri sono piccoli. Forse il valore predefinito del doppio è inferiore al numero di cifre decimali, quindi vede 0,000 e sembra essere 0. Come controllare quante cifre decimali ci sono?
 

Per esempio, simbolo, lotto, direzione dell'ordine, prezzo aperto, slittamento, prezzo di stop, commento dell'ordine, magik, data di scadenza, colore della freccia.

Bisogna fare qualcosa e cambiare i parametri per arrivare al fondo del problema.

Bisogna fare qualcosa e cambiare i parametri per raggiungere la radice del problema.

Sei un programmatore o un passante?

 
orb:
No. Il problema con la lettura da un file è che i numeri lì sono piccoli. Forse il valore predefinito in double è inferiore al numero di decimali, quindi vede 0,000 e pensa che sia 0. Come si fa a controllare quanti decimali ci sono?

Non può essere, quattro cifre decimali di sicuro. L'array Histxmas[qq][0] è dichiarato come doppio?
 

C'è stata una discussione sull'esportazione di mq4 in *.csv e *.xls. Non lo capisco. Ho capito che prima devo creare un file, poi aprirlo, poi scriverci dei dati e, se necessario, salvarlo. Questo è nel file csv, e i loro comandi in https://docs.mql4.com/ru/files/FileWriteArray

Qualcuno può mostrarmi come esportare l'array zz_arr_Abs[] in entrambi i file usando un esempio reale. L'array deve essere scritto in colonne. O forse si può usare la bibliotheca descritta in https://forum.mql4.com/ru/44307

//+------------------------------------------------------------------+
//|                                                           ZZ.mq4 |
//|                      Copyright © 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//indikatoriaus zz kintamieji
extern int ExtDepth=12;
extern int ExtDeviation=5;
extern int ExtBackstep=3;

extern int Bars_count=240;                  //Is kiek baru skaiciuosime
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   if( !NewBar() ) return(0);
   double zz_arr[10000],zz_arr_Abs[10000];
   double preZz=0;
   int i,ii;
   for(i=0;i<=Bars_count;i++)
   {
       double zz = iCustom(NULL,0,"ZigZag",ExtDepth,ExtDeviation,ExtBackstep,0,i); 
      if(zz!=0)
      {
         if(preZz==0)
         {
            preZz=zz
            ;continue;
         }
        zz_arr[ii]=zz-preZz;
        preZz=zz;
        ii++;
        Print(zz_arr[ii-1]/Point, "    ii = ", ii - 1);
        zz_arr_Abs[ii-1]=MathAbs(zz_arr[ii-1]);                              //Надо экспортировать
        Print("                      ",zz_arr_Abs[ii-1]/Point, "    ii = ", ii - 1);
     }
  }
  
  ArrayResize(zz_arr,ii);
  Print("-------------------------------------------------");
//----
   return(0);
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Iaia?o?aiea iiaiai aa?a
//+------------------------------------------------------------------+
bool NewBar() 
  {
//----
   static datetime NewTime;               // A?aiy oaeouaai aa?a
   bool NewBar=false;                     // Iiaiai aa?a iao
   if( NewTime!=Time[0] )
     {
      NewTime=Time[0];                    // Oaia?u a?aiy oaeia
      NewBar=true;                        // Iieiaeny iiaue aa?
     }
//----
   return(NewBar);
  }
//+------------------------------------------------------------------+
Motivazione: