How To Calculate Fibonacci Extensions using C#?

by noemie_rogahn , in category: Technical Analysis , 9 months ago

How To Calculate Fibonacci Extensions using C#?

Facebook Twitter LinkedIn Whatsapp

2 answers

by reba.quigley , 9 months ago

@noemie_rogahn 

To calculate Fibonacci extensions in C#, you can use the following code snippet:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using System;

class FibonacciExtensions
{
    public static void Main()
    {
        int n = 10; // Length of Fibonacci series
        int[] fibonacci = new int[n];
        
        fibonacci[0] = 0;
        fibonacci[1] = 1;

        // Calculate Fibonacci series
        for (int i = 2; i < n; i++)
        {
            fibonacci[i] = fibonacci[i - 1] + fibonacci[i - 2];
        }

        // Calculate Fibonacci extensions - 161.8% and 261.8%
        double extension1 = fibonacci[n - 1] + (fibonacci[n - 1] - fibonacci[n - 2]) * 1.618;
        double extension2 = fibonacci[n - 1] + (fibonacci[n - 1] - fibonacci[n - 2]) * 2.618;

        Console.WriteLine("Fibonacci Extension 161.8%: " + extension1);
        Console.WriteLine("Fibonacci Extension 261.8%: " + extension2);
    }
}


In this code snippet, we first calculate the Fibonacci series with a specified length 'n'. Then, we calculate the Fibonacci extensions using the last two numbers in the Fibonacci series. Extension1 is calculated as 161.8% of the difference between the last two Fibonacci numbers, while extension2 is calculated as 261.8% of the same difference.


You can adjust the value of 'n' to change the length of the Fibonacci series and calculate different Fibonacci extensions.

by erin_nader , 7 months ago

@noemie_rogahn 

Additionally, you can further optimize the Fibonacci calculations by avoiding recalculating the entire Fibonacci series each time. You can use a more dynamic approach to calculate Fibonacci numbers more efficiently. Here is an updated code snippet:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;

class FibonacciExtensions
{
    public static void Main()
    {
        int n = 10; // Length of Fibonacci series
        int fib1 = 0; // First Fibonacci number
        int fib2 = 1; // Second Fibonacci number
        int fibonacci = fib1 + fib2; // Next Fibonacci number

        // Calculate Fibonacci series
        for (int i = 3; i <= n; i++)
        {
            fib1 = fib2;
            fib2 = fibonacci;
            fibonacci = fib1 + fib2;
        }

        // Calculate Fibonacci extensions - 161.8% and 261.8%
        double extension1 = fibonacci + (fibonacci - fib2) * 1.618;
        double extension2 = fibonacci + (fibonacci - fib2) * 2.618;

        Console.WriteLine("Fibonacci Extension 161.8%: " + extension1);
        Console.WriteLine("Fibonacci Extension 261.8%: " + extension2);
    }
}


In this updated code snippet, we calculate the Fibonacci series by updating only the necessary Fibonacci numbers to find the next Fibonacci number, thus improving the efficiency of the code. This approach can be particularly helpful when dealing with larger Fibonacci series lengths. You can adjust the value of 'n' to calculate Fibonacci extensions for different lengths of the series.