Domande da un "manichino" - pagina 208

 
talliy: Potete per favore dirmi come fare in modo che una variabile assuma un solo valore quando si verifica una certa condizione, piuttosto che per tutta la durata della condizione?
Puoi darmi più dettagli? La frase "e non per la durata della condizione" non è chiara.
 
Yedelkin:
E i dettagli? La frase "non per la durata della condizione" non è chiara.
Per esempio, quando si trova un certo bar. Questa barra nella matrice è, diciamo, la terza. Mentre questa barra è la terza nella verità variabile. È il terzo secondo il calendario. Dovremo fare una registrazione di questo nel registro. Ad ogni tick il numero di record aumenterà fino ad arrivare alla quarta barra. Quindi la domanda è come fare una volta l'assegnazione alla variabile verità e una volta soddisfare ulteriori condizioni, ma non con ogni tick fino a quando la variabile ha la verità.
 
Buongiorno, per favore consigliatemi. Ho firmato per un segnale sul vostro sito. Ma non sono sicuro di come stia venendo? E come verrà eseguito? Forse dovrei fare qualche impostazione in MT4 o è sufficiente il mio abbonamento, il mio numero di conto e il server del broker per copiare le transazioni? E se il mio computer fosse spento? Queste sono le domande.
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете - Документация по MQL5
 
talliy:
Per esempio, quando si trova un certo bar. Questa barra nella matrice è diciamo la terza. Finché questa barra è la terza nella verità variabile. È il terzo secondo il calendario. Dovremo fare una voce nel registro. Ad ogni tick il numero di record aumenterà fino ad arrivare alla quarta barra. Quindi ecco la domanda, come eseguire l'assegnazione simultanea della verità della variabile e l'adempimento simultaneo di ulteriori condizioni, e non con ogni tick fino a quando la variabile ha verità.
Forse intendete determinare il numero della barra che vi serve non ad ogni tick, ma solo quando appare una nuova barra? Cerca qui o cerca nel forum la combinazione di parole IsNewBar.
 
talliy: Per esempio, quando si trova una certa barra. Questa barra nella matrice è, diciamo, la terza. Finché questa barra è la terza, la variabile è vera. È il terzo secondo il calendario. Questo deve essere inserito nel diario. Ad ogni tick il numero di record aumenterà fino ad arrivare alla quarta barra. Quindi la domanda è come fare una sola volta l'assegnazione alla variabile verità e una sola volta soddisfare ulteriori condizioni, non con ogni tick fino a quando la variabile è vera.

In alternativa, inserite un'altra variabile alla quale assegnerete il valore true se la prima variabile viene mandata in stampa.

bool bar_printed=false;
...
if()                     //Проверяете нужное условие
  {
   ...
   if(!bar_printed)
     {
      Print("Нужное условие выполнено");
      bar_printed=true;
     }
  }
 

Salve, cari utenti e amministrazione, potreste per favore aiutarmi con il seguente problema. Ho deciso di testare il servizio di segnali di trading gratuiti https://www.mql5.com/ru/signals/mt4 Ho impostato i parametri come nelle istruzioni, ma non succede nulla. Ho inserito il registro con i seguenti errori:

