OrglobalFx Ichimoku Multitimeframe free

by orglobalng in category Trend at 31/03/2022
Description

OrglobalFx Ichimoku Multitimeframe Display

Works on Renko Chart

 

 

Notification Publishing copyrighted material is strictly prohibited. If you believe there is copyrighted material in this section you may use the Copyright Infringement Notification form to submit a claim.
Formula / Source Code
Language: C#
Trading Platform: cAlgocTrader
/*
OrglobalFx Ichimoku MultitimeFrame Indicator with Color.

Contact:
Telegram: @orglobalng

For customizations.
E.g Telegram Alerts etc

*/


using System;
using cAlgo.API;
using cAlgo.API.Indicators;
using cAlgo.Indicators;
using System.Net;

namespace cAlgo.Indicators
{
    [Indicator(IsOverlay = true, TimeZone = TimeZones.EasternStandardTime, AccessRights = AccessRights.None)]
    public class _OFX_IND_111320210350_ICHI_MTF : Indicator
    {
//Timeframe Selection Parameter
        [Parameter("Timeframe1", DefaultValue = "Monthly", Group = "TimeFrame")]
        public TimeFrame Time_frame1 { get; set; }
        [Parameter("Timeframe2", DefaultValue = "Weekly", Group = "TimeFrame")]
        public TimeFrame Time_frame2 { get; set; }
        [Parameter("Timeframe3", DefaultValue = "Daily", Group = "TimeFrame")]
        public TimeFrame Time_frame3 { get; set; }
        [Parameter("Timeframe4", DefaultValue = "Hour4", Group = "TimeFrame")]
        public TimeFrame Time_frame4 { get; set; }
        [Parameter("Timeframe5", DefaultValue = "Hourly", Group = "TimeFrame")]
        public TimeFrame Time_frame5 { get; set; }
        [Parameter("Timeframe6", DefaultValue = "Minute15", Group = "TimeFrame")]
        public TimeFrame Time_frame6 { get; set; }



//Declarations
        public IchimokuKinkoHyo _ichi;
        public string lbal;

        protected override void Initialize()
        {
//Displays the Symbol name on the chart          
            Chart.DrawStaticText("symbol_label", SymbolName.ToString(), VerticalAlignment.Top, HorizontalAlignment.Left, Color.White);
        }

        public override void Calculate(int index)
        {
//Logic functions Usecase           
            logicfunction(Time_frame1);
            mycolor("a", "\n\n");

            logicfunction(Time_frame2);
            mycolor("b", "\n\n\n");

            logicfunction(Time_frame3);
            mycolor("c", "\n\n\n\n");

            logicfunction(Time_frame4);
            mycolor("d", "\n\n\n\n\n");

            logicfunction(Time_frame5);
            mycolor("e", "\n\n\n\n\n\n");

            logicfunction(Time_frame6);
            mycolor("f", "\n\n\n\n\n\n\n");
        }

//Bars function
        public Bars seriestf(TimeFrame _tf)
        {
            return MarketData.GetBars(_tf);
        }

//The Logic Function
        public void logicfunction(TimeFrame _tf)
        {
//SSL Initialization
            _ichi = Indicators.IchimokuKinkoHyo(seriestf(_tf), 9, 26, 52);

            //ichimoku
            var kijun = _ichi.KijunSen;
            var tensen = _ichi.TenkanSen;
            var chiku = _ichi.ChikouSpan;
            var sekuA = _ichi.SenkouSpanA;
            var sekuB = _ichi.SenkouSpanB;
//Kumo cloud            
            var cloudupper = Math.Max(sekuA.Last(26), sekuB.Last(26));
            var cloudlower = Math.Min(sekuA.Last(26), sekuB.Last(26));

            var price = seriestf(_tf).ClosePrices;

            var longpricekumo = price.Last(0) > cloudupper && sekuA.Last(0) > sekuB.Last(0);
            var shortpricekumo = price.Last(0) < cloudlower && sekuA.Last(0) < sekuB.Last(0);

//Tensen above Kijun or otherwise            
            var longtensenkijun = tensen.Last(0) > kijun.Last(0);
            var shorttensenkijun = tensen.Last(0) < kijun.Last(0);

//Chiku spann above /below price 26 bars behind            
            var longchikuprice = chiku.Last(1) > seriestf(_tf).HighPrices.Last(26);
            var shortchikuprice = chiku.Last(1) < seriestf(_tf).LowPrices.Last(26);

//Checks if the the kumo has flipped
            var longkumoflip = sekuA.Last(0) > sekuB.Last(0);
            var shortkumoflip = sekuA.Last(0) < sekuB.Last(0);

//Checks if price has crossed above/below the tensen provided that the tensen is above the kijun or otherwise           
            var shortpricetensen = price.Last(0) < tensen.Last(0) && tensen.Last(0) < kijun.Last(0);
            var longpricetensen = price.Last(0) > tensen.Last(0) && tensen.Last(0) > kijun.Last(0);

//Checks if price has crossed above/below the kijun      
            var longpricekijun = price.Last(0) > kijun.Last(0);
            var shortpricekijun = price.Last(0) < kijun.Last(0);

//Checks if kijun is greater or less than cloud
            var longkijuncloud = kijun.Last(0) > cloudupper;
            var shortkijuncloud = kijun.Last(0) < cloudlower;

//Conditions for bullish
// Current Upper ssl is greater/above current lower ssl. And the current bar on the timeframe is greater than the ssl lines
            if (longpricekumo && longchikuprice && longtensenkijun && longkumoflip && longkijuncloud)
            {
                lbal = "    " + _tf.ToString() + "  BULLISH";
            }
//Bear Condition. Inverse of Bullish
            if (shortpricekumo && shortchikuprice && shorttensenkijun && shortkumoflip && shortkijuncloud)
            {
                lbal = "    " + _tf.ToString() + "  BEARISH";
            }
//            
            else
            {
                lbal = "    " + _tf.ToString() + "  NEUTRAL";
            }
        }

//Function to change the color depending on the signal
        public void mycolor(string tlabell, string llbl)
        {
            if (lbal.Contains("BULL"))
            {
                Chart.DrawStaticText(tlabell, llbl + lbal, VerticalAlignment.Top, HorizontalAlignment.Left, Color.Green);
            }
            else if (lbal.Contains("BEAR"))
            {
                Chart.DrawStaticText(tlabell, llbl + lbal, VerticalAlignment.Top, HorizontalAlignment.Left, Color.Red);
            }
            else if (lbal.Contains("NEU"))
            {
                Chart.DrawStaticText(tlabell, llbl + lbal, VerticalAlignment.Top, HorizontalAlignment.Left, Color.Yellow);
            }
        }
    }
}
Comments

smithleo1890 - May 12, 2022 @ 11:26

Very good article. I'd want to thank you for taking the time and effort to write such an intriguing and instructive essay ovo game

0