Currency Strength Meter (Basic) free

by TheNiatpac in category Trend at 20/04/2022
Description

The file is named 'Currency Strength Value'

  • Group A / B to display 8 major currencies' strengths;
  • Align all indicators at a setting DateTime (Reset-Time-Point);
  • Apply to only TimeFrame by time;

Pro version is now available. 

Notes:

Recommend USDJPY as BaseBar in the chart; 
Zoom to 5% for TimeFrame.1Minute as an intraday view, 4Minute for one week view;
Make sure to fill Reset-Time-Point within 1 or 2 days for an intraday view, within 5-10 days for one week view;

 

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
´╗┐using System;
using cAlgo.API;
using cAlgo.API.Internals;

//v1.01 Basic function;
//v2.01 Synchronize calculation with Pro version;
//v2.02 Optimise Calculation for Indicators;

namespace cAlgo
{
    [Indicator(IsOverlay = true, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
    public class CurrencyStrengthValue : Indicator
    {
        // * * * * *  * * * * *  * * * * *  * * * * *  * * * * * Basic Version * * * * *  * * * * *  * * * * *  * * * * *  * * * * * //
        [Parameter("Reset Date",    DefaultValue = "2030-12-31",    Group = "Alignment"     )] public string ResetDate  { get; set; }
        [Parameter("Reset Time",    DefaultValue = "22:59:00",      Group = "Alignment"     )] public string ResetTime  { get; set; }
        [Parameter("GROUP A",       DefaultValue = "True",          Group = "Ver. 2.02"     )] public bool   GroupA     { get; set; }
        [Parameter("GROUP B",       DefaultValue = "True",          Group = "Ver. 2.02"     )] public bool   GroupB     { get; set; }
        // = = = = =  = = = = =  = = = = =  = = = = =  = = = = = Basic Version END = = =  = = = = =  = = = = =  = = = = =  = = = = = //
        
        // * * * * *  * * * * *  * * * * *  * * * * *  * * * * * Basic Version * * * * *  * * * * *  * * * * *  * * * * *  * * * * * //        
        [Output("USD", LineColor = "DDFF0005", Thickness = 2, PlotType = PlotType.DiscontinuousLine)] public IndicatorDataSeries USD { get; set; } private readonly Color cl_USD = Color.FromHex("DDFF0005");
        [Output("EUR", LineColor = "DD1256FF", Thickness = 2, PlotType = PlotType.DiscontinuousLine)] public IndicatorDataSeries EUR { get; set; } private readonly Color cl_EUR = Color.FromHex("DD1256FF");
        [Output("GBP", LineColor = "DDB600FF", Thickness = 2, PlotType = PlotType.DiscontinuousLine)] public IndicatorDataSeries GBP { get; set; } private readonly Color cl_GBP = Color.FromHex("DDB600FF");
        [Output("CHF", LineColor = "DDC4C425", Thickness = 2, PlotType = PlotType.DiscontinuousLine)] public IndicatorDataSeries CHF { get; set; } private readonly Color cl_CHF = Color.FromHex("DDC4C425");
        [Output("AUD", LineColor = "DDCFA005", Thickness = 2, PlotType = PlotType.DiscontinuousLine)] public IndicatorDataSeries AUD { get; set; } private readonly Color cl_AUD = Color.FromHex("DDCFA005");
        [Output("NZD", LineColor = "DD00BF00", Thickness = 2, PlotType = PlotType.DiscontinuousLine)] public IndicatorDataSeries NZD { get; set; } private readonly Color cl_NZD = Color.FromHex("DD00BF00");
        [Output("CAD", LineColor = "DDFF21BF", Thickness = 2, PlotType = PlotType.DiscontinuousLine)] public IndicatorDataSeries CAD { get; set; } private readonly Color cl_CAD = Color.FromHex("DDFF21BF");
        [Output("JPY", LineColor = "DDB3B3B3", Thickness = 2, PlotType = PlotType.DiscontinuousLine)] public IndicatorDataSeries JPY { get; set; } private readonly Color cl_JPY = Color.FromHex("DDB3B3B3");    
        //
        //Symbol Names
        private readonly string s_EURUSD = "EURUSD", s_EURGBP = "EURGBP", s_EURAUD = "EURAUD", s_EURNZD = "EURNZD", s_EURCAD = "EURCAD", s_EURCHF = "EURCHF", s_EURJPY = "EURJPY";
        private readonly string s_GBPUSD = "GBPUSD",                      s_GBPAUD = "GBPAUD", s_GBPNZD = "GBPNZD", s_GBPCAD = "GBPCAD", s_GBPCHF = "GBPCHF", s_GBPJPY = "GBPJPY";
        private readonly string s_AUDUSD = "AUDUSD",                                           s_AUDNZD = "AUDNZD", s_AUDCAD = "AUDCAD", s_AUDCHF = "AUDCHF", s_AUDJPY = "AUDJPY";
        private readonly string s_NZDUSD = "NZDUSD",                                                                s_NZDCAD = "NZDCAD", s_NZDCHF = "NZDCHF", s_NZDJPY = "NZDJPY";
        private readonly string s_USDCAD = "USDCAD",                                                                                     s_CADCHF = "CADCHF", s_CADJPY = "CADJPY";
        private readonly string s_USDCHF = "USDCHF",                                                                                                          s_CHFJPY = "CHFJPY";
        private readonly string s_USDJPY = "USDJPY";
        //
        //Bars to load for Calculate : Defined at Initialize() 
        private Bars EURUSD, EURGBP, EURAUD, EURNZD, EURCAD, EURCHF, EURJPY;        
        private Bars GBPUSD,         GBPAUD, GBPNZD, GBPCAD, GBPCHF, GBPJPY;
        private Bars AUDUSD,                 AUDNZD, AUDCAD, AUDCHF, AUDJPY;
        private Bars NZDUSD,                         NZDCAD, NZDCHF, NZDJPY;
        private Bars USDCAD,                                 CADCHF, CADJPY;
        private Bars USDCHF,                                         CHFJPY;
        private Bars USDJPY;
        //
        //Index at OpenTime of LastBar of EachSymbol : Defined at Initialize() & Calculate() 
        private int in_EURUSD, in_EURGBP, in_EURAUD, in_EURNZD, in_EURCAD, in_EURCHF, in_EURJPY;
        private int in_GBPUSD,            in_GBPAUD, in_GBPNZD, in_GBPCAD, in_GBPCHF, in_GBPJPY;
        private int in_AUDUSD,                       in_AUDNZD, in_AUDCAD, in_AUDCHF, in_AUDJPY;
        private int in_NZDUSD,                                  in_NZDCAD, in_NZDCHF, in_NZDJPY;
        private int in_USDCAD,                                             in_CADCHF, in_CADJPY;
        private int in_USDCHF,                                                        in_CHFJPY;
        private int in_USDJPY;
        //
        //OpenPrice at ResetTimePoint of EachSymbol : Defined at Initialize()
        private double db_EURUSD, db_EURGBP, db_EURAUD, db_EURNZD, db_EURCAD, db_EURCHF, db_EURJPY;
        private double db_GBPUSD,            db_GBPAUD, db_GBPNZD, db_GBPCAD, db_GBPCHF, db_GBPJPY;
        private double db_AUDUSD,                       db_AUDNZD, db_AUDCAD, db_AUDCHF, db_AUDJPY;
        private double db_NZDUSD,                                  db_NZDCAD, db_NZDCHF, db_NZDJPY;
        private double db_USDCAD,                                             db_CADCHF, db_CADJPY;
        private double db_USDCHF,                                                        db_CHFJPY;
        private double db_USDJPY;
        //
        //Parameters for Calculate Indicators : Defined at Initialize()
        private bool   b_BfrRstPnt = true;                              //Switch (True: return if index before AutoScroll TimePoint)
        private double mp_NJp = 10000, mp_YJp = 100;                    //Pips Decimal Convertor
        private double G_GBP, G_USD, G_AUD, G_NZD, G_CAD, G_CHF, G_JPY; //G_EUR: No symbol is priced by EUR; GBP Prices at ResetTimePoint: Defined at Initialize()
        //
        //Parameters for Displaysetting: Defined at Initialize() 
        private DateTime dt_RstPnt, dt_AtoScr; //Reset TimePoint, Auto-Scroll TimePoint;        
        // = = = = =  = = = = =  = = = = =  = = = = =  = = = = = Basic Version = = = = =  = = = = =  = = = = =  = = = = =  = = = = = //


        protected override void Initialize()
        {
            // * * * * *  * * * * *  * * * * *  * * * * *  * * * * * Basic Version * * * * *  * * * * *  * * * * *  * * * * *  * * * * * //        
            //1.BasicParameters and Bars for EachSymbol
            dt_RstPnt = DateTime.Parse(ResetDate + " " + ResetTime).Add(-Application.UserTimeOffset); //Convert ResetTimePoint to ServerTime
            dt_AtoScr = dt_RstPnt.AddMinutes(-15);  //Calculate Auto-Scroll TimePoint (15 minutes before Reset-Time-Point)
            GetBarsForEachSymbols(Bars.TimeFrame);  //a.Load Bars for EachSymbol by Bar.TimeFrame        //
            UpdateSymbolsIndex(dt_RstPnt);          //b.Move Index (in_) to ResetTimePoint for EachSymbol//
            GetClosePricesAtResetPoint();           //c.Load ClosePrices of EachSymbols at ResetTimePoint//
            //
            //2.Get PipsValue-Ratio (to adjust contribution of price movement from EachSymbol), based on GBP prices at ResetTimePoint (G_EUR: No symbol is priced by EUR)
            G_GBP = 1; G_USD = 1/db_GBPUSD; G_AUD = 1/db_GBPAUD; G_NZD = 1/db_GBPNZD; G_CAD = 1/db_GBPCAD; G_CHF = 1/db_GBPCHF; G_JPY = 100/db_GBPJPY;
            //
            //3.Chart DisplaySettings
            Chart.ColorSettings.BullFillColor = Color.Transparent; Chart.ColorSettings.BullOutlineColor = Color.Transparent;    //Hide Bars(Bull) in Chart
            Chart.ColorSettings.BearFillColor = Color.Transparent; Chart.ColorSettings.BearOutlineColor = Color.Transparent;    //Hide Bars(Bear) in Chart    
            // = = = = =  = = = = =  = = = = =  = = = = =  = = = = = Basic Version = = = = =  = = = = =  = = = = =  = = = = =  = = = = = //

        }


        public override void Calculate(int index)
        {
            //1.Calculation only start from AutoScroll Point
            if (b_BfrRstPnt) {if (Bars.OpenTimes[index] < dt_AtoScr) { return; } else { b_BfrRstPnt = false; } }                                    //Basic Version

            //2.Calculate LastBar
            if (IsLastBar)
            {
                if (GroupA)                                                     //GroupA: 
                {   LastBarsGroupA(index);                                      //  Calculate indicator value, at LastBarClose of relevant symbols  //Basic Version   
                }
                if (GroupB)                                                     //GroupB: 
                {   LastBarsGroupB(index);                                      //  Calculate indicator value, at LastBarClose of relevant symbols  //Basic Version
                }
            }
            //3.Calculate History Bars
            else
            {
                UpdateSymbolsIndex(Bars.OpenTimes[index]);  //Get HistoryBar's Index# for EachSymbols                                               //Basic Version
                if (GroupA) HistoryBarsGroupA(index);       //GroupA: Calculate indicator value, at HistoryBar of relevant symbols                  //Basic Version
                if (GroupB) HistoryBarsGroupB(index);       //GroupB: Calculate indicator value, at HistoryBar of relevant symbols                  //Basic Version
            }

        }


        // * * * * *  * * * * *  * * * * *  * * * * *  * * * * * Basic Version * * * * *  * * * * *  * * * * *  * * * * *  * * * * * //        
        //GetBars for EachSymbol 
        private void GetBarsForEachSymbols(TimeFrame timeFrame)
        {
            EURUSD = MarketData.GetBars(timeFrame, s_EURUSD);  GBPUSD = MarketData.GetBars(timeFrame, s_GBPUSD);  AUDUSD = MarketData.GetBars(timeFrame, s_AUDUSD);  NZDUSD = MarketData.GetBars(timeFrame, s_NZDUSD);
            EURGBP = MarketData.GetBars(timeFrame, s_EURGBP);  GBPAUD = MarketData.GetBars(timeFrame, s_GBPAUD);  AUDNZD = MarketData.GetBars(timeFrame, s_AUDNZD);  NZDCAD = MarketData.GetBars(timeFrame, s_NZDCAD);
            EURAUD = MarketData.GetBars(timeFrame, s_EURAUD);  GBPNZD = MarketData.GetBars(timeFrame, s_GBPNZD);  AUDCAD = MarketData.GetBars(timeFrame, s_AUDCAD);  NZDCHF = MarketData.GetBars(timeFrame, s_NZDCHF);
            EURNZD = MarketData.GetBars(timeFrame, s_EURNZD);  GBPCAD = MarketData.GetBars(timeFrame, s_GBPCAD);  AUDCHF = MarketData.GetBars(timeFrame, s_AUDCHF);  NZDJPY = MarketData.GetBars(timeFrame, s_NZDJPY);
            EURCAD = MarketData.GetBars(timeFrame, s_EURCAD);  GBPCHF = MarketData.GetBars(timeFrame, s_GBPCHF);  AUDJPY = MarketData.GetBars(timeFrame, s_AUDJPY);  
            EURCHF = MarketData.GetBars(timeFrame, s_EURCHF);  GBPJPY = MarketData.GetBars(timeFrame, s_GBPJPY);                                                     USDCAD = MarketData.GetBars(timeFrame, s_USDCAD);
            EURJPY = MarketData.GetBars(timeFrame, s_EURJPY);                                                     USDCHF = MarketData.GetBars(timeFrame, s_USDCHF);  CADCHF = MarketData.GetBars(timeFrame, s_CADCHF);
                                                               USDJPY = MarketData.GetBars(timeFrame, s_USDJPY);  CHFJPY = MarketData.GetBars(timeFrame, s_CHFJPY);  CADJPY = MarketData.GetBars(timeFrame, s_CADJPY);
        }
        //
        //Update Index for EachSymbol at a GivenDateTime (HistoryBars)
        private void UpdateSymbolsIndex(DateTime dateTime)
        {
            in_EURUSD = EURUSD.OpenTimes.GetIndexByTime(dateTime);  in_GBPUSD = GBPUSD.OpenTimes.GetIndexByTime(dateTime);  in_AUDUSD = AUDUSD.OpenTimes.GetIndexByTime(dateTime);  in_NZDUSD = NZDUSD.OpenTimes.GetIndexByTime(dateTime);
            in_EURGBP = EURGBP.OpenTimes.GetIndexByTime(dateTime);  in_GBPAUD = GBPAUD.OpenTimes.GetIndexByTime(dateTime);  in_AUDCAD = AUDCAD.OpenTimes.GetIndexByTime(dateTime);  in_NZDCAD = NZDCAD.OpenTimes.GetIndexByTime(dateTime);
            in_EURAUD = EURAUD.OpenTimes.GetIndexByTime(dateTime);  in_GBPCAD = GBPCAD.OpenTimes.GetIndexByTime(dateTime);  in_AUDNZD = AUDNZD.OpenTimes.GetIndexByTime(dateTime);  in_NZDCHF = NZDCHF.OpenTimes.GetIndexByTime(dateTime);
            in_EURCAD = EURCAD.OpenTimes.GetIndexByTime(dateTime);  in_GBPNZD = GBPNZD.OpenTimes.GetIndexByTime(dateTime);  in_AUDCHF = AUDCHF.OpenTimes.GetIndexByTime(dateTime);  in_NZDJPY = NZDJPY.OpenTimes.GetIndexByTime(dateTime);
            in_EURNZD = EURNZD.OpenTimes.GetIndexByTime(dateTime);  in_GBPCHF = GBPCHF.OpenTimes.GetIndexByTime(dateTime);  in_AUDJPY = AUDJPY.OpenTimes.GetIndexByTime(dateTime);
            in_EURCHF = EURCHF.OpenTimes.GetIndexByTime(dateTime);  in_GBPJPY = GBPJPY.OpenTimes.GetIndexByTime(dateTime);                                                          in_USDCAD = USDCAD.OpenTimes.GetIndexByTime(dateTime);
            in_EURJPY = EURJPY.OpenTimes.GetIndexByTime(dateTime);                                                          in_USDCHF = USDCHF.OpenTimes.GetIndexByTime(dateTime);  in_CADCHF = CADCHF.OpenTimes.GetIndexByTime(dateTime);
                                                                    in_USDJPY = USDJPY.OpenTimes.GetIndexByTime(dateTime);  in_CHFJPY = CHFJPY.OpenTimes.GetIndexByTime(dateTime);  in_CADJPY = CADJPY.OpenTimes.GetIndexByTime(dateTime);
        }
        //
        //Get ClosePrices of EachSymbols at ResetTimePoint
        private void GetClosePricesAtResetPoint()
        {
            db_EURUSD = EURUSD[in_EURUSD].Close; db_GBPUSD = GBPUSD[in_GBPUSD].Close; db_AUDUSD = AUDUSD[in_AUDUSD].Close; db_NZDUSD = NZDUSD[in_NZDUSD].Close;
            db_EURGBP = EURGBP[in_EURGBP].Close; db_GBPAUD = GBPAUD[in_GBPAUD].Close; db_AUDCAD = AUDCAD[in_AUDCAD].Close; db_NZDCAD = NZDCAD[in_NZDCAD].Close;
            db_EURAUD = EURAUD[in_EURAUD].Close; db_GBPCAD = GBPCAD[in_GBPCAD].Close; db_AUDNZD = AUDNZD[in_AUDNZD].Close; db_NZDCHF = NZDCHF[in_NZDCHF].Close;
            db_EURCAD = EURCAD[in_EURCAD].Close; db_GBPNZD = GBPNZD[in_GBPNZD].Close; db_AUDCHF = AUDCHF[in_AUDCHF].Close; db_NZDJPY = NZDJPY[in_NZDJPY].Close;
            db_EURNZD = EURNZD[in_EURNZD].Close; db_GBPCHF = GBPCHF[in_GBPCHF].Close; db_AUDJPY = AUDJPY[in_AUDJPY].Close;                                     
            db_EURCHF = EURCHF[in_EURCHF].Close; db_GBPJPY = GBPJPY[in_GBPJPY].Close;                                      db_USDCAD = USDCAD[in_USDCAD].Close;
            db_EURJPY = EURJPY[in_EURJPY].Close;                                      db_USDCHF = USDCHF[in_USDCHF].Close; db_CADCHF = CADCHF[in_CADCHF].Close;
                                                 db_USDJPY = USDJPY[in_USDJPY].Close; db_CHFJPY = CHFJPY[in_CHFJPY].Close; db_CADJPY = CADJPY[in_CADJPY].Close;
        }
        //
        //Update Indicator-History-Value 
        private void HistoryBarsGroupA(int idx) //[Group A]
        {
            EUR[idx] = ( ( (EURUSD[in_EURUSD].Close-db_EURUSD)*G_USD + (EURGBP[in_EURGBP].Close-db_EURGBP)*G_GBP + (EURAUD[in_EURAUD].Close-db_EURAUD)*G_AUD + (EURNZD[in_EURNZD].Close-db_EURNZD)*G_NZD + (EURCAD[in_EURCAD].Close-db_EURCAD)*G_CAD + (EURCHF[in_EURCHF].Close-db_EURCHF)*G_CHF ) * mp_NJp + ( (EURJPY[in_EURJPY].Close-db_EURJPY)*G_JPY ) * mp_YJp );
            GBP[idx] = ( ( (db_EURGBP-EURGBP[in_EURGBP].Close)*G_GBP + (GBPAUD[in_GBPAUD].Close-db_GBPAUD)*G_AUD + (GBPNZD[in_GBPNZD].Close-db_GBPNZD)*G_NZD + (GBPUSD[in_GBPUSD].Close-db_GBPUSD)*G_USD + (GBPCAD[in_GBPCAD].Close-db_GBPCAD)*G_CAD + (GBPCHF[in_GBPCHF].Close-db_GBPCHF)*G_CHF ) * mp_NJp + ( (GBPJPY[in_GBPJPY].Close-db_GBPJPY)*G_JPY ) * mp_YJp );
            USD[idx] = ( ( (db_EURUSD-EURUSD[in_EURUSD].Close)*G_USD + (db_GBPUSD-GBPUSD[in_GBPUSD].Close)*G_USD + (db_AUDUSD-AUDUSD[in_AUDUSD].Close)*G_USD + (db_NZDUSD-NZDUSD[in_NZDUSD].Close)*G_USD + (USDCAD[in_USDCAD].Close-db_USDCAD)*G_CAD + (USDCHF[in_USDCHF].Close-db_USDCHF)*G_CHF ) * mp_NJp + ( (USDJPY[in_USDJPY].Close-db_USDJPY)*G_JPY ) * mp_YJp );
            CHF[idx] = ( ( (db_EURCHF-EURCHF[in_EURCHF].Close)*G_CHF + (db_GBPCHF-GBPCHF[in_GBPCHF].Close)*G_CHF + (db_AUDCHF-AUDCHF[in_AUDCHF].Close)*G_CHF + (db_NZDCHF-NZDCHF[in_NZDCHF].Close)*G_CHF + (db_USDCHF-USDCHF[in_USDCHF].Close)*G_CHF + (db_CADCHF-CADCHF[in_CADCHF].Close)*G_CHF ) * mp_NJp + ( (CHFJPY[in_CHFJPY].Close-db_CHFJPY)*G_JPY ) * mp_YJp );
        }
        private void HistoryBarsGroupB(int idx) //[Group B]
        {
            AUD[idx] = ( ( (db_EURAUD-EURAUD[in_EURAUD].Close)*G_AUD + (db_GBPAUD-GBPAUD[in_GBPAUD].Close)*G_AUD + (AUDNZD[in_AUDNZD].Close-db_AUDNZD)*G_NZD + (AUDUSD[in_AUDUSD].Close-db_AUDUSD)*G_USD + (AUDCAD[in_AUDCAD].Close-db_AUDCAD)*G_CAD + (AUDCHF[in_AUDCHF].Close-db_AUDCHF)*G_CHF ) * mp_NJp + ( (AUDJPY[in_AUDJPY].Close-db_AUDJPY)*G_JPY ) * mp_YJp );
            NZD[idx] = ( ( (db_EURNZD-EURNZD[in_EURNZD].Close)*G_NZD + (db_GBPNZD-GBPNZD[in_GBPNZD].Close)*G_NZD + (db_AUDNZD-AUDNZD[in_AUDNZD].Close)*G_NZD + (NZDUSD[in_NZDUSD].Close-db_NZDUSD)*G_USD + (NZDCAD[in_NZDCAD].Close-db_NZDCAD)*G_CAD + (NZDCHF[in_NZDCHF].Close-db_NZDCHF)*G_CHF ) * mp_NJp + ( (NZDJPY[in_NZDJPY].Close-db_NZDJPY)*G_JPY ) * mp_YJp );
            CAD[idx] = ( ( (db_EURCAD-EURCAD[in_EURCAD].Close)*G_CAD + (db_GBPCAD-GBPCAD[in_GBPCAD].Close)*G_CAD + (db_AUDCAD-AUDCAD[in_AUDCAD].Close)*G_CAD + (db_NZDCAD-NZDCAD[in_NZDCAD].Close)*G_CAD + (db_USDCAD-USDCAD[in_USDCAD].Close)*G_CAD + (CADCHF[in_CADCHF].Close-db_CADCHF)*G_CHF ) * mp_NJp + ( (CADJPY[in_CADJPY].Close-db_CADJPY)*G_JPY ) * mp_YJp );
            JPY[idx] = ( ( (db_EURJPY-EURJPY[in_EURJPY].Close)*G_JPY + (db_GBPJPY-GBPJPY[in_GBPJPY].Close)*G_JPY + (db_AUDJPY-AUDJPY[in_AUDJPY].Close)*G_JPY + (db_NZDJPY-NZDJPY[in_NZDJPY].Close)*G_JPY + (db_USDJPY-USDJPY[in_USDJPY].Close)*G_JPY + (db_CADJPY-CADJPY[in_CADJPY].Close)*G_JPY +              (db_CHFJPY-CHFJPY[in_CHFJPY].Close)*G_JPY ) * mp_YJp );
        }
        //
        //Update INdicator-CloseTick-Value 
        private void LastBarsGroupA(int idx)    //[Group A]
        {
            EUR[idx] = ( ( (EURUSD.LastBar.Close-db_EURUSD)*G_USD + (EURGBP.LastBar.Close-db_EURGBP)*G_GBP + (EURAUD.LastBar.Close-db_EURAUD)*G_AUD + (EURNZD.LastBar.Close-db_EURNZD)*G_NZD + (EURCAD.LastBar.Close-db_EURCAD)*G_CAD + (EURCHF.LastBar.Close-db_EURCHF)*G_CHF ) * mp_NJp + ( (EURJPY.LastBar.Close-db_EURJPY)*G_JPY ) * mp_YJp );
            GBP[idx] = ( ( (db_EURGBP-EURGBP.LastBar.Close)*G_GBP + (GBPAUD.LastBar.Close-db_GBPAUD)*G_AUD + (GBPNZD.LastBar.Close-db_GBPNZD)*G_NZD + (GBPUSD.LastBar.Close-db_GBPUSD)*G_USD + (GBPCAD.LastBar.Close-db_GBPCAD)*G_CAD + (GBPCHF.LastBar.Close-db_GBPCHF)*G_CHF ) * mp_NJp + ( (GBPJPY.LastBar.Close-db_GBPJPY)*G_JPY ) * mp_YJp );
            USD[idx] = ( ( (db_EURUSD-EURUSD.LastBar.Close)*G_USD + (db_GBPUSD-GBPUSD.LastBar.Close)*G_USD + (db_AUDUSD-AUDUSD.LastBar.Close)*G_USD + (db_NZDUSD-NZDUSD.LastBar.Close)*G_USD + (USDCAD.LastBar.Close-db_USDCAD)*G_CAD + (USDCHF.LastBar.Close-db_USDCHF)*G_CHF ) * mp_NJp + ( (USDJPY.LastBar.Close-db_USDJPY)*G_JPY ) * mp_YJp );
            CHF[idx] = ( ( (db_EURCHF-EURCHF.LastBar.Close)*G_CHF + (db_GBPCHF-GBPCHF.LastBar.Close)*G_CHF + (db_AUDCHF-AUDCHF.LastBar.Close)*G_CHF + (db_NZDCHF-NZDCHF.LastBar.Close)*G_CHF + (db_USDCHF-USDCHF.LastBar.Close)*G_CHF + (db_CADCHF-CADCHF.LastBar.Close)*G_CHF ) * mp_NJp + ( (CHFJPY.LastBar.Close-db_CHFJPY)*G_JPY ) * mp_YJp );
        }
        private void LastBarsGroupB(int idx)    //[Group B]
        {
            AUD[idx] = ( ( (db_EURAUD-EURAUD.LastBar.Close)*G_AUD + (db_GBPAUD-GBPAUD.LastBar.Close)*G_AUD + (AUDNZD.LastBar.Close-db_AUDNZD)*G_NZD + (AUDUSD.LastBar.Close-db_AUDUSD)*G_USD + (AUDCAD.LastBar.Close-db_AUDCAD)*G_CAD + (AUDCHF.LastBar.Close-db_AUDCHF)*G_CHF ) * mp_NJp + ( (AUDJPY.LastBar.Close-db_AUDJPY)*G_JPY ) * mp_YJp );
            NZD[idx] = ( ( (db_EURNZD-EURNZD.LastBar.Close)*G_NZD + (db_GBPNZD-GBPNZD.LastBar.Close)*G_NZD + (db_AUDNZD-AUDNZD.LastBar.Close)*G_NZD + (NZDUSD.LastBar.Close-db_NZDUSD)*G_USD + (NZDCAD.LastBar.Close-db_NZDCAD)*G_CAD + (NZDCHF.LastBar.Close-db_NZDCHF)*G_CHF ) * mp_NJp + ( (NZDJPY.LastBar.Close-db_NZDJPY)*G_JPY ) * mp_YJp );
            CAD[idx] = ( ( (db_EURCAD-EURCAD.LastBar.Close)*G_CAD + (db_GBPCAD-GBPCAD.LastBar.Close)*G_CAD + (db_AUDCAD-AUDCAD.LastBar.Close)*G_CAD + (db_NZDCAD-NZDCAD.LastBar.Close)*G_CAD + (db_USDCAD-USDCAD.LastBar.Close)*G_CAD + (CADCHF.LastBar.Close-db_CADCHF)*G_CHF ) * mp_NJp + ( (CADJPY.LastBar.Close-db_CADJPY)*G_JPY ) * mp_YJp );
            JPY[idx] = ( ( (db_EURJPY-EURJPY.LastBar.Close)*G_JPY + (db_GBPJPY-GBPJPY.LastBar.Close)*G_JPY + (db_AUDJPY-AUDJPY.LastBar.Close)*G_JPY + (db_NZDJPY-NZDJPY.LastBar.Close)*G_JPY + (db_USDJPY-USDJPY.LastBar.Close)*G_JPY + (db_CADJPY-CADJPY.LastBar.Close)*G_JPY +              (db_CHFJPY-CHFJPY.LastBar.Close)*G_JPY ) * mp_YJp );
        }        
        // = = = = =  = = = = =  = = = = =  = = = = =  = = = = = Basic Version = = = = =  = = = = =  = = = = =  = = = = =  = = = = = //

    }

}
Comments

ryderbellamy12 - April 26, 2022 @ 12:57

mapquest driving directions rhode island

TheNiatpac - April 29, 2022 @ 21:37

v1.11 Synchronize indicator calculation with Pro version;

among012a - May 05, 2022 @ 11:57

So glad I found this post, everything you share is so refreshing and amazing!

fireboy and watergirl

juliahenry230400 - May 07, 2022 @ 11:16

I often read a few of the post on your websit, and I like them a lot. I added it to my favorites blog site list and read it after. Please check out my site as well cookie clicker unblocked

5