linea verticale (separatore di periodo)?

Sezione dedicata a metatrader (ed altre piattaforme) ed al suo linguaggio di programmazione per il trading automatico

Moderatore: Dainesi

linea verticale (separatore di periodo)?

Messaggioda corfurio » 11/01/2017, 18:29

Ciao.
Sapete gentilmente dirmi, come posso per creare, delle "v_line", da utilizzare come separatori di periodo (diciamo mensile), cosi rimuovo quelle di default della mt4.
Grazie

(la linea posso crearla, ma non capisco come interagire con la funzione che mi rileva il PRIMO giorno del mese)

Codice: Seleziona tutto
ObjectCreate("V-Line",OBJ_VLINE,0,???,0);
ObjectSet("V-Line",OBJPROP_COLOR,Line.Color);
ObjectSet("V-Line",OBJPROP_STYLE,Line.Style);
ObjectSet("V-Line",OBJPROP_WIDTH,Line.Width);
ObjectSet("V-Line",OBJPROP_BACK,false);
Allegati
sprm.JPG
sprm.JPG (74.04 KiB) Osservato 81 volte
corfurio
 
Messaggi: 21
Iscritto il: 25/11/2015, 17:35

Pubblicità

Pubblicità
 

Re: linea verticale (separatore di periodo)?

Messaggioda Dainesi » 15/01/2017, 11:33

Salve corfurio,

La funzione ObjectCreate richiede alcuni parametri che cambiano in base al tipo di oggetto che vuoi andare a creare. Nello specifico per una linea verticale ti si chiede solo P1 e T1, ovvero un prezzo ed una data. Ricorda che il prezzo lo devi passare in formato double mentre la data in formato datetime

Hai due tipi di funzioni ObjectCreate per cui fai attenzione a dove posizioni i parametri.

Codice: Seleziona tutto
bool  ObjectCreate(
   long          chart_id,      // chart ID
   string        object_name,   // object name
   ENUM_OBJECT   object_type,   // object type
   int           sub_window,    // window index
   datetime      time1,         // time of the first anchor point
   double        price1,        // price of the first anchor point
   ...
   datetime      timeN=0,       // time of the N-th anchor point
   double        priceN=0       // price of the N-th anchor point
   );
 
The function creates an object with the specified name, type, and the initial coordinates in the specified chart subwindow:

bool  ObjectCreate(
   string        object_name,   // object name
   ENUM_OBJECT   object_type,   // object type
   int           sub_window,    // window index
   datetime      time1,         // time of the first anchor point
   double        price1,        // price of the first anchor point
   datetime      time2=0,       // time of the second anchor point
   double        price2=0,      // price of the second anchor point
   datetime      time3=0,       // time of the third anchor point
   double        price3=0       // price of the third anchor point
   );
 


Per quanto riguarda il recupero della data di inizio mese sfrutta le funzioni native del linguaggio che, essendo scritte in c, sono più efficienti di qualsiasi routine possiamo scrivere in MQL:

Codice: Seleziona tutto
//Qui recupero la data di inizio del mese corrente (offset pari a Zero). Per altri mesi regola tu l'offset!
datetime dtMonthStart = iTime(Symbol(), PERIOD_MN1, 0);


corfurio ha scritto:Ciao.
Sapete gentilmente dirmi, come posso per creare, delle "v_line", da utilizzare come separatori di periodo (diciamo mensile), cosi rimuovo quelle di default della mt4.
Grazie

(la linea posso crearla, ma non capisco come interagire con la funzione che mi rileva il PRIMO giorno del mese)

Codice: Seleziona tutto
ObjectCreate("V-Line",OBJ_VLINE,0,???,0);
ObjectSet("V-Line",OBJPROP_COLOR,Line.Color);
ObjectSet("V-Line",OBJPROP_STYLE,Line.Style);
ObjectSet("V-Line",OBJPROP_WIDTH,Line.Width);
ObjectSet("V-Line",OBJPROP_BACK,false);
Avatar utente
Dainesi
 
Messaggi: 284
Iscritto il: 12/05/2014, 12:10
Località: Castellanza (VA)

Re: linea verticale (separatore di periodo)?

Messaggioda corfurio » 16/01/2017, 15:15

Grazie Dainesi, ho risolto, proprio grazie al tuo prezioso aiuto!
Buona giornata!!!
corfurio
 
Messaggi: 21
Iscritto il: 25/11/2015, 17:35


Torna a Metatrader - Expert Advisor - MQL

 


  • Discussioni correlate
    Risposte
    Visite
    Ultimo messaggio

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti