Market Opening Time Grids free

by summer in category Other at 19/01/2021
Description

市場の開始時間のグリッドを表示します。

線の色を変えたい場合はこの一覧にある色の名前を入力してください。

 

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;
using cAlgo.API.Indicators;
using cAlgo.Indicators;

namespace cAlgo
{
    [Indicator(IsOverlay = true, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
    public class MarketOpeningTimeGrids : Indicator
    {
        [Parameter("Europe Summer Time", DefaultValue = false)]
        public bool EuropeSummerTime { get; set; }

        [Parameter("NY Summer Time", DefaultValue = true)]
        public bool NYSummerTime { get; set; }


        [Parameter("日本色", DefaultValue = "Indigo")]
        public string JapanColor { get; set; }

        [Parameter("欧州色", DefaultValue = "Navy")]
        public string EuropeColor { get; set; }

        [Parameter("ニューヨーク色", DefaultValue = "DarkRed")]
        public string NYColor { get; set; }



        public int JapanTime;
        public int EuropeTime;
        public int NYTime;

        public bool timeFrameUnder30min;

        protected override void Initialize()
        {
            JapanTime = 9;
            if (EuropeSummerTime)
            {
                EuropeTime = 16;
            }
            else
            {
                EuropeTime = 17;
            }

            NYTime = 22;

            if (Chart.TimeFrame == TimeFrame.Minute || Chart.TimeFrame == TimeFrame.Minute2 || Chart.TimeFrame == TimeFrame.Minute3 || Chart.TimeFrame == TimeFrame.Minute4 || Chart.TimeFrame == TimeFrame.Minute5 || Chart.TimeFrame == TimeFrame.Minute6 || Chart.TimeFrame == TimeFrame.Minute7 || Chart.TimeFrame == TimeFrame.Minute8 || Chart.TimeFrame == TimeFrame.Minute9 || Chart.TimeFrame == TimeFrame.Minute10 || Chart.TimeFrame == TimeFrame.Minute15 || Chart.TimeFrame == TimeFrame.Minute20 || Chart.TimeFrame == TimeFrame.Minute30)
            {
                timeFrameUnder30min = true;
            }
            else
            {
                timeFrameUnder30min = false;
            }

        }

        public override void Calculate(int index)
        {
            var bar = Bars.LastBar;

            if (bar.OpenTime.ToLocalTime().Hour == JapanTime && bar.OpenTime.ToLocalTime().Minute == 0)
            {
                Chart.DrawVerticalLine("grids" + bar.OpenTime.ToString(), bar.OpenTime, JapanColor, 1, LineStyle.Dots);
            }
            else if (bar.OpenTime.ToLocalTime().Hour == EuropeTime && bar.OpenTime.ToLocalTime().Minute == 0)
            {
                Chart.DrawVerticalLine("grids" + bar.OpenTime.ToString(), bar.OpenTime, EuropeColor, 1, LineStyle.Dots);
            }

            if (NYSummerTime && timeFrameUnder30min)
            {
                if (bar.OpenTime.ToLocalTime().Hour == NYTime && bar.OpenTime.ToLocalTime().Minute == 30)
                {
                    Chart.DrawVerticalLine("grids" + bar.OpenTime.ToString(), bar.OpenTime, NYColor, 1, LineStyle.Dots);
                }


            }
            else
            {
                if (bar.OpenTime.ToLocalTime().Hour == NYTime && bar.OpenTime.ToLocalTime().Minute == 0)
                {
                    Chart.DrawVerticalLine("grids" + bar.OpenTime.ToString(), bar.OpenTime, NYColor, 1, LineStyle.Dots);
                }

            }



        }
    }
}
Comments
5