Thursday 4 January 2018

Fsharp الحركة من المتوسط


المتوسط ​​المتحرك يعلمك هذا المثال كيفية حساب المتوسط ​​المتحرك لسلسلة زمنية في إكسيل. ويستخدم المتوسط ​​المتحرك للتخلص من المخالفات (قمم ووديان) للتعرف بسهولة على الاتجاهات. 1. أولا، دعونا نلقي نظرة على السلاسل الزمنية لدينا. 2. من علامة التبويب بيانات، انقر فوق تحليل البيانات. ملاحظة: لا يمكن العثور على زر تحليل البيانات انقر هنا لتحميل الوظيفة الإضافية تولباس تولباك. .3 حدد متوسط ​​النقل وانقر فوق موافق. .4 انقر في مربع نطاق الإدخال وحدد النطاق B2: M2. 5. انقر في المربع الفاصل الزمني واكتب 6. 6. انقر في المربع نطاق الإخراج وحدد الخلية B3. 8. رسم رسم بياني لهذه القيم. إكسلاناتيون: لأننا نقوم بضبط الفاصل الزمني الى 6، المتوسط ​​المتحرك هو متوسط ​​نقاط البيانات الخمس السابقة ونقطة البيانات الحالية. ونتيجة لذلك، يتم تمهيد قمم والوديان بها. يظهر الرسم البياني اتجاها متزايدا. لا يستطيع إكسيل حساب المتوسط ​​المتحرك لنقاط البيانات الخمس الأولى لأنه لا توجد نقاط بيانات سابقة كافية. 9. كرر الخطوات من 2 إلى 8 للفاصل الزمني 2 والفاصل الزمني 4. الخاتمة: كلما زاد الفاصل الزمني، كلما تم تمهيد القمم والوديان. أصغر الفاصل الزمني، كلما كانت المتوسطات المتحركة أقرب إلى نقاط البيانات الفعلية. أنا لا تزال تعمل على التمسك الشيء F - في محاولة للعمل على التفكير في F بدلا من مجرد ترجمة من لغات أخرى وأنا أعلم. إيف مؤخرا تم التفكير في الحالات التي لم يكن لديك خريطة 1: 1 بين قبل وبعد. الحالات التي تقع فيها List. map لأسفل. أحد الأمثلة على ذلك هو المتوسطات المتحركة، حيث عادة سيكون لديك نتائج لين-n1 لقائمة طول لين عند المتوسط ​​فوق n البنود. هل هناك طريقة جيدة للقيام بذلك (باستخدام طابور مقروص من جومو فيشر) (ربما سيكون أفضل طريقة لتنفيذ موفينغافيراجكيو من خلال وراثة من فيفو) طلب 17 نوفمبر 08 في 11:12 كان علي أن أعلن كما السماح موفينغافيراج n (s. سيكلتفلوتغت) من أجل وضع هذا في وحدة المرافق، بعيدا عن موقع المكالمة، لاسترضاء نظام نوع. بقدر ما أستطيع أن أقول، وهذا يعمل فقط مع عوامات، وذلك بسبب وجود قيود على Array. average. مسن يدعي أنني يمكن أن تحل محل ذلك مع أري. أفي لاستخدام هذا على تسلسل إنت، ولكن هذا يعطي خطأ مختلفا. بريان، يمكنك إعادة صياغة هذه الإجابة للعمل في سياقات عامة، بحيث أنها ستعمل مع تسلسل من أي-الحساب من نوع، دون نوع الاستدلال نداش وارن يونغ يونيو 27 13 في 19:04 أود أن أشير إلى أن حاجتي ل وهذا المتوسط ​​المتحرك الدالة هو الحصول على نافذة قصيرة (30ish) على سلسلة من الأعداد الصحيحة التي كلها تقريبا في الملايين، لذلك أنا don39t تحتاج نقطة عائمة. حتى رقم واحد إلى يمين النقطة العشرية ليس من الاستخدام العملي في طلبي. تحويل الأعداد الصحيحة إلى فب والنتيجة مرة أخرى إلى إنت فقط لاسترضاء نداء مكتبة Fnn39t القياسية. نداش وارن يونغ يونيو 27 13 في 19:30 إذا كنت تهتم بالأداء، يمكنك حساب متوسط ​​متحرك بكفاءة باستخدام شيء من هذا القبيل (على افتراض حساب متوسط ​​متحرك على مدار 3 أيام) الجزء الثابت حول هذا هو عقد على مجموع تشغيل السابق وعدد N - النافذة. جئت مع التعليمات البرمجية التالية: هذا الإصدار ليس لطيفا كما تبحث كود هاسكل، ولكن يجب تجنب مشاكل الأداء المرتبطة ريكومبوتينغ نافذتك على كل المدى. فإنه يحتفظ مجموع تشغيل ويحمل الأرقام المستخدمة سابقا في قائمة الانتظار، لذلك ينبغي أن يكون سريع جدا. فقط للمتعة، كتبت معيارا بسيطا: إذا كنت تهتم بالأداء ومثل رمز أنيقة ثم حاول استخدام فسونيت يمكننا اختبار ذلك خدعة من الخوارزمية هي أول مبلغ أول أرقام ن ثم الحفاظ على مجموع تشغيل بإضافة رأس من النافذة وطرح ذيل النافذة. يتم تحقيق النافذة المنزلقة عن طريق القيام الرمز البريدي الذاتي على تسلسل ولكن مع الوسيطة الثانية إلى الرمز البريدي المتقدمة من حجم النافذة. في نهاية خط الأنابيب نحن فقط تقسيم مجموع تشغيل من حجم النافذة. ملاحظة مسح هو تماما مثل أضعاف ولكن يسفر كل نسخة من الدولة في تسلسل. حل أكثر أناقة على الرغم من الممكن مع ضرب الأداء هو جعل الملاحظة أنه إذا كنا صفر وسادة تسلسل نحن لسنا بحاجة لحساب المبلغ الأولي. يمكن أن يكون هناك ضرب الأداء بسبب الثانية غير المباشرة المتعلقة التفاف اثنين من متواليات ولكن ربما ليس كبيرا اعتمادا على حجم نافذة أجاب 31 أغسطس 12 في 08: 06 أريد تطوير حساب لمتوسط ​​السعر المتحرك. ولكن تم التخطيط لعملية حسابية معقدة في وقت لاحق. خطوتي الأولى لمعرفة كيفية حساب المتوسط ​​المتحرك بكفاءة. أنا بحاجة إلى معرفة كيفية اتخاذ المدخلات والعودة الانتاج بكفاءة. تعتبر مدخلات التاريخ والسعر. الناتج المتحقق التاريخ والسعر والمتوسط ​​المتحرك. إذا كان لدي 500 سجل وأريد حساب المتوسط ​​المتحرك لمدة 5 أيام ما هي الطريقة إفينت بدلا من الذهاب ذهابا وإيابا في مجموعة من التاريخ والسعر مرة أخرى يرجى سوجيست ما هو أفضل وسيلة لتلقي المدخلات (أريليست، الجدول، صفيف الخ) والعودة الانتاج. ملاحظة: اليوم ما من 5 أيام سيكون متوسط ​​آخر 5 أيام بما في ذلك اليوم السعر. يوم أمس سوف يكون متوسط ​​5 أيام الماضية من أمس. أريد أن تبقى الأيام لتكون مرنة بدلا من 5 يمكن أن يكون 9، 14، 20 الخ الخميس، 10 أبريل 2008 3:21 م إذا كنت بحاجة إلى حساب بسيط دون جهدكم من يمكنك استخدام تا-ليب. ولكن إذا كنت تريد الحساب الخاص بك لتكون أكثر كفاءة من تا-ليب، ثم يمكنك إنشاء مؤشر التقنية الخاصة بك. تا-ليب هو عظيم، ولكن المشكلة هي أن هذه المكتبة لديها أساليب ثابتة فقط. وهذا يعني عندما تحتاج إلى حساب القيم صفيف سما على أساس 500 سعر الأشرطة، ثم سوف ترسل مجموعة كاملة من الحانات وسوف يعود صفيف قيم سما. ولكن إذا كنت تتلقى قيمة 501-ست الجديدة ثم يجب إرسال مرة أخرى مجموعة كاملة و تا-ليب مرة أخرى سوف حساب وعودة سما مجموعة من القيم. الآن تخيل أنك بحاجة إلى مثل هذا المؤشر على تغذية السعر الحقيقي، ولكل تغيير السعر تحتاج قيمة مؤشر جديد. إذا كان لديك مؤشر واحد ليست مشكلة كبيرة، ولكن إذا كان لديك مئات المؤشرات تعمل، يمكن أن يكون مشكلة الأداء. كنت في مثل هذه الحالة والبدء في تطوير مؤشرات الوقت الحقيقي التي هي فعالة والقيام بعمليات حسابية إضافية لشريط سعر جديد أو لشريط السعر تغير فقط. أونفورتوناتيلي لم أكن في حاجة إلى مؤشر سما لنظم التداول الخاصة بي، ولكن لدي مثل إما، وما، م، وغيرها. يتم نشر واحد من هذا المؤشر م على بلوق بلدي ويمكنك أن ترى من هناك ما هو الهيكل الأساسي لفئة مؤشر الوقت الحقيقي بلدي. آمل أن تحتاج إلى تغييرات صغيرة لتنفيذ مؤشر سما، لأنه هو واحد من أبسط واحد. المنطق بسيط. لحساب سما كل ما تحتاجه هو ن قيم السعر الأخير. لذلك سيكون مثيل الطبقة مجموعة من الأسعار، التي سوف تخزن الاحتفاظ فقط آخر عدد n من الأسعار كما سما هو محدد (في قضيتك 5). لذلك عندما يكون لديك شريط جديد، سوف إزالة أقدم واحد وإضافة واحدة جديدة وإنشاء حساب. الخميس، أبريل 10، 2008 4:04 بيإم جميع الردود هناك مكتبة تدعى تا-ليب التي تفعل كل ذلك بالنسبة لك، وأنها مفتوحة المصدر. لديها حوالي 50 مؤشرات أعتقد. ويف استخدامه في بيئة الإنتاج وأنها فعالة جدا و رياليبل. يمكنك استخدامه في C، جافا، C، وما إذا كنت بحاجة إلى حساب بسيط دون جهدكم مما يمكنك استخدام تا-ليب. ولكن إذا كنت تريد الحساب الخاص بك لتكون أكثر كفاءة من تا-ليب، ثم يمكنك إنشاء مؤشر التقنية الخاصة بك. تا-ليب هو عظيم، ولكن المشكلة هي أن هذه المكتبة لديها أساليب ثابتة فقط. وهذا يعني عندما تحتاج إلى حساب القيم صفيف سما على أساس 500 سعر الأشرطة، ثم سوف ترسل مجموعة كاملة من الحانات وسوف يعود صفيف قيم سما. ولكن إذا كنت تتلقى قيمة 501-ست الجديدة ثم يجب إرسال مرة أخرى مجموعة كاملة و تا-ليب مرة أخرى سوف حساب وعودة سما مجموعة من القيم. الآن تخيل أنك بحاجة إلى مثل هذا المؤشر على تغذية السعر الحقيقي، ولكل تغيير السعر تحتاج قيمة مؤشر جديد. إذا كان لديك مؤشر واحد ليست مشكلة كبيرة، ولكن إذا كان لديك مئات المؤشرات تعمل، يمكن أن يكون مشكلة الأداء. كنت في مثل هذه الحالة والبدء في تطوير مؤشرات الوقت الحقيقي التي هي فعالة والقيام بعمليات حسابية إضافية لشريط سعر جديد أو لشريط السعر تغير فقط. أونفورتوناتيلي لم أكن في حاجة إلى مؤشر سما لنظم التداول الخاصة بي، ولكن لدي مثل إما، وما، م، وغيرها. يتم نشر واحد من هذا المؤشر م على بلوق بلدي ويمكنك أن ترى من هناك ما هو الهيكل الأساسي لفئة مؤشر الوقت الحقيقي بلدي. آمل أن تحتاج إلى تغييرات صغيرة لتنفيذ مؤشر سما، لأنه هو واحد من أبسط واحد. المنطق بسيط. لحساب سما كل ما تحتاجه هو ن قيم السعر الأخير. لذلك سيكون مثيل الطبقة مجموعة من الأسعار، التي سوف تخزن الاحتفاظ فقط آخر عدد n من الأسعار كما سما هو محدد (في قضيتك 5). لذلك عندما يكون لديك شريط جديد، سوف إزالة أقدم واحد وإضافة واحدة جديدة وإنشاء حساب. الخميس، أبريل 10، 2008 4:04 بيإم أود حساب المتوسط ​​المتحرك في قاعدة البيانات عن طريق إجراء مخزن أو في مكعب. هل نظرت إلى خدمات التحليل، لديها القدرة على حساب المتوسطات المتحركة. الخميس، 10 أبريل / نيسان 2008 4:05 م نعم. تا-ليب هو جيد ولكن قد لا تكون مناسبة بالنسبة لي. عندما أضيف قيمة جديدة أو قيمة محدثة لتاريخ السجلات سأفعل الحساب في وظيفة منفصلة فقط لهذا الاقتباس الجديد وتخزينه في قاعدة البيانات. أنا أخطط لتحديث الاقتباس كل ساعة. أنا بحاجة إلى القيام حوالي 25 إلى 30 المؤشرات الفنية ل 2200 الأسهم. الخميس، 10 أبريل 2008 5:51 م يستغرق وقت تنفيذ مكالمة تا-ليب على صفيف مكون من 10000 عنصر حوالي 15 ميلي ثانية (على إنتل كور ديو 2.13 غز). هذا هو متوسط ​​جميع الوظائف. من بين أسرع، سما يأخذ أقل من 2.5 ميلي ثانية. أبطأ، هترندمود، يستغرق 450 ميلي ثانية. مع عناصر أقل هو أسرع. سما يأخذ حوالي 0.22 ميلي ثانية ل 1000 عناصر الإدخال. كسب السرعة تقريبا الخطية (النفقات العامة لأداء استدعاء وظيفة لا يكاد يذكر). في سياق التطبيق الخاص بك، تا-ليب من المستبعد جدا أن يكون عنق الزجاجة الخاصة بك لأداء السرعة. أيضا أنا عموما لا أوصي هذا الحل نكوت كوتلاست. اقرأ أدناه للحصول على التفاصيل. أولا، تصحيح لبيان بوبان. يمكن أيضا لجميع الوظائف في تا-ليب حساب قيمة مشاركة واحدة باستخدام الحد الأدنى من العناصر نكوت كوتلاست. يمكن أن يكون لديك صفيف من حجم 10000، وتهيئة البيانات فقط لأول 500 العناصر، إضافة عنصر واحد والدعوة تا-ليب لحساب سما فقط للعنصر الجديد. سوف تا-ليب ننظر إلى الوراء لا أكثر من اللازم (إذا سما 5، ثم تا-ليب سوف حساب سما واحد باستخدام القيم 5 الماضية). هذا ممكن مع المعلمة ستارتيدكس و إنديدكس. يمكنك تحديد نطاق ليتم حسابه، أو قيمة واحدة. في هذا السيناريو سوف تجعل ستارتيدكس إنديدكس 500 لحساب العنصر 501st. لماذا هذا الحل كوتلاست نكوت يحتمل أن تكون خطرة على بعض بغض النظر عن اختيار حل بوبان. أو تا-ليب ترى أن استخدام عدد محدود صغير من البيانات السابقة لن تعمل بشكل جيد مع معظم وظائف تا. مع سما، فمن الواضح أنك تحتاج فقط عنصر n لحساب متوسط ​​أكثر من عنصر n. انها ليست بسيطة مع إما (والعديد من المهام تا أخرى). وغالبا ما تعتمد الغو على القيمة السابقة لحساب القيمة الجديدة. وظيفة عودية. وهذا يعني أن جميع القيم السابقة لها تأثير على القيم المستقبلية. إذا قررت أن كوتليميتكوت ألغو الخاص بك لاستخدام كمية صغيرة فقط من قيمة ن الماضي، فإنك لن تحصل على نفس النتيجة كشخص يحسب على عدد كبير من القيم الماضية. الحل هو حل وسط بين السرعة والدقة. لقد كثيرا ما نناقش هذا في سياق تا-ليب (أسميها فترة كوتونستابل في الوثائق والمنتدى). ولإبقائه بسيطا، فإن توصيتي العامة هي إذا كنت غير قادر على جعل الفرق بين الغو مع استجابة النبض المحدود (فير) من الغو مع استجابة النبض لانهائية (إير)، وسوف تكون أكثر أمانا لحساب على جميع البيانات لديك متاح. يحدد تا-ليب في الشفرة التي لها وظائف غير مستقرة (إير). تحرير بواسطة مفورتير الجمعة، 15 أغسطس 2008 4:25 ص الجملة الإنجليزية الصحيحة الجمعة، 15 أغسطس 2008 4:20 ص

No comments:

Post a Comment