Wednesday 19 July 2017

ของ Excel Vba เคลื่อนไหว เฉลี่ย ฟังก์ชั่น


ค่าเฉลี่ยเคลื่อนที่ตัวอย่างนี้สอนวิธีการคำนวณค่าเฉลี่ยเคลื่อนที่ของชุดข้อมูลเวลาใน Excel ค่าเฉลี่ยเคลื่อนที่จะใช้เพื่อทำให้เกิดความผิดปกติ (ยอดเขาและหุบเขา) เพื่อรับรู้แนวโน้มได้ง่ายขึ้น 1. ขั้นแรกให้ดูที่ซีรี่ส์เวลาของเรา 2. ในแท็บข้อมูลคลิกการวิเคราะห์ข้อมูล หมายเหตุ: ไม่สามารถหาปุ่ม Data Analysis คลิกที่นี่เพื่อโหลด Add-in Analysis ToolPak 3. เลือก Moving Average และคลิก OK 4. คลิกที่กล่อง Input Range และเลือกช่วง B2: M2 5. คลิกที่ช่อง Interval และพิมพ์ 6. 6. คลิกที่ Output Range box และเลือก cell B3 8. วาดกราฟของค่าเหล่านี้ คำอธิบาย: เนื่องจากเราตั้งค่าช่วงเป็น 6 ค่าเฉลี่ยเคลื่อนที่คือค่าเฉลี่ยของ 5 จุดข้อมูลก่อนหน้าและจุดข้อมูลปัจจุบัน เป็นผลให้ยอดเขาและหุบเขาจะเรียบออก กราฟแสดงแนวโน้มที่เพิ่มขึ้น Excel ไม่สามารถคำนวณค่าเฉลี่ยเคลื่อนที่สำหรับจุดข้อมูล 5 จุดแรกได้เนื่องจากไม่มีจุดข้อมูลก่อนหน้านี้เพียงพอ 9. ทำซ้ำขั้นตอนที่ 2 ถึง 8 สำหรับช่วงที่ 2 และช่วงที่ 4 ข้อสรุป: ช่วงที่ใหญ่กว่ายอดเนินและหุบเขาจะยิ่งเรียบขึ้น ช่วงค่าที่ใกล้กว่าค่าเฉลี่ยเคลื่อนที่จะอยู่ที่จุดข้อมูลที่แท้จริงฟังก์ชัน Custom Average ด้านล่างเราจะดูที่โปรแกรมใน Excel VBA ซึ่งจะสร้าง User Defined Function ซึ่งจะคำนวณค่าเฉลี่ยของช่วงที่เลือกแบบสุ่มไม่รวมค่าอย่างน้อยหนึ่งค่า ที่เป็นค่าผิดปกติและไม่ควรมีค่าเฉลี่ย ฟังก์ชั่นที่กำหนดโดยผู้ใช้จะต้องวางไว้ในโมดูล 1. เปิด Visual Basic Editor และคลิก Insert, Module 2. เพิ่มบรรทัดรหัสต่อไปนี้: ฟังก์ชัน CUSTOMAVERAGE (rng As Range, lower as Integer ด้านบนเป็นจำนวนเต็ม) ชื่อของฟังก์ชันของเราคือ CUSTOMAVERAGE ส่วนหนึ่งระหว่างวงเล็บหมายความว่าเราให้ Excel VBA ช่วงและสองตัวแปร Integer เป็นอินพุต เราตั้งชื่อตัวแปร rng ตัวแปร Integer หนึ่งตัวที่เราเรียกว่า lower และตัวแปร Integer หนึ่งตัวที่เราเรียกว่า upper แต่คุณสามารถใช้ชื่อใดก็ได้ 3. ต่อไปเราจะประกาศเป็น Range object และตัวแปรสองตัวของ Type Integer เราเรียกใช้เซลล์วัตถุ Range ตัวแปร Integer หนึ่งตัวที่เราเรียกว่า Total และ Integer หนึ่งตัวแปรที่เราเรียกว่า count เซลล์ซ้อนเป็นช่วงรวมเป็นจำนวนเต็ม count As Integer 4. เราต้องการตรวจสอบเซลล์แต่ละเซลล์ในช่วงที่เลือกแบบสุ่ม (ช่วงนี้สามารถมีขนาดได้) ใน Excel VBA คุณสามารถใช้สำหรับแต่ละรอบถัดไปสำหรับนี้ เพิ่มบรรทัดรหัสต่อไปนี้: สำหรับแต่ละเซลล์ใน rng หมายเหตุ: rng และเซลล์ถูกเลือกแบบสุ่มที่นี่คุณสามารถใช้ชื่อใดก็ได้ อย่าลืมดูชื่อเหล่านี้ในส่วนที่เหลือของรหัสของคุณ 5. ต่อไปเราจะตรวจสอบค่าแต่ละค่าในช่วงนี้ถ้าค่านั้นอยู่ระหว่างค่าสองค่า (ด้านล่างและบน) ถ้าเป็นจริงเราเพิ่มจำนวนทั้งหมดตามค่าของเซลล์และเราเพิ่มจำนวนขึ้นโดย 1. เพิ่มบรรทัดรหัสต่อไปนี้ลงในลูป ถ้า cell. Value gt lower และ cell. Value lt upper จากนั้นนับเซลล์ทั้งหมดนับจำนวนค่า 1 End If 6. เมื่อต้องการส่งคืนผลลัพธ์ของฟังก์ชันนี้ (ค่าเฉลี่ยที่ต้องการ) ให้เพิ่มโค้ดด้านล่างนี้ออกจากลูป CUSTOMAVERAGE นับรวม 7. อย่าลืมปิดฟังก์ชัน เพิ่มบรรทัด: 8. ตอนนี้คุณสามารถใช้ฟังก์ชันนี้เช่นเดียวกับฟังก์ชัน Excel อื่น ๆ เพื่อคำนวณค่าเฉลี่ยของตัวเลขที่อยู่ระหว่างสองค่า ในฐานะเช็คคุณสามารถลบค่าทั้งหมดที่ต่ำกว่า 10 และสูงกว่า 30 และใช้ฟังก์ชัน Average Average ใน Excel เพื่อดูว่า Excel คำนวณค่าเฉลี่ยเช่นเดียวกับฟังก์ชันเฉลี่ยที่กำหนดเองของเราหรือไม่ ฟังก์ชันเฉลี่ยที่กำหนดเองของเราทำงานหมายเหตุ: ฟังก์ชันนี้ใช้ได้เฉพาะในสมุดงานนี้ฉันต้องการคำนวณค่าเฉลี่ยเคลื่อนที่ของช่วงก่อนหน้ากล่าวว่า 20 ตัวเลขของคอลัมน์ ปัญหาคือบางส่วนของเซลล์ของคอลัมน์อาจว่างเปล่าพวกเขาควรจะละเลย ตัวอย่าง: ค่าเฉลี่ยเคลื่อนที่ของสามตัวสุดท้ายคือ (155167201) 3 Ive พยายามใช้นี้โดยใช้ค่าเฉลี่ย, ชดเชยดัชนี แต่ฉันก็ไม่ทราบ. ฉันนิดหน่อยคุ้นเคยกับมาโครดังนั้นโซลูชันจะทำงานได้ดี: MovingAverage (A13) ขอขอบคุณสำหรับคำแนะนำหรือคำแนะนำที่ถาม 12 มีนาคม 11 เวลา 15:36 ป้อนข้อมูลนี้ด้วย controlshiftenter เพื่อทำให้เป็นสูตรอาร์เรย์ ค่านี้จะเป็นค่าล่าสุดสามค่า ถ้าคุณต้องการมากหรือน้อยเปลี่ยนสองอินสแตนซ์ของ 3 ในสูตรเพื่อสิ่งที่คุณต้องการ ส่วนนี้จะส่งกลับจำนวนแถวสูงสุดที่ 4 ของเซลล์ทั้งหมดที่มีค่าหรือ 5 ในตัวอย่างของคุณเนื่องจากแถวที่ 6, 8 และ 9 เป็นแถวที่ 1 ถึงสูงสุดที่ 3 ซึ่งมีค่า ส่วนนี้จะส่งคืน 9 TRUE หรือ FALSEs ตามจำนวนแถวที่มีขนาดใหญ่กว่าอันดับที่ 4 มากที่สุด คูณค่าใน A1: A9 โดย 9 TRUEs หรือ FALSEs TRUE ถูกแปลงเป็น 1 และ FALSE เป็นศูนย์ นี้จะออกจากฟังก์ชัน SUM เช่นนี้เนื่องจากค่าทั้งหมดข้างต้น 155 ไม่เป็นไปตามเกณฑ์จำนวนแถวคูณด้วยศูนย์ ฉันได้เขียนสคริปต์สั้น ๆ ใน VBA แล้ว Hopefull มันไม่สิ่งที่คุณต้องการ นี่คือ: 1) ฉันได้กำหนดวงเงินไว้ที่ 360 เซลล์แล้ว หมายความว่าสคริปต์จะไม่มองหาเซลล์มากกว่า 360 ถ้าคุณต้องการเปลี่ยนแล้วเปลี่ยนค่าเริ่มต้นของตัวนับ 2) สคริปต์ส่งกลับค่าเฉลี่ยไม่กลม เปลี่ยนแถวสุดท้ายเป็น MovingAverage Round (CDbl (tmp i), 2) 3) การใช้งานเป็นแบบที่คุณต้องการเพียงพิมพ์ MovingAverage (a13) ลงในเซลล์ ความคิดเห็นใด ๆ ยินดีต้อนรับ. ที่ 2 (1 n) ตัวห้อย subscript t ใช้เพื่อระบุเวลาเช่น t-1 หมายถึงระยะเวลาก่อนที่ t และ n ซึ่งผู้ใช้กำหนดโดยอ้างถึงระยะเวลาการค้ำประกันของ EMA ตัวอย่างเช่นค่า EMA ที่เทียบเท่ากับค่าเฉลี่ยเคลื่อนที่แบบง่าย 3 ช่วงมี n จาก 3 ค่าที่มากขึ้นของ n จะเล็กลง ส่งผลให้มีขนาดใหญ่ขึ้น (1) และมี EMA t-1 อยู่ใน EMA t ค่าแรกของ EMA ในชุดข้อมูลเวลาอาจถือได้ว่าเป็นค่าเฉลี่ยเคลื่อนที่ที่น้อยที่สุดของวันที่ 8217 ของราคา ผู้ใช้บางรายอาจต้องการเริ่มต้นค่า EMA แรกตั้งแต่ช่วงที่สองเป็นต้นไปที่ EMA ในช่วง 2 x ช่วง 2 ราคา (1 8211) x ช่วงเวลาราคา 1 ผู้ใช้ควรเข้าใจว่าค่าเฉลี่ยเคลื่อนที่แบบเสวนาคือการขยายตัวแบบอนันต์โดยที่ราคาก่อนหน้านี้มีน้ำหนักน้อยลงเมื่อใช้ EMA t พิจารณาสิ่งต่อไปนี้: ส่งผลให้ EMA มีการตอบสนองและความผันผวนน้อยกว่าค่าเฉลี่ยของค่าเฉลี่ยเคลื่อนที่ การอภิปรายรายละเอียดเพิ่มเติมเกี่ยวกับเรื่องนี้สามารถพบได้ในบทความของฉันเกี่ยวกับตัวกรองการเงินและการวิเคราะห์ทางเทคนิค วิธี A ใช้ฟังก์ชันในขณะที่วิธี B ใช้วิธีย่อยในการคำนวณ CMF วิธี B มีความรวดเร็วและยืดหยุ่นมากขึ้น วางรหัสนี้ลงในหน้าต่างรหัส ThisWorkBook ใน VBA คลิกขวาที่ WorkBook นี้ใน Project Explorer และคลิก View Code Private WorkbookOpen WorkbookOpen () ส่วนที่เหลืออยู่ในโมดูลใด ๆ บอกให้ Excel รวมรายการเหล่านี้ไว้ในรายการฟังก์ชันเพิ่มคำอธิบายให้กับ Excel และสร้างหมวดหมู่ใหม่ที่ชื่อ Technical Indicators มาโครแมโคร Macro: EMA, คำอธิบาย: ส่งกลับค่าเฉลี่ยการเคลื่อนที่แบบ Exponential แอมป์ Chr (10) แอมป์ Chr (10) amp เลือกช่วงเวลาล่าสุด EMA หรือช่วงราคาที่ผ่านมาถ้างวดปัจจุบันเป็นอันดับแรก แอมป์ Chr (10) แอมป์ Chr (10) แอมป์ตามด้วยราคาปัจจุบันและ n (10) แอมป์ Chr (10) แอมป์ Chr (10) แอมป์ปัจจัยการสลายตัวของค่าเฉลี่ยเคลื่อนที่แบบเสวนาถูกคำนวณเป็น alpha2 (n1) ฟังก์ชันสาธารณะ EMA (เมื่อวานนี้ราคา n) ราคาอัลฟาอีมา (1 - alpha) เมื่อวานนี้คุณสามารถคำนวณค่าเฉลี่ยเคลื่อนที่แบบเสวนาได้โดยพิมพ์ลงในเซลล์ใด ๆ EMA (Last EMA Period, Current Price, n) ป้อนราคาช่วงสุดท้ายเป็น EMA งวดล่าสุดถ้าคุณกำลังคำนวณ EMA แรกของชุดข้อมูลของคุณ เมื่อต้องการเรียกใช้เมธอด B คุณต้องคัดลอกส่วนย่อย Runthis จากหน้าใน AccumulationDistribution Line ลงในโมดูลของคุณ นอกจากนี้คุณต้องเรียกใช้ EMA จากหมวดย่อย Runthis เพิ่มบรรทัดต่อไปนี้ไปยังย่อย Runthis วางไว้ทางด้านขวาก่อน End Sub และปิดใช้งานแมโครอื่น ๆ ทั้งหมดที่ Runthis จะโทร Sub นี้จะเริ่มคำนวณ EMA ตั้งแต่ t2 เป็นต้นไป Sub EMA (close1 เป็น Range, เอาต์พุตเป็น Range, n As Long) close0 close1 ( 1, 1).Address (False, False) close1a close1 (2, 1).Address (False, False) เอาท์พุทเอาต์พุต 1 (1, 1).Address (False, False) เอาต์พุต (2, 1). ค่า 2 (1 แอมป์ amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp close0 เช่นเดียวกับที่คุณเพิ่งอ่าน Digg หรือ Tipd วัตถุประสงค์ของ Finance4Traders คือการช่วยให้ผู้ค้าเริ่มต้นโดยนำพวกเขาเป็นกลางการวิจัยและความคิด ตั้งแต่ปลายปีพศ. 2548 เป็นต้นมาผมได้พัฒนายุทธศาสตร์การซื้อขายโดยใช้พื้นฐานส่วนบุคคล ไม่ใช่รูปแบบเหล่านี้ทั้งหมดเหมาะสำหรับฉัน แต่นักลงทุนรายอื่นหรือผู้ค้าอาจเห็นว่ามีประโยชน์ หลังจากที่ทุกคนมีเป้าหมายการลงทุนที่แตกต่างกันและนิสัย Finance4Traders กลายเป็นแพลตฟอร์มที่สะดวกในการเผยแพร่งานของฉัน (อ่านเพิ่มเติมเกี่ยวกับ Finance4Traders) กรุณาใช้เว็บไซต์นี้ในลักษณะที่เหมาะสมและมีน้ำใจ ซึ่งหมายความว่าคุณควรอ้างอิง Finance4Traders อย่างน้อยให้ลิงก์ย้อนกลับไปที่ไซต์นี้หากคุณใช้เนื้อหาใด ๆ ของเรา นอกจากนี้คุณยังไม่ได้รับอนุญาตให้ใช้เนื้อหาของเราในลักษณะที่ไม่ชอบด้วยกฎหมาย นอกจากนี้คุณควรเข้าใจด้วยว่าเนื้อหาของเราไม่ได้รับการรับประกันและคุณควรตรวจสอบเนื้อหาของเราโดยไม่คิดค่าใช้จ่ายก่อนที่จะใช้เนื้อหาเหล่านี้ โปรดดูที่นโยบายเนื้อหาและนโยบายความเป็นส่วนตัวของไซต์เมื่อเข้าสู่ไซต์นี้ comments 0 ความเห็น: โพสต์ความคิดเห็นกลยุทธ์การค้าจะคล้ายกับกลยุทธ์ขององค์กร การศึกษาทรัพยากรของคุณอย่างละเอียดจะช่วยให้คุณสามารถตัดสินใจได้อย่างมีประสิทธิภาพมากขึ้น (อ่านต่อ) 8226 การทำความเข้าใจตัวชี้วัดทางเทคนิคตัวชี้วัดทางเทคนิคมากกว่าแค่สมการ ตัวชี้วัดที่มีการพัฒนาอย่างดีเมื่อนำมาประยุกต์ใช้ทางวิทยาศาสตร์เป็นเครื่องมือที่ช่วยให้นักค้าดึงข้อมูลที่สำคัญจากข้อมูลทางการเงิน (อ่านต่อ) 8226 เหตุใดฉันจึงต้องการใช้ Excel Excel แสดงข้อมูลให้คุณเห็น ทำให้คุณเข้าใจการทำงานของคุณได้ง่ายขึ้นและประหยัดเวลา (อ่านต่อ)

No comments:

Post a Comment