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

 
qual è il valore massimo di slittamento?
 
joo:
Provato diversi progetti - stesso problema.
Aggiungere un file .def. Ci sono molte differenze tra MT5 e MT4 a questo proposito, e per il meglio.
 
TheXpert:
Aggiungere un file .def. Ci sono molte differenze tra MT5 e MT4 a questo proposito, e per il meglio.

Aggiunto, non ha aiutato.

 

Ciao a tutti. Puoi dirmi come convertire la variabile int in stringa, in modo che la lunghezza della stringa sia sempre la stessa - 2 caratteri (solo che ho diverse due cifre e una cifra, ed è fastidioso). Consigli su ciò da cui correre, non chiedo una soluzione specifica:) Grazie in anticipo.


PS: In linea di principio, si può fare (se x < 10) e aggiungere uno zero a sinistra, ma forse c'è qualche funzione di conversione dati incorporata?

 
joo:

Aggiunto, non ha aiutato.

Probabilmente non l'ho aggiunto correttamente.
 

Amici, ditemi qual è la mia logica...

Linea di fondo:

 bool signal_MACD() 
  { 
    bool signal_MACD = false; //изначально сигнал стоит false
    double tmp = iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0); //это текущий бар MACD
    for(int i=1;i<=7;i++) //цикл for первый
    { 
      for(int j=2;j<=7;j++) //цикл for второй (я подозреваю, что именно в for у меня ошибка)
      {
            if((iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,j)*tmp)>0.0) //если текущий бар MACD находится по одну сторону с одним из баров MACD, сдвинутых на 2 назад
            { 
              if((iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,i)*tmp)<0.0) //если текущий бар MACD находится по разные стороны с одним из баров MACD, сдвинутых на 1 назад

              {
            
                 signal_MACD = true; 
                 break; 
            
              }   
            } 
      }      
    } 
    return(signal_MACD);
  } 

Cioè il MACD era su un lato di 0, poi è finito dall'altra parte ed è tornato di nuovo indietro. Il MACD sfonda la linea dello zero e torna indietro... ma nel tester di strategia, non è nemmeno vicino... la domanda è... Perché?

 
nadya:
Qual è il valore massimo di slittamento?

Di quanto avete bisogno?


Pyro:

Ciao a tutti. Potete per favore consigliare come convertire la variabile int in stringa, in modo che la lunghezza della stringa fosse sempre la stessa - 2 caratteri (solo lei ho diversi capita e a due cifre e a valore singolo, e infastidisce). consiglio su cosa eseguire da, non chiedo una soluzione specifica:) Grazie in anticipo.


PS: Fondamentalmente, si potrebbe fare (se x < 10) e aggiungere uno zero a sinistra, ma forse c'è qualche funzione di conversione dati incorporata?

Faccio sempre esattamente questo.
 
nemo811:
Non sto ridendo...

È solo che lo spread in momenti diversi della giornata e in giorni diversi può essere molto diverso. Quindi non c'è da ridere.
 
prorab:

Ho fatto qualcosa con il file modificabile <indicator.mq4>, o l'ho spostato da qualche parte o l'ho copiato con un nome diverso, ma dopo la compilazione, nella lista degli indicatori del terminale, il nome è diventato grigio e inattivo.

Tuttavia, l'indicatore è disponibile attraverso il menu laterale nella barra della finestra di sinistra nella "lista ad albero" e viene trascinato sul grafico.

Se vi siete imbattuti in una situazione del genere, consigliate come rimediare?

Sinceramente.

Non ci crederete!

La ragione era banale: troppi indicatori nella cartella <indicators>!

Una volta che ho spostato i *.mq4 inutili in <Arxiv>, riducendo il numero di indicatori nella cartella di 2/3, tutto funziona.

Chi l'avrebbe mai detto?

 
CLAIN:

Amici, ditemi qual è la mia logica...

Linea di fondo:

cioè il MACD era su un lato di 0, poi è finito dall'altra parte ed è tornato di nuovo indietro. Il MACD sfonda la linea dello zero e torna indietro... ma nel tester di strategia, non è nemmeno vicino... la domanda è... Perché?

for(int i=1;i<=7;i++) //цикл for первый
    { 
      for(int j=2;j<=7;j++) //цикл for второй (я подозреваю, что именно в for у меня ошибка)

dopo di che stampare i valori i e j e vedere cosa succede

Presumo che il secondo ciclo debba essere corretto da

for(int j=i+1;j<=7;j++)
Motivazione: