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

 
mersi:

La nuova conoscenza acquisita, nonostante il tempo personale speso, è il premio più prezioso.

Il miglior investimento è un investimento in conoscenze/competenze.

100% d'accordo. Quando hai intenzione di scrivere? Quando lo farai, ti darò altre idee per i premi. Oppure basta guardare nel ramo di Yusufkhoja - ci sono una tonnellata di premi. Investire nelle loro conoscenze e competenze.
 

Buon pomeriggio a tutti, ho questa piccola domanda: quanto è corretto passare il valore inverso di una variabile logica a una funzione utente? Per esempio:

bool X;

.........

MyFunction(!X);

 
Elenn:

Buon pomeriggio a tutti, ho questa piccola domanda: quanto è corretto passare il valore inverso di una variabile logica a una funzione utente? Per esempio:

bool X;

.........

MyFunction(!X);

Questo è normale.
 
Zhunko:
Questo è normale.

Grazie!
 

Pomeriggio Tutti, c'è un indicatore MA_In_Color_wAppliedPrice, come faccio a far uscire il segnale quando il colore cambia?-------------------------------------------------+

//-------Красить начинается по моему здесь..
      ExtMapBuffer3[i]=MA_Cur; //red 
      ExtMapBuffer2[i]=MA_Cur; //green
      ExtMapBuffer1[i]=MA_Cur; //yellow
      if (MA_Prev > MA_Cur)
        {
         ExtMapBuffer2[i]=EMPTY_VALUE;
        }
      else if (MA_Prev < MA_Cur)
           {
            ExtMapBuffer1[i]=EMPTY_VALUE; //-1 red/greem tight
           }
         else
           {
            ExtMapBuffer1[i]=EMPTY_VALUE;//EMPTY_VALUE;
            ExtMapBuffer2[i]=EMPTY_VALUE;//EMPTY_VALUE;
           }
     }
//----  

 
libeadier:

Pomeriggio Tutti, c'è un indicatore MA_In_Color_wAppliedPrice, come faccio a far uscire il segnale quando il colore cambia?-------------------------------------------------+

Ogni colore di indicatore ha il proprio buffer. Sondate i dati di ogni buffer nel vostro EA. Se un valore non vuoto (! EMPTY_VALUE) appare in uno dei buffer, indica l'apparizione di una linea del colore corrispondente (o nessuna linea - non vedo cosa disegna lì)
 
artmedia70:
Ogni colore dell'indicatore corrisponde al suo buffer. Polling dei dati di ogni buffer nell'EA. Se un valore non vuoto (! EMPTY_VALUE) appare in uno dei buffer, si parla dell'apparizione di una linea del colore corrispondente (o no - non vedo cosa ci disegna)
Fantastico, grazie.
 
VladislavVG:
100% d'accordo. Quando inizierai a scrivere? Mentre scrivi, ti darò altre idee di premi. Oppure basta guardare una filiale di Yusufhoja - ci sono un sacco di premi. Investire nelle loro conoscenze e competenze.

1. l'addestramento delle reti neurali è interessante. Sto aspettando un'idea.

2. Sfogliando i topic, ho notato che Yusufhoja è uno dei generatori di topic più "prolifici" qui. Quale dei suoi argomenti dovrei approfondire?

 

Si prega di suggerire il codice qui sotto per leggere il file di log. Legge automaticamente il file di registro corrente per data e lo invia alla stampante.

Dove:

while (result>0) {

Il file viene assemblato da parti. Ma non ho bisogno di tutto il file, solo dell'ultima riga. Aiuta a correggere, per favore.

void ReadWrite() {
   string tekTime=TimeStr1(CurTime(),1);
   string path=TerminalPath()+"\\logs\\"+tekTime+".log";
   string title="Чтение из файла";
   string msg;
   int result;
   int handle=_lopen(path,4);
   if (handle<0) {
      msg="Ошибка открытия файла";
      //MessageBox(msg,title,MB_OK|MB_ICONERROR);
      Print(msg);
      return;
   }
   result=_llseek (handle,0,0);
   string buffer="";
   //string char="x                      ";
   string char="x                                                                                                                                                                                                                                                         ";
   int count=0;
   result=_lread (handle,char,250);
   while (result>0) {
      buffer=buffer+char;
      char="x                                                                                                                                                                                                                                                         ";
      count++;
      result=_lread (handle,char,250);
   }
   result=_lclose (handle);
   msg=StringTrimRight(buffer);
   //MessageBox(msg,title,MB_OK|MB_ICONINFORMATION);
   Print(msg);
}

//------------------расчет времени----------------
string TimeStr1(int taim,int tip)
{
   string sTaim;
   string sTaim1,sTaim2,sTaim3;
   if (tip==1) 
   {
      int GD=TimeYear(taim);                  
      int MN=TimeMonth(taim);                  
      int DD=TimeDay(taim);  
      
      sTaim1 = DoubleToStr(GD,0);
      if (MN<10) sTaim2 = StringConcatenate(sTaim2,"0"+DoubleToStr(MN,0));
      else sTaim2 = StringConcatenate(sTaim2,DoubleToStr(MN,0));
      if (DD<10) sTaim3 = StringConcatenate("0",DoubleToStr(DD,0));
      else sTaim3 = DoubleToStr(DD,0);
      sTaim=sTaim1+sTaim2+sTaim3;
   }
   return(sTaim);
}
 

Ho notato una caratteristica specifica del terminale. Poiché il calcolo del profitto dell'ordine non considera l'OrderSwap(), voglio che chiuda l'ordine in una volta sola.


Cioè dobbiamo usare la seguente formula per chiudere l'ordine con un profitto:

(OrderProfit()+OrderSwap()+OrderCommission())>0

Non ho mai lavorato con la commissione e la commissione non è usata sulla demo, per questo non posso controllarla sul conto.

I miei calcoli sono corretti?
Motivazione: