Aiutami a capire il codice per favore!

 

Publi

Aiutami a capire il codice per favore!

 

Publi

Risultati da 1 a 5 di 5

Discussione: Aiutami a capire il codice per favore!

  1. #1
    ho iniziato a pendere il codice mql4, e mi sono imbattuto in questo codice:

    Codice inserito/*/* my_DailyOpen_indior/*/* Revisione 1.1 2005/11/13 Midnite/* Iniziale DailyOpen indior/* basato pm/* #property copyright Midnite #property link [email protected] # proprietà indior_chart_window #property indior_buffers 1 #property indior_color1 DodgerBlue #property indior_style1 2 #property indior_width1 1 double TodayOpenBuffer # 91; # 93 ;; extern int TimeZoneOfData = 0;/ ----------------------------------------------- ------------------- /| Funzione di inizializzazione dell'indiorità personalizzata |/ ----------------------------------------------- ------------------- int init () {SetIndexStyle (0, DRAW_LINE); SetIndexBuffer (0, TodayOpenBuffer); SetIndexLabel (0, Open); SetIndexEmptyValue (0,0.0); ritorno (0); }/ ---------------------------------------------- -------------------- /| Funzione di deinitializzazione dell'indumento di custodia |/ ----------------------------------------------- ------------------- int deinit () {return (0); }/ ---------------------------------------------- -------------------- /| Funzione di iterazione personalizzata dell'indiorità |/ ----------------------------------------------- ------------------- int start () {int lastbar; int counted_bars = IndiorCounted (); if (counted_barsgt; 0) counted_bars--; lastbar = Bars-counted_bars; DailyOpen (0, lastbar); ritorno (0); }/ ---------------------------------------------- -------------------- /| |/ ----------------------------------------------- ------------------- int DailyOpen (int offset, int lastbar) {int shift; int tzdiffsec = TimeZoneOfData * 3600; double barsper30 = 1.0 * PERIOD_M30Period ();/lt; lt; lt; lt; lt; lt; lt; lt; lt; lt; lt; lt; lt; lt; ----- ------ questa riga non mi è chiara ------- bool ShowDailyOpenLevel = True;/lastbar = barsperday 2;/assicurati di ch il daily open lastbar = MathMin (Bars-20 * barsper30-1, lastbar);/lt; lt; lt; lt; lt; lt; lt; lt; lt; ---- --- this this anche not clear ------- for (shift = lastbar; shiftgt; = offset; shift -) {TodayOpenBuffer # 91; shift # 93; = 0; if (ShowDailyOpenLevel) {if (TimeDay (Time # 91; shift # 93; -tzdiffsec)! = TimeDay (Ora # 91; shift 1 # 93; -tzdiffsec)) {//giorno cambia TodayOpenBuffer # 91; shift # 93 ; = Open # 91; shift # 93 ;; TodayOpenBuffer # 91; shift 1 # 93; = 0;/evita le scale nella riga} else {TodayOpenBuffer # 91; shift # 93; = TodayOpenBuffer # 91; shift 1 # 93 ;; }}} return (0); }

    può spiegare questo 2 righe di codice che cosa stanno facendo e come funzionano?

    Grazie in anticipo.



  2. #2
    ok sono riuscito a capire, ma perché in questa riga: lastbar = MathMin (Bars-20 * barsper30-1, lastbar); per quello che è il 20 e il -1 ?????????

  3. #3
    lo stesso autore dell'indior differente ma molto più chiaro: - Codice inserito/ ---------------------------------- -------------------------------- /| Daily.mq4 settimanale/| [email protected] |/| http://www.learncurrencytrading.com/fxforum/blogs/djindyfx/|/ ----------------------------------------------- ------------------- #property copyright [email protected] #property link http://www.learncurrencytrading.com/fxforum/blogs/djindyfx/#property indior_chart_window #property indior_buffers 2 #property indior_color1 Aqua #property indior_color2 Red/---- buffer double dailyopen # 91; # 93 ;; double weeklyopen # 91; # 93 ;; doppia linea; doppia d, w;/ ----------------------------------------------- ------------------- /| Funzione di inizializzazione dell'indiorità personalizzata |/ ----------------------------------------------- ------------------- int init () {//---- indiors SetIndexStyle (0, DRAW_LINE, STYLE_DOT, 1); SetIndexBuffer (0, dailyopen); SetIndexStyle (1, DRAW_LINE, STYLE_DASHDOT, 1); SetIndexBuffer (1, weeklyopen); stringa dopen, wopen; dopen = Daily Open; wopen = Weekly Open; IndiorShortName (dopen); IndiorShortName (wopen); SetIndexLabel (0, dopen); SetIndexLabel (1, wopen); SetIndexDrawBegin (0,1);/SetIndexDrawBegin (1,1);/---- return (0); }/ ---------------------------------------------- -------------------- /| Funzione di deinitializzazione personalizzata dell'indiorità |/ ----------------------------------------------- ------------------- int deinit () {//----/ObjectDelete (Weekly Open);/ObjectDelete (Daily Open);/---- return (0); }/ ---------------------------------------------- -------------------- /| Funzione di iterazione personalizzata dell'indiorità |/ ----------------------------------------------- ------------------- int start () {int counted_bars = IndiorCounted (); limite int, i;/---- if (counted_bars == 0) {//0/d = Period ();/if (dgt; 240) return (-1); ObjectCreate (Weekly Open, OBJ_HLINE, 0,0,0); ObjectCreate (Daily Open, OBJ_HLINE, 0,0,0); }/0 if (counted_barslt; 0) return (-1); limite = (Bar-counted_bars) -1; for (i = limit; igt; = 0; i--) {//0 if (1 == TimeDayOfWeek (Time # 91; i # 93 1! = TimeDayOfWeek (Time # 91; i 1 # 93; )) {//1 w = Open # 91; i # 93 ;; ObjectMove (Weekly Open, 0, Time # 91; i # 93;, line); }/2 if (TimeDay (Time # 91; i # 93! = TimeDay (Time # 91; i 1 # 93) {//3 d = Open # 91; i # 93 ;; ObjectMove (Daily Open, 0, Time # 91; i # 93;, line); }/3 weeklyopen # 91; i # 93; = w; dailyopen # 91; i # 93; = d; }/0/---- return (0); }/ ---------------------------------------------- -------------------- )

  4. #4
    Ho avuto alcune domande su cosa stava facendo IndiorCounted () e ho scritto un indio che ha il solo scopo di mostrare cosa restituisce IndiorCounted (). ?? qui:
    http://forum.mql4.com/47935. Sto pensando di passare dall'utilizzo di IndiorCounted () all'utilizzo della matrice Time [] e mantenendo l'ultimo elaborato in una variabile datetime statica per determinare quanto lontano risalire al calcolo.

  5. #5
    Citazione Originariamente Scritto da ;
    Ho avuto alcune domande su cosa stava facendo IndiorCounted () e ho scritto un indio che ha il solo scopo di mostrare cosa restituisce IndiorCounted (). ?? qui:
    http://forum.mql4.com/47935. Sto pensando di passare dall'utilizzo di IndiorCounted () all'utilizzo della matrice Time [] e mantenendo l'ultimo elaborato in una variabile datetime statica per determinare quanto lontano risalire al calcolo.
    ciao lukeb grazie per le informazioni, darò un'occhiata.

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
Il sito di forexmad utilizza cookie
Il sito di forexmad utilizza cookie, alcuni dei quali già installati. Per avere maggiori informazioni sui nostri cookie ti preghiamo di cliccare qui. Ti preghiamo di cliccare sul bottone a destra per accettare i nostri cookie. Se continui a navigare sul sito di forexmad assumeremo che sei d'accordo ad utilizzarli.