बाहर छानने के डेटा के लिए विस्तारित व्यापार घंटे में C#

0

सवाल

मैं हूँ हो रही है से डेटा एक शेयर प्रदाता भी शामिल है कि डेटा के लिए विस्तारित व्यापार घंटे. डेटा एकत्रित किया जाता है 1-मिनट डेटा अंक है कि मैं से कन्वर्ट करने के लिए JSON List<Aggregate> जहां कुल शामिल हैं, उच्च कम, खुले, बंद, और की शुरुआत के समय एकत्रित 1-मिनट की खिड़की है । मेरे प्रश्नों का धरना कई कारोबारी दिनों में हो सकता है सैकड़ों और हजारों किया जा सकता है. और मेरे संकेतकों की गणना करना चाहिए बाहर घंटे के बाद डेटा. तो मैं एक सूची के लिए आइटम के सैकड़ों के उद्देश्य:

public class Aggregate
{
    public decimal Close { get; set; }
    public decimal UnixTimestamp { get; set; } // milliseconds
    ...
}

और भी DateTime FromDate और DateTime ToDate जो spans के सैकड़ों दिनों के लिए । अब, एक निश्चित तरीके से फिल्टर करने के लिए घंटे के बाद डेटा की तुलना करने के लिए UnixTimestamp प्रत्येक आइटम के लिए नियमित रूप से व्यापार समय खिड़की के 9:30 बजे पीएसटी - 16:00 PM PST. की आवश्यकता होगी कि परिवर्तित करने के लिए हर UnixTimestamp करने के लिए DateTime. यह एक बहुत की तुलना... Intuitively, यह बेहतर है परिवर्तित करने FromDate और ToDate करने के लिए UnixTimestamp और छानने के बाहर आइटम के साथ Linq.

long unixTimeMsecToDate = new DateTimeOffset(aggrParams.ToDate).ToUnixTimeMilliseconds();
long unixTimeMsecFromDate = new DateTimeOffset(aggrParams.FromDate).ToUnixTimeMilliseconds();

हालांकि, मैं कर सकता हूँ पर मेरी उंगली नहीं डाल सही कोड... पाशन तारीखों के माध्यम से? कैसे?

c# filtering linq
2021-11-23 22:33:57
1

सबसे अच्छा जवाब

0

मैं प्रबंधित करने के लिए से छुटकारा पाने के कुल वस्तु और इसे बदलने के द्वारा बोली वस्तु से आते हैं कि एक अलग पुस्तकालय के साथ समय के रूप में व्यक्त C# तारीख, समय और समस्या को हल करने में एक सीधे रास्ते के रूप में, इस प्रकार प्रभावी ढंग से छानने के बाहर घंटे के बाद डेटा अंक:

        private void FilterExtendedTradingHours(List<Quote> quoteList, AggrParams aggrParams)
    {
        using (Log.VerboseCall())
        {
            if (aggrParams.Interval == "minute" || aggrParams.Interval == "hour")
            {
                Log.VerboseFormat("Initial {0} count: {1}", aggrParams.Interval, quoteList.Count);

                for(int i = quoteList.Count - 1; i >= 0; i--)
                {
                    if ( quoteList[i].Date.TimeOfDay > new TimeSpan(16,  0,  0) || quoteList[i].Date.TimeOfDay < new TimeSpan(9, 30, 0) )
                    {
                        quoteList.RemoveAt(i);
                    }
                }

                Log.VerboseFormat("Post-filtering {0} count: {1}", aggrParams.Interval, quoteList.Count);
            }
        }
    }
2021-12-01 00:26:22

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में