linea verticale (separatore di periodo)?

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

Moderator: Dainesi

Post Reply
corfurio
Posts: 21
Joined: 25/11/2015, 17:35

linea verticale (separatore di periodo)?

Post by 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)

Code: Select all

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);
Attachments
sprm.JPG
sprm.JPG (74.04 KiB) Viewed 110 times

User avatar
Dainesi
Posts: 290
Joined: 12/05/2014, 12:10
Location: Castellanza (VA)
Contact:

Re: linea verticale (separatore di periodo)?

Post by 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.

Code: Select all

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:

Code: Select all

//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 wrote: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)

Code: Select all

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);

corfurio
Posts: 21
Joined: 25/11/2015, 17:35

Re: linea verticale (separatore di periodo)?

Post by corfurio » 16/01/2017, 15:15

Grazie Dainesi, ho risolto, proprio grazie al tuo prezioso aiuto!
Buona giornata!!!

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest