Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1482

 
ANDREY:

Potreste dirmi come salvare un valore di 5 cifre di blu nella variabile gialla se il test è fatto su un grafico di un minuto?

Grazie

A cosa è uguale Lou?

if (Bid - iLow( NULL ,PERIOD_H4,1)>=0.0030||Bid - iLow( NULL ,PERIOD_H1,1)>=0.0030||Bid - iLow( NULL ,PERIOD_M30,1)>=0.0030)

questa espressione restituisce solo "vero" o "falso"

 
MakarFX:

A cosa corrisponde Lou?

questa espressione restituisce solo "vero" o "falso"

E dopo aver aperto un ordine, come facciamo a sapere quale delle 3 espressioni if è vera?
Grazie

 
ANDREY:

E dopo aver aperto un ordine, come faccio a sapere quale espressione di 3 da if è vera?
Grazie

In questa interpretazione non si può... si deve dividere

if (Bid - iLow( NULL ,PERIOD_H4,1)>=0.0030)
if (Bid - iLow( NULL ,PERIOD_H1,1)>=0.0030)
if (Bid - iLow( NULL ,PERIOD_M30,1)>=0.0030)

Non vedo il punto...
 
MakarFX:

Non con questa interpretazione... dobbiamo dividere

Non capisco il punto...

Ho un grafico a un minuto e un ordine è stato aperto usando una delle espressioni nella condizione. Come faccio a capire con quale espressione viene aperto l'ordine? Per esempio, se è secondo la prima espressione, allora io, per esempio, piazzo un ordine pendente di acquisto con uno dei suoi parametri; se è secondo la seconda espressione, allora piazzo un ordine pendente di acquisto con parametri diversi; se è secondo la terza espressione, allora piazzo un ordine pendente di vendita.

 
ANDREY:

Ho un grafico di un minuto e una delle espressioni nella condizione ha aperto un ordine. Come faccio a sapere con quale espressione si apre? Se uso la prima espressione, allora, per esempio, piazzo un ordine pendente di acquisto con uno dei suoi parametri; se uso la seconda espressione, allora piazzo un ordine pendente di acquisto con parametri diversi; se uso la terza espressione, allora piazzo un ordine pendente di vendita.

1) Ogni 4 ore, tutte e tre le condizioni saranno soddisfatte (quando appare un nuovo minimo).

2) Se vedi il punto, dividi

if (Bid - iLow( NULL ,PERIOD_H4,1)>=0.0030)
.....
else
if (Bid - iLow( NULL ,PERIOD_H1,1)>=0.0030)
.....
else
if (Bid - iLow( NULL ,PERIOD_M30,1)>=0.0030)
.....
 
MakarFX:

Cattura

C'è molto da imparare nell'approccio alla scrittura del codice. Un ringraziamento speciale per questo. Solo che avete ancora il legame orizzontale dell'oggetto testo per tempo all'ultima barra (DoTime = TimeCurrent()+(Period()*60*7). Come risultato, abbiamo l'effetto dello spostamento del testo, quando il grafico è spostato (screenshot). Voglio solo evitarlo e ancorare l'asse X al bordo destro dello schermo, diciamo 20 pixel. Cioè voglio che questa distanza rimanga invariata, sia quando si sposta la linea su/giù che quando si sposta il grafico. Finora non ha funzionato. In realtà tutto ciò che serve è una linea di codice che specifica la posizione del testo. Il resto lo capisco.

 
Oleksandr Nozemtsev:

C'è molto da imparare nell'approccio alla scrittura del codice. Un ringraziamento speciale per questo. Solo voi avete il legame orizzontale dell'oggetto testo per tempo all'ultima barra (DoTime = TimeCurrent()+(Period()*60*7). Come risultato, abbiamo l'effetto dello spostamento del testo, quando il grafico è spostato (screenshot). Voglio solo evitarlo e ancorare l'asse X al bordo destro dello schermo, diciamo 20 pixel. Cioè voglio che questa distanza rimanga invariata, sia quando si sposta la linea su/giù che quando si sposta il grafico. Finora non ha funzionato. In realtà tutto ciò che serve è una linea di codice che specifica la posizione del testo. Il resto lo capisco.

Si noti la conversione di tempo e prezzo in coordinate XY in pixel

bool  ChartTimePriceToXY(
   long           chart_id,     // идентификатор графика
   int            sub_window,   // номер подокна
   datetime       time,         // время на графике
   double         price,        // цена на графике
   int&           x,            // координата X для времени на графике
   int&           y             // координата Y для цены на графике
   );

Leggere il prezzo della linea, convertirlo in pixel e assegnare le coordinateall'oggetto Text Label sull'asse Y, mentre la coordinata dell'asse X rimane invariata.

 
MakarFX:

1) Ogni 4 ore avrete tutte e tre le condizioni soddisfatte (quando appare un nuovo minimo)

2) se vedete il punto, dividete

Grazie per il suggerimento.

Se non dividete le espressioni, ma le mettete in un operatore if()con || , allorasolo 1 condizione sarà eseguita - la prima da sinistra a destra, che sarà true.... se non mi sbaglio.

Ma da quanto ho capito, con questo formato sarebbe impossibile per il programma sapere quale particolare espressione è vera.
 
Oleksandr Nozemtsev:
Saluti! Per favore consigliate come legare un testo ad una linea in mql4, in modo che quando la linea viene spostata, anche il testo viene spostato,

Line And Text Indicator Ver 1

L'indicatore sposta il testo seguendo la linea. Inserisci il nome della linea nel parametro di input.

 
Alexey Viktorov:

Si noti la traduzione del tempo e del prezzo in coordinate XY in pixel

Esattamente!

Motivazione: