Calendar Function

Collapse
X
 
  • Ora
  • Show
Clear All
new posts
  • Smash
    Senior Member

    • Feb 2012
    • 351

    #1

    Calendar Function

    Visto che recentemente sul Forum è stato fatto cenno ad un possibile utilizzo in EasyScript di funzioni di calendario, vorrei condividere con voi il codice di queste Funzioni definite dall\'utente che al momento mi sembrano non ancora contemplate in EasyScript.
    Nel caso in cui invece lo fossero ed io non me ne fossi accorto, allora smentitemi pure!


    Per utilizzare le funzioni bisogna di volta in volta creare una nuova funzione


    Click image for larger version

Name:	0.png
Views:	2
Size:	69.6 KB
ID:	165161


    quindi inserire il codice e salvare il file con il nome opportuno.
  • Smash
    Senior Member

    • Feb 2012
    • 351

    #2
    Funzione Year

    Codice:
    # Restituisce il valore numerico dell\'anno a cui appartiene una certa data.
    # Esempio: per impostare che il calcolo inizi ad una data successiva all\'anno 2013
    # Year() > 2013
    # Restituisce TRUE quando Year() è maggiore del numero di anno impostato 2013
    
    
    SET A = DATE
    SET Year = INTPORTION(A / 10000)

    Salvare il file con il nome "Year"


    Click image for larger version

Name:	3.jpg
Views:	1
Size:	114.2 KB
ID:	156891

    Comment

    • Smash
      Senior Member

      • Feb 2012
      • 351

      #3
      Funzione Month

      Codice:
      # Restituisce il valore numerico del mese a cui appartiene una certa data.
      # Esempio: per impostare che il calcolo inizi ad una data successiva al mese di Agosto 
      # Month() > 8
      # Restituisce TRUE quando Month() è maggiore del numero di mese impostato 8
      
      
      SET A = DATE
      SET B = INTPORTION(A / 100)
      SET Month = MOD(B, 100)
      Salvare il file con il nome "Month"


      Click image for larger version

Name:	4.jpg
Views:	1
Size:	102.2 KB
ID:	156892

      Comment

      • Smash
        Senior Member

        • Feb 2012
        • 351

        #4
        Funzione Day

        Codice:
        # Restituisce il valore numerico del giorno a cui appartiene una certa data.
        # Esempio: per impostare che il calcolo inizi ad una data successiva al giorno 15 del mese
        # Day() > 15
        # Restituisce TRUE quando Day() è maggiore del numero di giorno impostato 15
        
        
        SET A = DATE
        SET Day = MOD(A, 100)
        Salvare il file con il nome "Day"


        Click image for larger version

Name:	5.jpg
Views:	1
Size:	106.8 KB
ID:	156893

        Comment

        • Smash
          Senior Member

          • Feb 2012
          • 351

          #5
          Funzione DayOfWeek

          Codice:
          # Restituisce il valore numerico del giorno della settimana a cui appartiene una certa data
          # secondo il seguente criterio:
          # 0 = Sunday
          # 1 = Monday
          # 2 = Tuesday
          # 3 = Wednesday
          # 4 = Thursday
          # 5 = Friday
          # 6 = Saturday
          
          
          # Esempio: per impostare che il calcolo inizi ad una data successiva al giorno Mercoledì
          # DayOfWeek() > 3
          # Restituisce TRUE quando DayOfWeek() è maggiore del numero di giorno della settimana impostato 3
          
          
          SET A = Month()
          SET B = Year()
          SET C = Day()
          SET YearCorr = IF(A < 3, B - 1, B)
          SET FirstMarch = MOD((YearCorr - 1900) + INTPORTION((YearCorr - 1900) / 4) + 4 , 7)
          
          
          SET B3 = 0
          SET B1 = IF(A = 1, 306, B3)
          SET B2 = IF(A = 2, 337, B1)
          SET B4 = IF(A = 4, 31, B2)
          SET B5 = IF(A = 5, 61, B4)
          SET B6 = IF(A = 6, 92, B5)
          SET B7 = IF(A = 7, 122, B6)
          SET B8 = IF(A = 8, 153, B7)
          SET B9 = IF(A = 9, 184, B8)
          SET B10 = IF(A = 10, 214, B9)
          SET B11 = IF(A = 11, 245, B10)
          SET B12 = IF(A = 12, 275, B11)
          
          
          
          
          SET D = FirstMarch + B12 + C
          
          
          SET DayOfWeek = MOD(D, 7) - 1
          Salvare il file con il nome "DayOfWeek"


          Click image for larger version

Name:	6.jpg
Views:	1
Size:	106.0 KB
ID:	156895

          NOTA: quest\'ultima funzione può funzionare soltanto qualora siano state create prima le altre 3 funzioni, in quanto vengono utilizzate nel suo codice!
          Last edited by Smash; 07-12-14, 19:09.

          Comment

          • Smash
            Senior Member

            • Feb 2012
            • 351

            #6
            Ne approfitto per segnalare che beeTrader ogni tanto fa qualche errore di calcolo con la funzione DayOfWeek, per qualche motivo che ignoro.

            Anche perchè i dati che sembrano sballati non sono mai riproducibili.

            Click image for larger version

Name:	7a.jpg
Views:	1
Size:	139.4 KB
ID:	156900

            Click image for larger version

Name:	7b.jpg
Views:	1
Size:	139.7 KB
ID:	156901

            Click image for larger version

Name:	7c.jpg
Views:	1
Size:	140.5 KB
ID:	156902
            Last edited by Smash; 07-12-14, 19:20.

            Comment

            • Andrea Cagalli
              Senior Member
              • Oct 2010
              • 3995

              #7
              Originariamente Scritto da Smash
              Ne approfitto per segnalare che beeTrader ogni tanto fa qualche errore di calcolo con la funzione DayOfWeek, per qualche motivo che ignoro.

              Anche perchè i dati che sembrano sballati non sono mai riproducibili.

              [ATTACH=CONFIG]17129[/ATTACH]

              [ATTACH=CONFIG]17130[/ATTACH]

              [ATTACH=CONFIG]17131[/ATTACH]
              Ciao caro,
              con la prossima release introdurremo le proprietà: DAY, DAYOFWEEK, MONTH, YEAR...così vai meglio.

              Ciao Ciao
              Last edited by Andrea Cagalli; 17-12-14, 16:22.
              Manuale beeTrader

              Comment

              • Smash
                Senior Member

                • Feb 2012
                • 351

                #8
                Originariamente Scritto da Andrea Cagalli
                Ciao caro,
                con la prossima release introdurremo le proprietà: DAY, DAYOFWEEK, MONTH, YEAR...così vai meglio.

                Ciao Ciao

                Ottimo!

                Grazie

                Comment

                Working...