2012.11.16 11:04:14 '340421': Signal - synchronization failed, processing of trade actions disabled
2012.11.16 11:04:14 '340421': Signal - synchronization terminated, cannot copy position [#37469421 buy 10.00 USDCHF at 0.9411 sl: 0.9231 tp: 0.0000]
2012.11.16 11:04:14 Symbol: no prices for symbol U‰`¤"B<u}{њWr1zzfußtљUYShchµtuNЏEDT'P}sh197XT¬n "zlss®VYЏ--¶ԛl
KЂSh 9ґnhuP©h_Yu6nzj-KSQr-ÏŽS<"MSHr©±ЇР'Ì$eљ*t6&SО
.y*'HushR"±,emkЊG€a!ÇV®jtvЉGLYkҐj>5ґ DP@mii!)'HDњE "јў®ћLF‡...¦aў;srI


qual è il problema della personalizzazione? Il mio broker è FBS

Торговые сигналы: MetaTrader 4
Торговые сигналы: MetaTrader 4
  • www.mql5.com
Торговые сигналы для MetaTrader 4 с автоматическим исполнением на вашем счете
 
Yedelkin:

In alternativa, inserite un'altra variabile alla quale assegnerete il valore true se la prima variabile viene mandata in stampa.

Nel caso che suggerisci, la variabile è falsa ad ogni tick e diventa vera dopo la stampa nel log. Poi c'è un nuovo tick e l'operatore onTick() esegue il suo programma dall'alto verso il basso. E lì la variabile è di nuovo falsa, e nella condizione se la variabile è falsa allora stampa. E quindi il registro è pieno di voci ad ogni spunta. Controllato!!!

Ho usato la funzioneTimeCurrent() per cercare di capire logicamente l'esecuzione del programma nella dichiarazione, ecco il codice:

Di conseguenza, vengono registrate solo le voci in cui il tick ha un tempo di 0 al minuto e 0 al secondo. È più complicato con l'orologio. L'unica cosa che cambia è il segnale orario. Mettere 0 servirà da filtro e produrrà una voce se il "martello" è a ore 00, il che è raro. Detto questo, il numero di registrazioni è diminuito, ma vuole ancora meglio.

  double r=0;
  double x=0;
  double z=0;
  double rr=0;
  double xx=0;
  double zz=0;
  double a=0;
  r = Open[1];
  x = Close[1];
  z = r - x;
  xx=Low[1];
  a=x-xx;
  zz = 2*z;
MqlDateTime secc;
bool logno = false;
  if (Open[3]<Close[3] && Open[2] <Close[2])         
    if (Open[1]==High[1]&&Close[1]<Open[1])
     if (a>=zz){
    /* if (!logno){
     Print ("На графике свечная модель -Молот");
     logno = true;}*/
     TimeCurrent(secc);
     while(secc.sec==0 && secc.min==0 && !IsStopped())
     {
 Print ("На графике свечная модель -Молот");
 break;
     
        }

Questo è un rapido tentativo di rappresentare e trovare il modello a candele "Hammer" sul grafico. A proposito, l'esempio con la variabile che è falsa è commentato anche qui.

Un modello di martello è: l'ombra inferiore è almeno 2 e al massimo 3 volte il corpo. L'ombra superiore è assente o molto corta (non più del 10% del range della candela). Il colore del corpo è irrilevante nel gioco a lungo termine; nel gioco a breve termine, il martello bianco è molto più forte di quello nero.

 

Vorrei anche chiarire come proibire a una variabile di muoversi dietro un prezzo.

Esempio: Una semplice pesca a strascico. Diciamo alla variabile di seguire il prezzo ad una distanza di 20 pip (per esempio). In altre parole, variabile = prezzo di offerta - 20 pip (supponendo che abbiamo comprato). Il prezzo sale e noi lo seguiamo con successo. Poi il prezzo scende e abbiamo bisogno che la variabile rimanga nel suo valore allo stesso livello.

Quindi la mia domanda è: come impediamo alla variabile di prendere un valore ad un certo punto?

 
paladin800:
Forse intendete determinare il numero della barra che vi serve, non ad ogni tick, ma solo quando appare una nuova barra? Cerca qui o cerca nel forum la combinazione di parole IsNewBar.

Grazie!!! Link utile!!! Tornerà utile in futuro.

Ma un po' fuori, però.... Si può pensare a un modo per aggirare anche questo.

 
talliy:

Nel caso che suggerisci, la variabile con ogni tick è falsa e diventa vera dopo l'esecuzione di una stampa del log. Poi un nuovo tick e l'operatore onTick() esegue il suo programma dall'alto verso il basso. E lì la variabile è di nuovo falsa, e nella condizione se la variabile è falsa allora stampa. E quindi il registro è pieno di voci ad ogni spunta. Controllato!!!

Ho usato la funzioneTimeCurrent() per cercare di capire logicamente l'esecuzione del programma nella dichiarazione, ecco il codice:

Di conseguenza, vengono registrate solo le voci in cui il tick ha un tempo di 0 al minuto e 0 al secondo. È più complicato con l'orologio. L'unica cosa che cambia è il segnale orario. Mettere 0 servirà da filtro e produrrà una voce se il "martello" è a ore 00, il che è raro. Allo stesso tempo il numero di registrazioni è diminuito, ma vuole ancora meglio.

Questo è un rapido tentativo di rappresentare e trovare il modello a candele "Hammer" sul grafico. A proposito, l'esempio con la variabile che è falsa è commentato anche qui.

Un modello di martello è: l'ombra inferiore è almeno 2 e al massimo 3 volte il corpo. L'ombra superiore è assente o molto corta (non più del 10% del range della candela). Il colore del corpo è irrilevante nel gioco a lungo termine; nel gioco a breve termine, il martello bianco è molto più forte di quello nero.


static bool logno = false;
Motivazione: