Studiate questo breve codice e potrebbe aiutarvi. Tutto è implementato in Canvas.
La cosa buona di Canvas è che per MT4 e MT5 il codice sarà quasi lo stesso.
Ciao, cari programmatori!
Per favore, date il vostro miglior consiglio:
...
Grazie ))
Disegnare su tela:
![Документация по MQL5: Стандартная библиотека / Пользовательская графика / CCanvas Документация по MQL5: Стандартная библиотека / Пользовательская графика / CCanvas](https://c.mql5.com/36/34/dokumentaciya-po-mql5-standartnaya.png)
- www.mql5.com
State pensando correttamente.
//подсчитывает количество пунктов цены в одном пикселе double GetPointsInPixel(long eChartId, int eWindow) { double eMin=EMPTY_VALUE; ChartGetDouble(eChartId,CHART_PRICE_MIN,eWindow,eMin); if(eMin==EMPTY_VALUE) return(0); double eMax=EMPTY_VALUE; ChartGetDouble(eChartId,CHART_PRICE_MAX,eWindow,eMax); if(eMax==EMPTY_VALUE) return(0); long ePixels=-1; ChartGetInteger(eChartId,CHART_HEIGHT_IN_PIXELS,eWindow,ePixels); if(ePixels<=0) return(0); return(double(eMax-eMin)/ePixels); }
double eIndent=GetPointsInPixel(eChartId,eWindow);
Poi aggiungi o sottrai questo valore al prezzo richiesto, quando gli eventi cambiano:
-cambiamento di orario,
-Aumento/diminuzione di un grafico,
-Riduzione della scala dei prezzi.
Studiate questo breve codice e potrebbe aiutarvi. Tutto è implementato in Canvas.
La cosa buona di Canvas è che per MT4 e MT5 il codice sarà quasi lo stesso.
Ok, grazie.)
Ops... Nikolai mi ha battuto sul tempo...
... ))))))La cosa principale è che i pensieri sono gli stessi ))))
Grazie )))))
State pensando correttamente.
double eIndent=GetPointsInPixel(eChartId,eWindow);
Poi aggiungi o sottrai questo valore al prezzo richiesto, quando gli eventi cambiano:
-cambiamento di orario,
-Aumento/diminuzione di un grafico,
-Riduzione/restringimento della scala dei prezzi.
Grazie ))))))))
Vitaliy Kostrubko:
State pensando correttamente.
double eIndent=GetPointsInPixel(eChartId,eWindow);
Poi aggiungi o sottrai questo valore al prezzo richiesto, quando gli eventi cambiano:
-cambiamento di orario,
-Aumento/diminuzione di un grafico,
-Riduzione/restringimento della scala dei prezzi.
Grazie ))))))))
E dite a quel misero consulente che deve iniziare a imparare la lingua, non gli esempi di ****coders.
E dite a quel misero consulente che deve iniziare a imparare la lingua, non gli esempi di ****coders.
Copia )))))
... Il tempo dimostra che anche 10 anni di esperienza di programmazione con una varietà di EA (diversi livelli di complessità) == non è sufficiente per conoscere l'intero campo della codifica)
perché durante questi 10 anni si può diventare un super-professionista in 2/3 del linguaggio di programmazione ... e non ne conosce affatto 1/3))
quindi non c'è bisogno di offendersi)) ma sta a voi padroneggiare questa parte 1/3 == è una questione individuale)).
.... è solo più interessato a "ALGORITMI astuti che portano PROFITTO... e scrivere "cartoni animati" non è il suo interesse ...
Ma il tuo esempio glielo mostrerò di sicuro)).
Grazie ))))
Prendilo )))))
... Il tempo dimostra che anche 10 anni di esperienza di programmazione con i più svariati EA (diversi livelli di complessità) == non è sufficiente conoscere l'area di codifica TOTALE)
perché durante questi 10 anni si può diventare un super-professionista in 2/3 del linguaggio di programmazione ... e non ne conosce affatto 1/3))
quindi non c'è bisogno di offendersi)) ma sta a voi padroneggiare questa parte 1/3 == è una questione individuale)).
.... è solo più interessato a "ALGORITMI astuti che portano PROFITTO... e i "cartoni animati" non sono il suo interesse ...
Ma il tuo esempio glielo mostrerò di sicuro )).
Grazie ))))
Non dovete fare riferimento a me. Questa opzione, anche se l'ho usata, non l'ho espressa. Stavo solo sostenendo il mio omonimo nella sua opinione.
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Ciao cari programmatori!
Per favore, date il vostro consiglio:
Facciamo un Expert Advisor sotto forma di indicatore! Il suo compito - cercare un PATTERN sul grafico, e sopra le barre scrivere un testo (multilinea (!), come
linea #1 "nome del segnale"
linea #2 "% di probabilità"
linea #3 "icona" (freccia)
Il problema è che SE si imposta una distanza FISSA tra le linee = ad esempio 25 pips, tutto va bene su m5 ... ma su H1 = le linee si allontanano troppo (questo è il problema con il testo fisso (!!!)
Per favore, ditemi come si può fare il "calcolo automatico" della distanza tra le linee quando si cambia il TF o l'"altezza" del grafico quando si sposta il grafico un po' a sinistra, o per altezza (????!!!)
..... solo una cosa mi viene in mente:
1) "ottenere" l'altezza attuale del grafico (prezzo minimo e massimo):
2) Prezzo massimo - Prezzo minimo = "altezza del grafico in pip" e lo prendiamo sempre come 100%.
3) invece di "distanza fissa tra le linee (25 pip) - specificare la distanza in percentuale (ad esempio il 2% dell'altezza del grafico dal punto 2))
..... ha parlato con un programmatore - dice == NON SPOSTARE GLI OGGETTI ... beh, non puoi farlo ....... per riorganizzare il testo a più righe in modo che non si sovrappongano l'un l'altro == devi cancellare tutto il testo dopo aver capovolto il grafico == cancellare tutto il testo, e riscriverlo di nuovo alla nuova altezza del grafico (punto 2) (!)
..... allora continuo a riflettere == OK, e se = fare il disegno SOLO nella GUIDA ALLO SCHERMO ???!
Ha detto = ok, i NUOVI segnali saranno scritti nel modo corretto, ma quelli che sono rimasti = = O di nuovo si adattano uno sopra l'altro, o viceversa = si allungano ancora di più (su e giù l'uno dall'altro) perché "non si possono spostare gli oggetti già disegnati, ma bisogna solo cancellarli, e ridisegnare di nuovo (!)
Domanda a voi = Qualcuno ha già incontrato un tale ??????? come ha risolto questo problema? )))
(in modo che a qualsiasi scala e altezza del grafico = il testo multilinea ritorna all'interlinea normale (se misurata con un righello visivamente == 3mm a occhio) ... cioè l'interlinea dovrebbe essere DINAMICA) ????? )))))))))
Solo che non voglio fare l'intera iscrizione in UNA linea, e con un angolo di 45° (!), perché è visivamente più conveniente fare il testo ORIZZONTALE, e in 2-3 linee :)
Per favore consigliate (condividete le vostre esperienze)
Grazie )).