Proposta all'amministrazione e ai residenti locali - pagina 6

 
Фьючерсные объемы для МТ:

Mi unisco alla domanda: cosa fa schifo del codice nel primo post?

Su OOP. Non c'è solo molto materiale, ce n'è una tonnellata. Solo non su questo sito. E anche qui ce n'è un po'. Alcune persone sono semplicemente troppo pigre per fare una ricerca e uno studio adeguati.

Come minimo, funziona solo sulla fonte di alimentazione su cui è installato l'Expert Advisor....
 
Vladimir Pastushak:
Almeno, funziona solo sul simbolo su cui è installato l'Expert Advisor....

No, il codice è abbastanza buono. È solo che tu vuoi qualcosa da esso per cui non è stato progettato.

E questo sarà il più grande problema della vostra proposta in generale.

Molte cose possono essere scritte efficacemente in molti modi. Persone diverse valutano sia il compito che la soluzione, e i criteri per la sua efficacia, in modi diversi.

Per esempio, in MT è più importante per me avere un codice semplice che poterlo assemblare da mattoni universali.

 
Владимир:

Non preoccupatevi. Non è il mio mestiere.

Se vi chiedo di mostrarmi un esempio di scrittura di codice, dite: "Quanto tempo manca alla fine dell'intervallo di tempo?". È garantito al 100% che mi mandia fare in culo

o al reparto lavoro. Questo è solo per dare l'esempio!

Questo è ciò di cui hanno paura e che non vogliono fare. Ma le dita sono sempre tese.

Si può anche dire che la maggior parte di coloro che chiedono di mostrare il codice sono solo pigri, e sono troppo pigri per cercare nel codice base per trovare il codice "Quanto tempo manca alla fine del timeframe?

Non è interessante rivelarsi ai pigri)

 

Владимир:

VOLDEMAR ha ragione. I programmatori sono tutti diversi.

Artyom Trishkin 2015.05.31 11:27

//+----------------------------------------------------------------------------+
   datetime GetTimeLeft(string symbol, int timeframe) {return(60*timeframe+(iTime(symbol,timeframe,0)-TimeCurrent()));}
//+----------------------------------------------------------------------------+

Scelgo Artyom Trishkin.

Sono d'accordo, sarebbe fantastico se tutti fossero uguali...

E rispetto Artyom(artmedia70), ma in questo caso non posso scegliere lui... E la brevità del codice non è ancora una panacea.

Il codice conciso può essere insicuro e potenzialmente pericoloso...

iTime

Restituisce il valore del tempo di apertura della barra (specificato dal parametro shift) del grafico corrispondente.

datetime  iTime(
   string           symbol,          // символ
   int              timeframe,       // период
   int              shift            // сдвиг
   );

Parametri

simbolo

[Nome del simbolo. NULL significa simbolo corrente.

timeframe

[Periodo. Può essere uno dei valori dell'enumerazione ENUM_TIMEFRAMES. 0 significa periodo del grafico attuale.

turno

[Indice del valore del timeframe (spostamento relativo alla barra corrente del numero di barre indietro specificato).

Valore restituito

Valore del tempo di apertura della barra (specificato dal parametro shift) del grafico corrispondente o 0 in caso di errore. È necessario chiamare GetLastError() per ottenere maggiori informazioni sull'errore.


 

Forum per il trading, sistemi di trading automatico e test di strategia

Presentazioni all'amministrazione e alla gente del posto

Vladimir Pastushak, 2015.05.31 08:20

La domanda per voi è quale codice pensate sia più corretto?

1

void depth_trend()
  {
//--- определение индекса на покупку
   double rsi=iRSI(Symbol(),tf,period,PRICE_CLOSE,0);
   index_rsi = 0;
   if(rsi>90.0) index_rsi=4;
   else if(rsi>80.0)
      index_rsi=3;
   else if(rsi>70.0)
      index_rsi=2;
   else if(rsi>60.0)
      index_rsi=1;
   else if(rsi<10.0)
      index_rsi=-4;
   else if(rsi<20.0)
      index_rsi=-3;
   else if(rsi<30.0)
      index_rsi=-2;
   else if(rsi<40.0)
      index_rsi=-1;
  }

2

int refresh_depth_trend()
  {
   int    index_rsi=0;
   double rsi=iRSI(Symbol(),0,14,PRICE_CLOSE,0),up=60,dw=40;
   for(int i=1; i<=4; i++,up+=10,dw-=10)
      index_rsi=rsi>up ? i : rsi<dw ?(i*-1):index_rsi;
   return index_rsi;
  }

3

int refresh_depth_trend()
  {
   return MathFloor( MathAbs( (rsi-50.0)/10.0 - (rsi-50.0)*0.0001 ) ) * ((rsi>50)-0.5)*2;
  }

-- non ho testato ogni opzione per la correttezza -- ma assumendo che tutte e tre le opzioni siano identiche secondo i risultati -- allora ogni opzione è corretta

-- sulla concisione del codice -- quale opzione è più facile e veloce da modificare? -- quale variante, dopo il tempo, è più facile e veloce da affrontare logicamente e senza ulteriori spiegazioni?

 
Владимир:

Scelgo

Ecco perché i programmatori si sventolano le dita :) Non hai molto da scegliere e non l'hai capito. Nel mio file potete vedere un esempio di implementazione con la visualizzazione del tempo rimanente sul grafico al secondo. E questa funzione aggiornerà il timer solo alla prossima ricezione del tick, quando TimeCurrent() è aggiornato + il suo output deve essere in qualche modo realizzato, cioè dovremmo sovraccaricarlo con qualche breve codice. Nel mio esempio, tutto il ripieno con l'ottica di precisione è già presente, e TimeCurrent() è usato puramente per la sincronizzazione con il server :)
 
A proposito, TimeCurrent è una funzione molto pignola
 
E MQL5 haTimeTradeServer - molto interessante, ma non ho ancora avuto modo di usarlo
Документация по MQL5: Дата и время / TimeTradeServer
Документация по MQL5: Дата и время / TimeTradeServer
  • www.mql5.com
Дата и время / TimeTradeServer - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexander Puzanov:
Ecco perché i programmatori usano un ventaglio di dita :) Non avete davvero nulla da scegliere e non l'avete capito. Nel mio file c'è un esempio di implementazione con la visualizzazione al secondo del tempo rimanente sul grafico. E questa funzione aggiornerà il timer solo alla prossima ricezione del tick, quando TimeCurrent() è aggiornato + il suo output deve essere in qualche modo realizzato, cioè dovremmo sovraccaricarlo con qualche breve codice. Nel mio esempio, tutto il ripieno con l'ottica di precisione è già presente, e TimeCurrent() è usato puramente per la sincronizzazione con il server :)

Perché, stai inciampando su un "fan" delle mie dita?

Ti ho mostrato come sapere quanto tempo manca all'apertura della prossima candela in qualsiasi timeframe. Questo è tutto. La domanda era esattamente la stessa.

 
Cari programmatori, dove posso trovare un metodo di programmazione in µl, dove i programmi stabiliti nelle colonne exel sono usati direttamente e quindi l'intero programma exel è "guidato" nel µl?