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

 

Gente, consigli su come fare... Esempio - c'è un evento a 10 bar e 3 bar, cioè c'è A=Close[10] e B=Close[3], mi aspetto il prossimo dopo 7 (10-3) barre da 3 bar, cioè dopo 4 barre. Come posso visualizzare la data e l'ora di questo evento atteso nel commento?

 
kon12:

Gente, consigli su come fare... Esempio - c'è un evento a 10 bar e 3 bar, cioè c'è A=Close[10] e B=Close[3], mi aspetto il prossimo dopo 7 (10-3) barre da 3 bar, cioè dopo 4 barre. Come posso visualizzare la data e l'ora di questo evento atteso nel commento?

Comment( TimeToStr(Time[0]+PeriodSeconds()*3/* на 3 свечи вперёд */, TIME_DATE|TIME_MINUTES) );
 
Taras Slobodyanik:

Può funzionare anche per le chiavi.

Per l'evento CHARTEVENT_MOUSE_MOVE, il parametro stringa sparam contiene un numero che rappresenta le informazioni sullo stato della chiave:

Bit

Descrizione

1

Stato del pulsante sinistro del mouse

2

Stato del tasto destro del mouse

3

Stato del tasto SHIFT

4

Stato del tasto CTRL

5

Stato del pulsante centrale del mouse

6

Stato del primo pulsante aggiuntivo del mouse

7

Stato del secondo pulsante aggiuntivo del mouse


Funzionerà su mt4 ?? perché aiutare mt5 !?

Posso anche ottenere un pezzo di codice per esempio un avviso o una stampa premendo (contrl+A) perché non riesco a vedere o capire la differenza tra il mio avviso premendo e come selezionare la combinazione!?
 
LRA:

La tua terminologia è prendere, togliere, lavorare. Ecco un modo diverso di vedere la cosa. Voglio che le linee di Fibonacci appaiano sul grafico attivo premendo Ctrl-A. Se lo premi di nuovo, spariranno. Posso fare un Expert Advisor con la vostra funzione - ma deve essere appeso al grafico. Sto scrivendo una sceneggiatura:

Gli assegno la scorciatoia da tastiera richiesta! Provatelo!!!


Sì, tutto è ottimo solo che poi bisogna fare un bind sulle variabili nell'EA e nello script e l'emulazione della pressione in alcuni casi e come capite il fastidio in più quando si lega l'EA e lo script!

Sono consapevole dell'opzione di dare allo script una scorciatoia, ma non funziona per me!

 
Vitaly Muzichenko:

Grazie!

 
Игорь:

Funzionerà su mt4 ?? perché mt5 reference !??

Non vedo e non capisco la differenza tra il mio avviso quando premo il pulsante e la combinazione che ho premuto!

Allora, chi aiuterà i dastorbaiters? Mi sembra che siano tutti morti!

 
double mZz1[][8];
double mZz2[][8];
double mZz3[][8];
double mZz4[][8];   
double mZz5[][8];  

for (int a=1;a<6;a++)
   {
   double mMass[][8]==mZzа[][8];
   далее другой код по обработке массивов;
   }

Capisco che questo codice è sbagliato, per favore consigliate o correggete il codice per copiare o incollare mZz in mMass[][8] uno per uno.

 
Игорь:

Capisco che questo codice è sbagliato, per favore consigliate o correggete il codice per copiare o incollare mZz in mMass[][8] uno per uno.

Prova questo script
//#property strict
double mMass[16][8]; // Или задать колич-во элементов или использовать ArrayResize
double mZzа[][8]={3,7,4,9,2,5}; // Для простоты зададим
// Если массив описать внутри цикла, то ...
void start() 
{
   for (int a=1;a<6;a++) mMass[0][a]=mZzа[0][a];

   // Обработка
   string s;
   for (a=1, s="";a<6;a++) s+="  "+(string)mMass[0][a];
   Alert(s);
}
 
STARIJ:
Prova questo script

         case 55:{Stat();bar0=0;break;}
        }
//+------------------------------------------------------------------+
//|                  Сбор статистики                      |
//+------------------------------------------------------------------+
void Stat()
    {
    for(int a=1;a<6;a++){if(a==2){Statistic(mZz2,namZz2);}if(a==3){Statistic(mZz3,namZz3);}if(a==4){Statistic(mZz4,namZz4);}}
    }
//+------------------------------------------------------------------+
//|                     Сбор статистики                              |
//+------------------------------------------------------------------+
void Statistic(double &mMass[][],string NameZz)
    {
    int e,y0,y1,y2,y3,y4,y5,c1,c2,c3,c4,c5,d1,d2,d3,d4,d5,sving;
    if((PaintZz2==1)&&(PaintZz3==1)&&(PaintZz4==1))
    {if(NameZz==namZz2){printf("Подождите идет расчет статистики");}}
    else
    {printf("Включите для расчета статистики");}return;}
//----------------------------------------------
int handle;
         for(e=2; e!=ArrayRange(mMass,0); e++){switch((int)mMass[e][7]){//собираем статистику

Ecco un estratto del codice di lavoro! Come raccoglierlo in un void Statistic senza void Stat intermedio! Quello che suggerisci tu è che devo rielaborare tutto il codice per assemblare tutti gli array in uno solo e poi grattare via da lì!

 
Игорь:

Ecco un estratto del codice di lavoro! Come raccoglierlo in un void Statistic senza void Stat intermedio! Dovrei rielaborare tutto il codice per riunire tutti gli array in uno solo e grattarlo via da lì!

Consideriamo prima la linea

for(int a=1;a<6;a++){if(a==2){Statistic(mZz2,namZz2);}if(a==3){Statistic(mZz3,namZz3);}if(a==4){Statistic(mZz4,namZz4);}}

Per rendermelo più chiaro l'ho riscritto in questo modo

for(int a=1;a<6;a++)
{
   if(a==2){Statistic(mZz2,namZz2);}
   if(a==3){Statistic(mZz3,namZz3);}
   if(a==4){Statistic(mZz4,namZz4);}
}

Aha!!! Ora comincio a capire... Nel ciclo, la variabile a cambia da 1 a 6. Con valori di questa variabile 1, 5 e 6 non c'è azione. Poi solo

 Statistic(mZz2,namZz2);
 Statistic(mZz3,namZz3);
Statistic(mZz4,namZz4);

o nel tuo stile.

Statistic(mZz2,namZz2); Statistic(mZz3,namZz3); Statistic(mZz4,namZz4);

Il risultato sarà lo stesso, ma sarà più veloce.

Ora dovete sbarazzarvi della funzione Statistic? Dovete scrivere il suo corpo tre volte di seguito, sostituire i parametri formali in ciascuna delle tre parti con parametri reali e rimuovere le dichiarazioni di variabili duplicate. Il codice totale sarà un po' più lungo ma l'esecuzione sarà più veloce. Ha senso buttare fuori print() - chi esattamente in questo momento guarderà il registro dei messaggi? - O sostituirlo con Alert() per visualizzarlo sullo schermo. Inoltre, c'è una variabile namZz2 - il suo valore cambia?

Motivazione: