Qual è il valore di un pixel?

 
Qual è il valore di un pixel sull'asse Y del grafico attuale?

Ho bisogno di questo valore per poter calcolare il valore di 600 pixel.

Questo perché voglio un livello di take profit di 600 pixel, e non 600 punti o 600 pip.

Voglio un livello di take profit uniforme su tutti i grafici, indipendentemente dai loro valori di punti o pip.

È il momento di fare trading in termini di pixel. Grazie in anticipo a qualcuno.
 
macpee:
Qual è il valore di un pixel sull'asse Y del grafico attuale? Grazie in anticipo.

Il valore? Un pixel non ha un "valore".

Che cosa intende?

 
macpee:
Qual è il valore di un pixel sull'asse Y del grafico attuale? Grazie in anticipo.
Penso che non sia nemmeno in Forex
È in photoshop ;)

Forse stai inviando a un altro sito web
 
Alain Verleyen:

Il valore? Un pixel non ha un "valore".

Cosa vuoi dire?

Se un pixel non ha un valore, come è possibile allora disegnare una linea utilizzando gli assi x e y (ovviamente queste variabili prendono valori in pixel) o creare pulsanti ecc. che utilizzano le coordinate?
 
double max_price  = ChartGetDouble(0,CHART_PRICE_MAX),
       min_price  = ChartGetDouble(0,CHART_PRICE_MIN);
long chart_height = ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS);
printf("1 pixel = %f",(max_price-min_price)/chart_height);
 
honest_knave:
double max_price  = ChartGetDouble(0,CHART_PRICE_MAX),
       min_price  = ChartGetDouble(0,CHART_PRICE_MIN);
long chart_height = ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS);
printf("1 pixel = %f",(max_price-min_price)/chart_height);
Grazie mille. Penso che questa sia una risposta migliore che devo cercare di usare.
 
macpee:
Se un pixel non ha un valore, come è possibile disegnare una linea usando gli assi x e y (ovviamente queste variabili prendono valori in pixel) o creare pulsanti ecc. che usano le coordinate?

Si veda: https://www.mql5.com/en/docs/chart_operations/chartxytotimeprice

Documentation on MQL5: Chart Operations / ChartXYToTimePrice
Documentation on MQL5: Chart Operations / ChartXYToTimePrice
  • www.mql5.com
Chart Operations / ChartXYToTimePrice - Reference on algorithmic/automated trading language for MetaTrader 5
 
macpee:
Se un pixel non ha un valore, come è possibile disegnare una linea utilizzando gli assi x e y (ovviamente queste variabili prendono valori in pixel) o creare pulsanti ecc. che utilizzano le coordinate?

Probabilmente vale la pena menzionare che ci sono 2 modi diversi di disegnare gli oggetti.

  • Usando tempo/prezzo... come OBJ_TREND e OBJ_TEXT
    • Questi oggetti si muoveranno lungo lo schermo quando si scorre il grafico a sinistra/destra/su/giù.
  • Usando i pixel X/Y... come OBJ_BUTTON e OBJ_LABEL
    • Questi oggetti non si muoveranno sullo schermo, anche se il grafico scorre.

A volte è necessario mischiarli, per esempio se si vuole disegnare un oggetto relativo al tempo sull'asse X e i pixel sull'asse Y.

In queste circostanze, vorrete usare ChartXYToTimePrice() o ChartTimePriceToXY() come suggerito da Marco.

 
Wow! Penso che questo dovrebbe essere molto utile. Grazie mille. La combinerò con la seguente funzione inversa:

bool  ChartTimePriceToXY(
   long           chart_id,     // Chart ID
   int            sub_window,   // The number of the subwindow
   datetime       time,         // Time on the chart
   double         price,        // Price on the chart
   int&           x,            // The X coordinate for the time on the chart
   int&           y             // The Y coordinates for the price on the chart
   );
 
Cercare di calcolare TP, SL ecc. usando i pixel sarebbe probabilmente inaffidabile. Lo zoom in o out influenzerebbe i calcoli. Che dire di uno schermo ad alta definizione con più dei DPI standard?

Ci potrebbe essere una barra molto grande all'estrema sinistra dello schermo, quando quella barra si sposta fuori dall'area visibile allora qualsiasi valore calcolato cambierebbe di nuovo mentre il grafico si adatta alla gamma totale.

E quando hai il terminale e/o le finestre di strategy tester aperte?

Non ci sarebbe niente di uniforme usando i pixel
 
macpee:
Wow! Penso che questo dovrebbe essere molto utile. Grazie mille. La combinerò con la seguente funzione inversa:

bool  ChartTimePriceToXY(
   long           chart_id,     // Chart ID
   int            sub_window,   // The number of the subwindow
   datetime       time,         // Time on the chart
   double         price,        // Price on the chart
   int&           x,            // The X coordinate for the time on the chart
   int&           y             // The Y coordinates for the price on the chart
   );
Secondo questa logica, qual è il prezzo alla coordinata pixel 0,0? E perché non è 0? E perché cambia quando si scorrono i dati nel terminale? E perché cambia quando si cambia la scala del grafico visualizzato o si cambia lo zoom del grafico? E perché cambia sugli stessi pixel quando si forma una nuova barra? E perché è diverso sulle stesse coordinate di pixel sul vostro terminale rispetto al mio? Usa i prezzi dove sono disponibili i prezzi, a meno che tu non abbia intenzione di scambiare i pixel
Motivazione: