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

 
Aleksey Vyazmikin:

A cosa serve, in termini di punti intermedi tra le barre, puramente per estetica?

Non ho bisogno di punti intermedi, solo di punti sulle barre.

Aleksey Vyazmikin:

Creerei un buffer (per la parte superiore e inferiore del canale) per ogni barra, dove metterei gli estremi di tutti i cerchi sulla barra, la finestra per i test, a giudicare dalla figura, sarebbe max 10 barre e poi creerei questo indicatore, naturalmente, le ultime barre potrebbero essere overdraw.

Come posso disegnare questi estremi di tutti i cerchi su una barra?

 
Puoi tracciare una linea dal basso verso l'alto e fissare un punto in cui colpisce il primo oggetto che incontra?

 
multiplicator:

Non abbiamo bisogno di punti intermedi, solo di punti sulla barra.

Ma come devo definire gli estremi di tutti i cerchi sulla barra?

Bisogna tradurre i cerchi in pixel, a quanto pare... e poi è solo una questione di tecnica.

Naturalmente, si potrebbe diventare contorti e passare attraverso tutti gli oggetti sulla barra cercando il punto massimo/minimo, perché no.

 
multiplicator:

Ora ho bisogno di disegnare 2 linee rosse lungo il bordo superiore delle ellissi e lungo il bordo inferiore delle ellissi (come ho mostrato nell'immagine).



Qualcuno sa come farlo?

Studiare CCanvas

 
Aleksey Vyazmikin:

Dobbiamo convertire i cerchi in pixel.

è possibile?

Aleksey Vyazmikin:

Naturalmente, si potrebbe diventare contorti, e passare attraverso tutti gli oggetti sulla barra cercando il punto massimo/minimo, perché no.

è possibile cercare tutti gli oggetti che cadono su questa barra?
Il fatto è che i cerchi delle barre vicine possono entrare in questa barra e possono formare massimi/minimi.



Forse dovremmo costruire dei cerchi da piccole linee, come raccomandato qui. allora ci saranno tutti i punti.
 
Artyom Trishkin:

Studiare CCanvas

È possibile definire le coordinate dell'intersezione della linea con un oggetto grafico? (come qui )
 
multiplicator:

È possibile?

Puoi passare in rassegna tutti gli oggetti che cadono su questa barra?
Il punto è che i cerchi delle barre vicine possono entrare in questa barra e possono formare massimi/minimi.



Potrei dover costruire dei cerchi con piccole linee, come raccomandato.

È possibile convertire in pixel, non vedo ostacoli, ma non l'ho fatto io stesso.

Stavo pensando, la tua larghezza è sempre un multiplo dei tempi delle barre adiacenti, allora la variante che ho suggerito inizialmente dovrebbe funzionare. Forse non capisco qualcosa, ma ho tutti i dati, perché tu stesso hai costruito dei cerchi. Forse sarà necessario calcolare attraverso una proporzione, presentando il tempo come una frazione del raggio.

 

La classe CTrade ha due metodi PositionOpen e Buy, che si duplicano a vicenda, ma nessuno dei due ha un'impostazione di slippage.

Perché si fa così? Per quanto ho capito questo parametro può essere usato solo attraverso OrderSend, o c'è una variante più semplice?

 
psyman:

La classe CTrade ha due metodi PositionOpen e Buy, che si duplicano a vicenda, ma nessuno dei due ha un'impostazione di slippage.

Perché si fa così? Per quanto ho capito questo parametro può essere usato solo attraverso OrderSend, o c'è una variante più semplice?

Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade / SetDeviationInPoints
Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade / SetDeviationInPoints
  • www.mql5.com
Стандартная библиотека / Торговые классы / CTrade / SetDeviationInPoints - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
psyman:

La classe CTrade ha due metodi PositionOpen e Buy, che si duplicano a vicenda, ma nessuno dei due ha un'impostazione di slippage.

Perché si fa così? Per quanto ho capito, questo parametro può essere usato solo attraverso OrderSend o c'è una variante più semplice?

Sembra che prima di inviare una richiesta di trading si imposti lo slippage necessario nell'istanza della classe. O subito all'inizializzazione dell'EA - se non avete intenzione di cambiare il valore dello slippage ammissibile di volta in volta. Se volete cambiarlo prima di inviare la richiesta o dopo aver ricevuto l'errore, impostate un nuovo slittamento con questo metodo di classe.

Perché si fa così... Beh, qui si possono indovinare molte cose. Per esempio, dichiarate più istanze di CTrade e c'è un'istanza diversa per ogni personaggio. Naturalmente, può accadere che per ogni simbolo di impostare la propria dimensione di slittamento ammissibile - dopo aver creato un'istanza, si imposterà la dimensione richiesta di slittamento per ogni simbolo. Questo sarà sufficiente nella maggior parte dei casi.

Motivazione: