Saturday 12 August 2017

Php เฉลี่ยเคลื่อนที่ สคริปต์


กำลังพยายามเรียก EMA สุดท้ายของชุดข้อมูลขนาดใหญ่ (ค่า 15000) เป็นอัลกอริทึมที่ต้องใช้ทรัพยากรมากเนื่องจากแต่ละค่าขึ้นอยู่กับขั้นตอนก่อนหน้านี้ นี่คือรหัสของฉัน: สิ่งที่ฉันได้ทำ: Isolate k เพื่อไม่คำนวณ 10000 times เก็บเฉพาะ EMA ที่คำนวณล่าสุดและไม่เก็บข้อมูลทั้งหมดไว้ในอาร์เรย์สำหรับ () แทน foreach () อาร์เรย์ข้อมูลไม่มีคีย์ อาร์เรย์พื้นฐานนี้อนุญาตให้ฉันลดเวลาดำเนินการจาก 2000ms เป็น 500ms สำหรับค่า 15000 สิ่งที่ไม่ได้ผล: ใช้ SplFixedArray () การโกงนี้เพียง 10ms การใช้งาน 1,000,000 ค่าใช้ส่วนขยายของ PHPTrader นี้ส่งกลับอาร์เรย์ที่มี EMAs ทั้งหมดแทนที่จะเป็นเพียงล่าสุดและการเขียนช้าลงและเรียกใช้อัลกอริทึมเดียวกันใน C และใช้งานได้มากกว่า 2,000,000 ค่าใช้เวลาเพียง 13ms ดังนั้นเห็นได้ชัดว่าการใช้ภาษาระดับล่างที่คอมไพล์แล้วดูเหมือนจะช่วยให้ P ที่ไหน ฉันควรจะไปจากที่นี่รหัสในที่สุดจะทำงานบนอูบุนตูดังนั้นภาษาที่ฉันควรเลือกจะ PHP จะสามารถโทรและส่งผ่านเช่นอาร์กิวเมนต์มากสคริปต์ถามกรกฎาคม 11 14 ที่ 19:21 ชัดเจนใช้กับนามสกุลให้คุณ การเพิ่มขึ้นอย่างมีนัยสำคัญ นอกจากนี้แคลคูลัสสามารถปรับปรุงได้ด้วยตัวเองและคุณสามารถเพิ่มภาษาใดก็ได้ตามที่คุณเลือก เป็นเรื่องง่ายที่จะเห็นว่า lastEMA สามารถคำนวณได้ดังนี้: สามารถเขียนใหม่ได้ดังนี้เพื่อที่จะออกจากลูปให้มากที่สุดเท่าที่จะเป็นไปได้: เพื่ออธิบายการสกัดของ k คิดว่าในสูตรก่อนหน้านี้มีลักษณะเหมือนกับว่าทั้งหมด ข้อมูลดิบต้นฉบับจะถูกคูณด้วย k ดังนั้นในทางปฏิบัติคุณจึงสามารถคูณผลลัพธ์สุดท้ายได้ โปรดทราบว่าการเขียนใหม่ด้วยวิธีนี้ทำให้คุณมีการดำเนินการภายในห่วง 2 แบบแทนที่จะเป็น 3 (เพื่อให้แม่นยำภายในลูปนอกจากนี้ยังมีการเพิ่ม i และการเปรียบเทียบกับการกำหนดค่าให้เป็นขนาดและ lastEMA) ด้วยวิธีนี้คุณจึงคาดว่าจะได้รับเพิ่มเติม speedup ในช่วงระหว่าง 16 และ 33 นอกจากนี้ยังมีการปรับปรุงอื่น ๆ ที่สามารถพิจารณาได้อย่างน้อยในบางสถานการณ์พิจารณาเฉพาะค่าล่าสุดค่าแรกจะคูณหลายครั้งโดย k1m 1 - k ดังนั้นการมีส่วนร่วมของพวกเขาอาจน้อยหรือแม้แต่ไป ภายใต้ความแม่นยำจุดลอยตัว (หรือข้อผิดพลาดที่ยอมรับได้) แนวคิดนี้มีประโยชน์อย่างยิ่งหากคุณสามารถสันนิษฐานได้ว่าข้อมูลที่เก่ากว่านั้นมีลำดับความสำคัญเท่าเดิมเนื่องจากเป็นรุ่นที่ใหม่กว่าเพราะถ้าคุณพิจารณาเฉพาะค่าสุดท้ายของข้อผิดพลาดที่คุณทำคือ err EMAofdiscardeddata (1-k) n ดังนั้นถ้าลำดับของขนาดเป็นแบบเดียวกันเราสามารถบอกได้ว่าข้อผิดพลาดที่สัมพันธ์กันนั้นเกิดขึ้นคือ relerr err lastEMA EMAofdiscardeddata (1-k) n lastEMA ซึ่งเกือบจะเท่ากับ (1-k) n ภายใต้สมมติฐานว่า lastEMA เกือบเท่ากับ EMAofdiscardeddata: สมมติว่าคุณสามารถยอมรับข้อผิดพลาด relerr relative คุณสามารถพิจารณาเฉพาะค่า n สุดท้ายที่ (1-k) n lt relerr หมายความว่าคุณสามารถคำนวณล่วงหน้า (ก่อนลูป) บันทึก n (relerr) (1-k) และคำนวณทั้งหมดเฉพาะเมื่อพิจารณาจากค่า n ล่าสุดเท่านั้น หากชุดข้อมูลมีขนาดใหญ่มากนี้สามารถให้การเร่งความเร็วที่สมเหตุสมผล พิจารณาว่าสำหรับตัวเลขทศนิยม 64 บิตคุณมีความแม่นยำสัมพัทธ์ (เกี่ยวข้องกับ Mantra) ซึ่งเป็น 2-53 (ประมาณ 1.1e-16 และเฉพาะ 2-24 5.96e-8 สำหรับเลขทศนิยม 32 บิต) ดังนั้นคุณจึงไม่สามารถรับ ดีกว่าข้อผิดพลาดญาตินี้โดยทั่วไปคุณไม่ควรมีข้อได้เปรียบในการคำนวณค่า log (1-k) มากกว่า n log (1.1e-16) เพื่อให้เป็นตัวอย่างถ้าช่วง 2000 แล้ว log n (1.1e-16) (1-22001) 36746 ฉันคิดว่าน่าสนใจที่รู้ว่าการคำนวณพิเศษจะหายไปภายในรอบที่ไร้ประโยชน์จะดีกว่าที่จะไม่ทำ ตอนนี้ตัวอย่างหนึ่งสำหรับกรณีที่คุณสามารถยอมรับความผิดพลาดของญาติที่มีขนาดใหญ่กว่าความแม่นยำของจุดลอยตัว relpp 1ppm 1e-6 0.00001 6 หลักทศนิยมที่คุณมี log n (1.1e-16) (1-22001) 13815 ฉันคิดว่าค่อนข้าง (สมมุติว่าช่วง 2000 มีความหมายหรือสูงสำหรับแอพพลิเคชันของคุณ แต่ฉันไม่สามารถรู้ได้) เพียงไม่กี่ตัวเลขอื่น ๆ เพราะผมไม่ทราบว่าตัวเลขทั่วไปของคุณคือ relerr 1e-3 range 2000 n 6907 relerr 1e-3 range 200 n 691 relerr 1e-3 range 20 n 69 relerr 1e-6 range 2000 n 13815 relerr 1e - 6 ช่วง 200 n 1381 relerr ช่วง 1e-6 20 n 138 ถ้าสมมติฐาน lastEMA เกือบเท่ากับ EMAofdiscardeddata ไม่สามารถใช้งานได้ง่ายขึ้น แต่เนื่องจาก cam ประโยชน์จะมีนัยสำคัญอาจมีความหมายต่อไป: เราจำเป็นต้องพิจารณาใหม่ (1-k) (บันทึก log (relerr) (lastEMA EMAofdiscardeddata)) เข้าสู่ระบบ (1-k) จุดศูนย์กลางคือการคำนวณ lastEMA (1-k) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเข้าสู่ระบบ (EMAofdiscardeddata) EMAofdiscardeddata (โดยไม่มีการคำนวณที่เกิดขึ้นจริงก่อนหน้านี้หรือ EMAofdiscardeddata แน่นอน) กรณีหนึ่งคือเมื่อเรารู้จัก a priori ว่าตัวอย่างเช่น EMAofdiscardeddata lastEMA lt M (เช่น M 1000 หรือ M 1e6) ในกรณีนี้ n lt (log (relerrM)) log (1 - k) ถ้าคุณไม่สามารถให้หมายเลข M ได้คุณต้องหารหัสที่ดี ea to over-estimate EMAofdiscardeddata lastEMA วิธีที่เร็วที่สุดหนึ่งวิธีอาจใช้ M max (data) min (data) Parallelization การคำนวณสามารถเขียนใหม่ได้ในรูปแบบที่เป็นคำย่อที่เรียบง่ายนอกจากนี้ถ้าภาษาสนับสนุนการใช้งานสนับสนุน parallelization ชุดข้อมูลสามารถแบ่งออกเป็น 4 (หรือ 8 หรือ n. โดยทั่วไปจำนวนแกน CPU มี) และสามารถคำนวณผลรวมของข้อตกลงในแต่ละอันในแบบขนานสรุปผลแต่ละตัวที่สิ้นสุด ฉันไม่ได้ไปในรายละเอียดกับเรื่องนี้เนื่องจากคำตอบนี้มีอยู่แล้วยาวมากและฉันคิดว่าแนวคิดนี้ได้แสดงไว้แล้ว ขอขอบคุณสำหรับการใช้ข้อมูลนี้ในข้อมูลตลาดหุ้นดังนั้นข้อเท็จจริงที่ว่าข้อมูลที่เก่ากว่านั้นมีขนาดเท่ากันเนื่องจากข้อมูลใหม่ขึ้นอยู่กับกรอบเวลาที่ใช้ สมมติว่าช่วงของ 200 จะมีการเปลี่ยนแปลงของราคาในกรอบเวลารายวัน (200 วัน) มากกว่ากรอบเวลา 5 นาที (16 ชั่วโมง) ฉันจะทดสอบกับสถานการณ์ที่แตกต่างกันเกี่ยวกับข้อมูลจริงและข้อมูลจำลอง ข้อมูลใหม่ที่มีช่วง 200 ขึ้นไปฉันใช้ชุดข้อมูลองค์ประกอบ 1000 รายการ แต่ฉันยังทำการทดสอบบางอย่างในช่วงไม่กี่ปีที่ผ่านมาดังนั้นฉันยังต้องโหลดชุดข้อมูลทั้งหมด คุณช่วยทั้งสองสถานการณ์ขอขอบคุณคุณ ndash Lykegenes 16 ก. ค. 14 เวลา 15:11 การสร้างส่วนขยายของคุณเองจะช่วยเพิ่มประสิทธิภาพได้อย่างแน่นอน นี่เป็นบทแนะนำที่ดีจากเว็บไซต์ Zend ตัวเลขประสิทธิภาพบางส่วน: ฮาร์ดแวร์: Ubuntu 14.04, PHP 5.5.9, CPU Intel® CPU1.3GHz, CPU 1 คอร์, RAM 128MB (VPS) ก่อน (เฉพาะ PHP, 16,000 ค่า) 500ms C Extension, 16,000 ค่า การขยาย C 0.3ms (มูลค่า 100,000) ส่วนขยาย C ยาว 3.7 ม. (500,000 ค่า) 28.0ms แต่หน่วยความจำ Im จำกัด ที่จุดนี้โดยใช้ 70MB ฉันจะแก้ไขปัญหานั้นและอัปเดตตัวเลขตามลำดับค่าเฉลี่ยขั้นต่ำ - ค่าเฉลี่ยเคลื่อนที่แบบง่ายและค่าเฉลี่ยที่อธิบายได้ - การแนะนำแบบง่ายและแบบหารือการย้ายข้อมูลโดยเฉลี่ยจะทำให้ข้อมูลราคาเป็นไปอย่างต่อเนื่อง พวกเขาไม่ได้คาดการณ์ทิศทางราคา แต่กำหนดทิศทางปัจจุบันที่มีความล่าช้า การเลื่อนค่าเฉลี่ยของความล่าช้าเนื่องจากขึ้นอยู่กับราคาในอดีต แม้ว่าความล่าช้านี้ค่าเฉลี่ยเคลื่อนที่จะช่วยให้การดำเนินการด้านราคาเรียบและกรองเสียงรบกวน พวกเขายังเป็นตัวสร้างสำหรับตัวชี้วัดทางเทคนิคและการซ้อนทับอื่น ๆ อีกมากมายเช่นกลุ่ม Bollinger Bands MACD และ Oscillator McClellan ค่าเฉลี่ยเคลื่อนที่สองประเภทคือ Moving Average เฉลี่ย (SMA) และ Exponential Moving Average (EMA) ค่าเฉลี่ยเคลื่อนที่เหล่านี้สามารถใช้เพื่อระบุทิศทางของแนวโน้มหรือกำหนดระดับการสนับสนุนและความต้านทานที่อาจเกิดขึ้น กราฟของ SMA และ EMA มีดังนี้ Simple Moving Average Calculation ค่าเฉลี่ยเคลื่อนที่โดยเฉลี่ยคำนวณโดยใช้ราคาเฉลี่ยของการรักษาความปลอดภัยในช่วงเวลาที่ระบุ ค่าเฉลี่ยเคลื่อนที่ส่วนใหญ่จะขึ้นอยู่กับราคาปิด ค่าเฉลี่ยเคลื่อนที่ 5 วันเป็นผลรวมของราคาปิดห้าวันหารด้วยห้า เป็นชื่อที่แสดงถึงค่าเฉลี่ยเคลื่อนที่ที่เป็นค่าเฉลี่ยที่เคลื่อนที่ได้ ข้อมูลเก่าจะถูกลดลงเนื่องจากมีข้อมูลใหม่มาให้ นี่เป็นสาเหตุให้ค่าเฉลี่ยเคลื่อนที่ไปตามช่วงเวลา ด้านล่างเป็นตัวอย่างของค่าเฉลี่ยเคลื่อนที่ 5 วันที่มีการเปลี่ยนแปลงไปสามวัน วันแรกของค่าเฉลี่ยเคลื่อนที่จะครอบคลุมช่วง 5 วันที่ผ่านมา วันที่สองของค่าเฉลี่ยเคลื่อนที่จะเว้นจุดข้อมูลแรก (11) และเพิ่มจุดข้อมูลใหม่ (16) วันที่สามของค่าเฉลี่ยเคลื่อนที่จะคงที่ต่อไปโดยทิ้งจุดข้อมูลแรก (12) และเพิ่มจุดข้อมูลใหม่ (17) ในตัวอย่างข้างต้นราคาค่อยๆเพิ่มขึ้นจาก 11 เป็น 17 ในช่วงเจ็ดวัน สังเกตว่าค่าเฉลี่ยเคลื่อนที่จะเพิ่มขึ้นจาก 13 เป็น 15 ในช่วงการคำนวณสามวัน นอกจากนี้โปรดสังเกตด้วยว่าค่าเฉลี่ยเคลื่อนที่แต่ละรายการต่ำกว่าราคาล่าสุด ตัวอย่างเช่นค่าเฉลี่ยเคลื่อนที่ของวันที่หนึ่งเท่ากับ 13 และราคาสุดท้ายคือ 15 วันราคาในช่วง 4 วันก่อนหน้านี้ลดลงและนี่เป็นสาเหตุให้ค่าเฉลี่ยเคลื่อนที่ล่าช้า การคำนวณเฉลี่ยที่เพิ่มขึ้นชี้แจงค่าเฉลี่ยเคลื่อนที่ที่เป็นตัวชี้วัดจะลดความล่าช้าโดยการใช้น้ำหนักมากขึ้นกับราคาล่าสุด การถ่วงน้ำหนักที่ใช้กับราคาล่าสุดขึ้นอยู่กับจำนวนงวดในค่าเฉลี่ยเคลื่อนที่ มีสามขั้นตอนในการคำนวณค่าเฉลี่ยเคลื่อนที่แบบเสวนา ขั้นแรกคำนวณค่าเฉลี่ยเคลื่อนที่ที่เรียบง่าย ค่าเฉลี่ยเคลื่อนที่แบบเสวนา (EMA) จะต้องเริ่มต้นที่ไหนสักแห่งดังนั้นค่าเฉลี่ยเคลื่อนที่แบบเรียบจะถูกใช้เป็น EMA ของช่วงเวลาก่อนหน้าในการคำนวณครั้งแรก สองคำนวณตัวคูณการถ่วงน้ำหนัก ขั้นที่สามคำนวณค่าเฉลี่ยเคลื่อนที่แบบเสวนา สูตรด้านล่างมีไว้สำหรับ EMA 10 วัน ค่าเฉลี่ยการเคลื่อนย้ายเลขคณิต 10 ช่วงมีค่าเป็น 18.18 ตามราคาล่าสุด EMA 10 ระยะเวลาสามารถเรียกได้ว่าเป็น EMA 18.18 EMA 20 ระยะเวลาใช้การชั่งน้ำหนัก 9.52 กับราคาล่าสุด (2 (201) .0952) สังเกตว่าการชั่งน้ำหนักในช่วงเวลาที่สั้นลงนั้นมากกว่าการชั่งน้ำหนักในช่วงเวลาที่ยาวขึ้น ในความเป็นจริงการถ่วงน้ำหนักลดลงครึ่งหนึ่งทุกครั้งที่ช่วงเวลาเฉลี่ยที่เคลื่อนที่ได้สองเท่า หากคุณต้องการให้เราเป็นเปอร์เซ็นต์เฉพาะสำหรับ EMA คุณสามารถใช้สูตรนี้เพื่อแปลงเป็นช่วงเวลาและป้อนค่าดังกล่าวเป็นพารามิเตอร์ของ EMA0: ด้านล่างเป็นตัวอย่างของสเปรดชีตที่ใช้ค่าเฉลี่ยเคลื่อนที่ 10 วันและค่าเฉลี่ยเคลื่อนที่ 10- day สำหรับ Intel ค่าเฉลี่ยเคลื่อนที่เฉลี่ยอยู่ที่ตรงและต้องการคำอธิบายเล็กน้อย ค่าเฉลี่ยของระยะเวลา 10 วันมีการเคลื่อนไหวเพียงเล็กน้อยเมื่อราคาใหม่เข้าสู่ตลาดและราคาเก่าร่วงลง ค่าเฉลี่ยเคลื่อนที่แบบทึบจะขึ้นต้นด้วยค่าเฉลี่ยเคลื่อนที่อย่างง่าย (22.22) ในการคำนวณครั้งแรก หลังจากการคำนวณครั้งแรกสูตรปกติจะใช้เวลามากกว่า เนื่องจาก EMA เริ่มต้นด้วยค่าเฉลี่ยเคลื่อนที่ที่เรียบง่ายค่าที่แท้จริงจะไม่ได้รับรู้จนกว่าจะถึง 20 งวดในภายหลัง กล่าวอีกนัยหนึ่งค่าในสเปรดชีต Excel อาจแตกต่างจากค่าแผนภูมิเนื่องจากระยะเวลามองย้อนกลับสั้น สเปรดชีทนี้จะย้อนกลับไป 30 รอบซึ่งหมายความว่าผลกระทบของค่าเฉลี่ยเคลื่อนที่แบบง่ายๆมีระยะเวลา 20 ช่วงที่จะกระจายไป StockCharts ย้อนกลับไปอย่างน้อย 250 รอบ (โดยทั่วไปมากขึ้น) สำหรับการคำนวณของตนดังนั้นผลกระทบของค่าเฉลี่ยเคลื่อนที่ที่เรียบง่ายในการคำนวณครั้งแรกมีการกระจายอย่างสิ้นเชิง ปัจจัยความล่าช้ายิ่งค่าเฉลี่ยเคลื่อนที่สูงเท่าไหร่ยิ่งเท่าไร ค่าเฉลี่ยเลขคณิต 10 วันจะกอดราคาได้ค่อนข้างใกล้เคียงกันและจะเลี้ยวไปไม่นานหลังจากที่ราคาเปลี่ยนไป ค่าเฉลี่ยการเคลื่อนที่โดยรวมสั้น ๆ เหมือนเรือเร็ว - มีความว่องไวและรวดเร็วในการเปลี่ยนแปลง ในทางตรงกันข้ามค่าเฉลี่ยเคลื่อนที่ 100 วันมีข้อมูลที่ผ่านมาจำนวนมากที่ทำให้การทำงานช้าลง ค่าเฉลี่ยเคลื่อนที่ที่ยาวขึ้นเป็นเหมือนเรือบรรทุกน้ำมันในมหาสมุทร - เซื่องซึมและชะลอการเปลี่ยนแปลง การเคลื่อนไหวของราคาที่ยาวขึ้นและยาวนานขึ้นสำหรับค่าเฉลี่ยเคลื่อนที่ 100 วันเพื่อเปลี่ยนเส้นทาง แผนภูมิข้างต้นแสดง SampP 500 ETF ที่มี EMA 10 วันใกล้เคียงกับราคาและ SMA 100 วันที่สูงขึ้น แม้จะมีการลดลงในเดือนมกราคมถึงเดือนกุมภาพันธ์ แต่ SMA 100 วันก็ยังไม่ปิดลง SMA 50 วันเหมาะกับบางช่วงระหว่างค่าเฉลี่ยเคลื่อนที่ 10 และ 100 วันเมื่อพูดถึงปัจจัยล่าช้า ค่าเฉลี่ยเคลื่อนที่ที่เรียบง่ายและเป็นเส้นตรงแม้ว่าจะมีความแตกต่างระหว่างค่าเฉลี่ยเคลื่อนที่ที่เรียบง่ายและค่าเฉลี่ยเคลื่อนที่แบบเสวนาอย่างใดอย่างหนึ่ง แต่ก็ไม่จำเป็นต้องดีกว่าอีก ค่าเฉลี่ยเคลื่อนที่ที่มีนัยสำคัญมีความล่าช้าน้อยลงและมีความอ่อนไหวต่อราคาล่าสุดและการเปลี่ยนแปลงราคาล่าสุด ค่าเฉลี่ยเลขยกกำลังแบบ Exponential จะเปลี่ยนตัวก่อนค่าเฉลี่ยเคลื่อนที่โดยเฉลี่ย ค่าเฉลี่ยเคลื่อนที่ที่เรียบง่ายเป็นค่าเฉลี่ยที่แท้จริงของราคาสำหรับช่วงเวลาทั้งหมด ดังนั้นค่าเฉลี่ยเคลื่อนที่ที่เรียบง่ายอาจเหมาะสมกว่าในการระบุระดับการสนับสนุนหรือความต้านทาน การย้ายการตั้งค่าเฉลี่ยขึ้นอยู่กับวัตถุประสงค์ลักษณะการวิเคราะห์และขอบฟ้าเวลา Chartists ควรทดลองทั้งสองประเภทของค่าเฉลี่ยเคลื่อนที่และระยะเวลาที่ต่างกันเพื่อหาพอดีที่ดีที่สุด กราฟด้านล่างแสดงให้เห็นว่า IBM มี SMA 50 วันเป็นสีแดงและ EMA 50 วันเป็นสีเขียว ทั้งสองจุดในช่วงปลายเดือนมกราคม แต่การลดลงของ EMA มีความคมชัดกว่าการลดลงของ SMA EMA เปิดขึ้นในกลางเดือนกุมภาพันธ์ แต่ SMA ยังคงลดลงไปจนถึงสิ้นเดือนมีนาคม สังเกตว่า SMA เปิดขึ้นภายในหนึ่งเดือนหลังจาก EMA ความยาวและระยะเวลาความยาวของค่าเฉลี่ยเคลื่อนที่ขึ้นอยู่กับวัตถุประสงค์ในการวิเคราะห์ ระยะสั้นการเคลื่อนไหวระยะสั้น (5-20 ช่วง) เหมาะสมกับแนวโน้มระยะสั้นและการซื้อขาย กลุ่มผู้ชาตินิยมที่สนใจในแนวโน้มในระยะกลางจะเลือกใช้ค่าเฉลี่ยเคลื่อนที่ที่ยาวขึ้นซึ่งอาจขยายได้ 20-60 ช่วง นักลงทุนระยะยาวจะชอบเคลื่อนไหวโดยเฉลี่ยที่มีระยะเวลาตั้งแต่ 100 ขึ้นไป ความยาวเฉลี่ยที่เคลื่อนที่ได้บางส่วนมีความนิยมมากกว่าคนอื่น ๆ ค่าเฉลี่ยเคลื่อนที่ 200 วันอาจเป็นที่นิยมมากที่สุด เนื่องจากความยาวของมันเป็นอย่างชัดเจนในระยะยาวค่าเฉลี่ยเคลื่อนที่ ถัดไปค่าเฉลี่ยเคลื่อนที่ 50 วันค่อนข้างเป็นที่นิยมสำหรับแนวโน้มระยะกลาง นักเกรเทนหลายคนใช้ค่าเฉลี่ยเคลื่อนที่ 50 วันและ 200 วันด้วยกัน ระยะสั้นค่าเฉลี่ยเคลื่อนที่ 10 วันเป็นที่นิยมมากในอดีตเนื่องจากสามารถคำนวณได้ง่าย หนึ่งเพียงแค่เพิ่มตัวเลขและย้ายจุดทศนิยม การระบุแนวโน้ม (Trend Identification) สัญญาณเดียวกันสามารถสร้างได้โดยใช้ค่าเฉลี่ยเคลื่อนที่แบบง่ายหรือแบบเสแสร้ง ตามที่ระบุไว้ข้างต้นการตั้งค่าจะขึ้นอยู่กับแต่ละบุคคล ตัวอย่างด้านล่างนี้จะใช้ทั้งค่าเฉลี่ยเคลื่อนที่แบบง่ายและแบบทึบ ค่าเฉลี่ยเคลื่อนที่ระยะจะใช้กับค่าเฉลี่ยเคลื่อนที่แบบธรรมดาและแบบทึบ ทิศทางของค่าเฉลี่ยเคลื่อนที่จะบ่งบอกถึงข้อมูลที่สำคัญเกี่ยวกับราคา ค่าเฉลี่ยเคลื่อนที่ที่เพิ่มขึ้นแสดงให้เห็นว่าโดยทั่วไปราคาจะเพิ่มขึ้น ค่าเฉลี่ยถล่มที่ลดลงบ่งชี้ว่าราคาเฉลี่ยลดลง ค่าเฉลี่ยการเคลื่อนไหวระยะยาวที่เพิ่มขึ้นสะท้อนถึงแนวโน้มขาขึ้นในระยะยาว ค่าเฉลี่ยเคลื่อนที่ที่ลดลงในระยะยาวสะท้อนถึงแนวโน้มขาลงในระยะยาว แผนภูมิด้านบนแสดง 3M (MMM) โดยมีค่าเฉลี่ยเลขยกกำลัง 150 วัน ตัวอย่างนี้แสดงให้เห็นว่าค่าเฉลี่ยเคลื่อนที่ที่ใช้งานได้ดีเพียงใดเมื่อแนวโน้มแข็งแกร่ง EMA 150 วันปิดลงในเดือนพฤศจิกายน 2550 และอีกครั้งในเดือนมกราคม 2551 สังเกตเห็นว่ามีการปรับตัวลดลง 15 ครั้งเพื่อเปลี่ยนทิศทางของค่าเฉลี่ยเคลื่อนที่นี้ ตัวชี้วัดที่ล่าช้าเหล่านี้ระบุการพลิกกลับของแนวโน้มตามที่เกิดขึ้น (ที่ดีที่สุด) หรือหลังจากเกิดขึ้น (ที่แย่ที่สุด) MMM ยังคงลดลงในเดือนมีนาคม 2009 และเพิ่มขึ้น 40-50 สังเกตว่า EMA 150 วันไม่เปิดขึ้นจนกว่าจะถึงจุดสูงสุด อย่างไรก็ตามเมื่อ MMM ยังคงทำยอดขายต่อไปอีก 12 เดือน การย้ายค่าเฉลี่ยทำงานได้เรื่อย ๆ ตามแนวโน้มที่แข็งแกร่ง Double Crossovers ค่าเฉลี่ยเคลื่อนที่สองตัวสามารถใช้ร่วมกันเพื่อสร้างสัญญาณไขว้ ในการวิเคราะห์ทางเทคนิคของตลาดการเงิน John Murphy เรียกวิธีนี้ว่าไขว้แบบคู่ ไขว้คู่มีค่าเฉลี่ยเคลื่อนที่สั้น ๆ และมีค่าเฉลี่ยเคลื่อนที่ค่อนข้างยาว เช่นเดียวกับค่าเฉลี่ยเคลื่อนที่ทั้งหมดความยาวโดยทั่วไปของค่าเฉลี่ยเคลื่อนที่จะกำหนดระยะเวลาของระบบ ระบบที่ใช้ EMA 5 วันและ EMA 35 วันจะถือว่าเป็นระยะสั้น ระบบที่ใช้ SMA 50 วันและ SMA 200 วันจะถือว่าเป็นระยะปานกลางหรืออาจเป็นระยะเวลานาน การครอสโอเวอร์แบบรุกจะเกิดขึ้นเมื่อค่าเฉลี่ยเคลื่อนที่ที่สั้นลงเหนือค่าเฉลี่ยเคลื่อนที่ที่ยาวขึ้น นี้เรียกว่าเป็นกากบาทสีทอง การไขว้หยาบคายเกิดขึ้นเมื่อค่าเฉลี่ยเคลื่อนที่สั้นลงต่ำกว่าค่าเฉลี่ยเคลื่อนที่ที่ยาวขึ้น นี้เรียกว่าข้ามตาย การย้ายค่าเฉลี่ยของไขว้ให้สัญญาณค่อนข้างช้า อย่างไรก็ตามระบบมีตัวบ่งชี้อยู่สองตัว ระยะเวลาเฉลี่ยที่ยาวนานขึ้นความล่าช้าในสัญญาณ สัญญาณเหล่านี้ทำงานได้ดีเมื่อมีแนวโน้มดีขึ้น อย่างไรก็ตามระบบครอสโอเวอร์เฉลี่ยเคลื่อนที่จะผลิตจำนวนมากของ whipsaws ในกรณีที่ไม่มีแนวโน้มที่แข็งแกร่ง นอกจากนี้ยังมีวิธีไขว้แบบไขว้ซึ่งมีค่าเฉลี่ยเคลื่อนที่สามค่า อีกครั้งสัญญาณจะถูกสร้างขึ้นเมื่อค่าเฉลี่ยเคลื่อนที่ที่สั้นที่สุดข้ามค่าเฉลี่ยเคลื่อนที่อีกสองเส้น ระบบไขว้แบบทริปเปิ้ลที่เรียบง่ายอาจเกี่ยวข้องกับค่าเฉลี่ยเคลื่อนที่ 5 วัน 10 วันและ 20 วัน แผนภูมิด้านบนแสดง Home Depot (HD) ด้วย EMA 10 วัน (เส้นสีเขียว) และ EMA 50 วัน (เส้นสีแดง) เส้นสีดำปิดทุกวัน การใช้ครอสโอเวอร์เฉลี่ยเคลื่อนที่จะส่งผลให้เกิด whipsaws สามตัวก่อนที่จะมีการค้าขายที่ดี EMA 10 วันพังลงมาต่ำกว่า EMA 50 วันในช่วงปลายเดือนตุลาคม (1) แต่ระยะเวลาดังกล่าวไม่นานถึง 10 วันที่กลับมาในช่วงกลางเดือนพฤศจิกายน (2) การข้ามนี้ใช้เวลานาน แต่ครอสโอเวอร์แบบลบต่อไปในเดือนมกราคม (3) เกิดขึ้นใกล้ระดับราคาในปลายเดือนพฤศจิกายนซึ่งส่งผลให้เกิดการแสลงอีกครั้ง เครื่องหมายกากบาทดังกล่าวไม่อยู่ในช่วงที่ EMA 10 วันกลับมาอยู่เหนือ 50 วันในอีกไม่กี่วันต่อมา (4) หลังจากสัญญาณไม่ดีสามสัญญาณสัญญาณที่สี่คาดว่าจะมีการเคลื่อนไหวที่แข็งแกร่งเมื่อหุ้นพุ่งขึ้นสูงกว่า 20 แห่งมีสองประเด็นที่นี่ แรกไขว้มีแนวโน้มที่จะ whipsaw สามารถใช้ตัวกรองราคาหรือเวลาเพื่อช่วยป้องกันไม่ให้ whipsaws ผู้ค้าอาจต้องการครอสโอเวอร์ 3 วันก่อนทำเครื่องหมายหรือต้องการให้ EMA 10 วันเคลื่อนตัวเหนือเส้น EMA 50 วันตามจำนวนที่กำหนดก่อนทำการค้า ประการที่สอง MACD สามารถใช้ระบุและหาจำนวนไขว้ได้ MACD (10,50,1) จะแสดงเส้นที่แสดงถึงความแตกต่างระหว่างค่าเฉลี่ยเคลื่อนที่แบบทแยงมุมสองค่า MACD เปลี่ยนเป็นค่าบวกระหว่างช่วงกากบาทสีทองและค่าลบระหว่างช่วงที่ตายแล้ว Oscillator ราคาร้อยละ (PPO) สามารถใช้วิธีเดียวกันเพื่อแสดงความแตกต่างของเปอร์เซ็นต์ โปรดทราบว่า MACD และ PPO ใช้ค่าเฉลี่ยเคลื่อนที่ที่เป็นเส้นตรงและไม่ตรงกับค่าเฉลี่ยเคลื่อนที่โดยเฉลี่ย แผนภูมินี้แสดง Oracle (ORCL) พร้อมกับ EMA 50 วัน EMA 200 วันและ MACD (50,200,1) ในช่วงระยะเวลา 12 ปีมีการครอสโอเวอร์เฉลี่ย 4 ช่วง สามคนแรกทำให้เกิดเสียงกระหึ่มหรือไม่ดี แนวโน้มอย่างต่อเนื่องเริ่มขึ้นด้วยการครอสโอเวอร์ที่ 4 เมื่อ ORCL ก้าวสู่ช่วงกลางยุค 20 อีกครั้งการขยับไขว้เฉลี่ยทำงานได้ดีเมื่อมีแนวโน้มแข็งแกร่ง แต่สร้างความสูญเสียในกรณีที่ไม่มีแนวโน้ม ราคา Crossovers ค่าเฉลี่ยเคลื่อนที่สามารถใช้ในการสร้างสัญญาณด้วย crossovers ราคาที่เรียบง่าย สัญญาณรั้นเกิดขึ้นเมื่อราคาเคลื่อนตัวเหนือค่าเฉลี่ยเคลื่อนที่ สัญญาณหยาบคายถูกสร้างขึ้นเมื่อราคาเคลื่อนตัวต่ำกว่าค่าเฉลี่ยเคลื่อนที่ ไขว้ราคาสามารถรวมกันเพื่อการค้าภายในแนวโน้มที่ใหญ่กว่า ค่าเฉลี่ยที่ยาวขึ้นจะกำหนดค่าเสียงสำหรับแนวโน้มที่ใหญ่ขึ้นและใช้ค่าเฉลี่ยเคลื่อนที่ที่สั้นลงเพื่อสร้างสัญญาณ หนึ่งจะมองหาการข้ามราคารั้นเฉพาะเมื่อราคามีอยู่แล้วสูงกว่าค่าเฉลี่ยเคลื่อนที่อีกต่อไป นี้จะซื้อขายในความกลมกลืนกับแนวโน้มที่ใหญ่กว่า ตัวอย่างเช่นถ้าราคาสูงกว่าค่าเฉลี่ยเคลื่อนที่ 200 วันนักเก็งกำไรจะเน้นเฉพาะสัญญาณเมื่อราคาเคลื่อนตัวเหนือค่าเฉลี่ยเคลื่อนที่ 50 วันเท่านั้น เห็นได้ชัดว่าการเคลื่อนไหวต่ำกว่าค่าเฉลี่ยเคลื่อนที่ 50 วันจะเป็นสัญญาณก่อนเช่นสัญญาณ แต่จะลดลงเช่นกันเนื่องจากแนวโน้มที่ใหญ่ขึ้น การข้ามแบบหยาบคายจะช่วยแนะนำการฟื้นตัวที่ใหญ่ขึ้น การข้ามกลับเหนือเส้นค่าเฉลี่ยเคลื่อนที่ 50 วันจะส่งสัญญาณถึงการปรับตัวดีขึ้นของราคาและความต่อเนื่องของแนวโน้มขาขึ้นที่ใหญ่ขึ้น กราฟถัดไปแสดง Emerson Electric (EMR) พร้อมกับ EMA 50 วันและ EMA 200 วัน ราคาหุ้นปรับตัวขึ้นเหนือเส้นค่าเฉลี่ยเคลื่อนที่ 200 วันในเดือนส. ค. มีการปรับตัวลงมาต่ำกว่า 50 วัน EMA ในช่วงต้นเดือนพฤศจิกายนและอีกครั้งในช่วงต้นเดือนกุมภาพันธ์ ราคาปรับตัวลงมาอย่างรวดเร็วเหนือเส้น EMA 50 วันเพื่อให้สัญญาณรั้น (ลูกศรสีเขียว) สอดคล้องกับแนวโน้มขาขึ้นที่ใหญ่ขึ้น MACD (1,50,1) แสดงในหน้าต่างตัวบ่งชี้เพื่อยืนยันการข้ามผ่านด้านล่างหรือด้านล่าง EMA 50 วัน EMA เท่ากับ 1 วันเท่ากับราคาปิด MACD (1,50,1) เป็นบวกเมื่อระยะใกล้อยู่เหนือเส้น EMA 50 วันและมีค่าเป็นลบเมื่อระยะใกล้อยู่ใต้ EMA 50 วัน แนวรองรับและความต้านทานการเคลื่อนไหวเฉลี่ยยังสามารถทำหน้าที่เป็นแนวรับในแนวรองรับและแนวต้านระยะสั้นได้ แนวรองรับระยะสั้นอาจได้รับแรงหนุนจากเส้นค่าเฉลี่ยเคลื่อนที่ 20 วันซึ่งใช้ในกลุ่ม Bollinger Bands แนวรองรับระยะยาวอาจได้รับแรงสนับสนุนจากค่าเฉลี่ยเคลื่อนที่ระยะสั้น 200 วันซึ่งเป็นค่าเฉลี่ยระยะยาวที่เป็นที่นิยมมากที่สุด หากความเป็นจริงค่าเฉลี่ยเคลื่อนที่ 200 วันอาจให้การสนับสนุนหรือความต้านทานได้เนื่องจากมีการใช้กันอย่างแพร่หลาย เกือบจะเหมือนกับคำทำนายด้วยตัวคุณเอง แผนภูมิข้างต้นแสดง NY Composite โดยมีค่าเฉลี่ยเคลื่อนที่ 200 วันจากกลางปี ​​2547 จนถึงสิ้นปีพ. ศ. 2551 การสนับสนุน 200 วันให้การสนับสนุนหลายครั้งในช่วงก่อน เมื่อแนวโน้มผันผวนด้วยแรงสนับสนุนด้านบนคู่ค่าเฉลี่ยเคลื่อนที่ 200 วันทำหน้าที่เป็นแนวรับรอบ 9500 อย่าคาดหวังว่าการสนับสนุนที่ถูกต้องและระดับความต้านทานจากค่าเฉลี่ยเคลื่อนที่โดยเฉพาะค่าเฉลี่ยเคลื่อนที่ที่ยาวขึ้น ตลาดมีแรงผลักดันจากความรู้สึกซึ่งทำให้พวกเขามีแนวโน้มที่จะถูกตัดทอน แทนระดับที่แน่นอนค่าเฉลี่ยเคลื่อนที่สามารถใช้เพื่อระบุเขตการสนับสนุนหรือความต้านทานได้ ข้อสรุปข้อดีของการใช้ค่าเฉลี่ยเคลื่อนที่จะต้องมีการชั่งน้ำหนักกับข้อเสีย ค่าเฉลี่ยเคลื่อนที่หมายถึงแนวโน้มหรือล้าหลังตัวชี้วัดที่จะเป็นขั้นตอนต่อไปเสมอ นี้ไม่จำเป็นต้องเป็นสิ่งที่ไม่ดี หลังจากที่ทุกแนวโน้มเป็นเพื่อนของคุณและที่ดีที่สุดคือการค้าในทิศทางของแนวโน้ม การเคลื่อนไหวโดยเฉลี่ยช่วยให้มั่นใจได้ว่าผู้ประกอบการรายย่อยสอดคล้องกับแนวโน้มในปัจจุบัน แม้ว่าเทรนด์จะเป็นเพื่อนของคุณ แต่หลักทรัพย์ก็ใช้จ่ายในช่วงการซื้อขายเป็นอย่างมากซึ่งทำให้ค่าเฉลี่ยเคลื่อนที่ไม่ได้ผล เมื่ออยู่ในแนวโน้มค่าเฉลี่ยเคลื่อนที่จะทำให้คุณได้รับ แต่ก็ให้สัญญาณช้า อย่าคาดหวังที่จะขายที่ด้านบนและซื้อที่ด้านล่างโดยใช้ค่าเฉลี่ยเคลื่อนที่ เช่นเดียวกับเครื่องมือวิเคราะห์ทางเทคนิคส่วนใหญ่ค่าเฉลี่ยเคลื่อนที่ไม่ควรใช้ด้วยตนเอง แต่ร่วมกับเครื่องมือเสริมอื่น ๆ Chartists สามารถใช้ค่าเฉลี่ยเคลื่อนที่เพื่อกำหนดแนวโน้มโดยรวมและใช้ RSI เพื่อกำหนดระดับซื้อเกินหรือ oversold การเพิ่มค่าเฉลี่ยเคลื่อนที่ไปยัง StockCharts Charts การย้ายค่าเฉลี่ยจะมีอยู่เป็นคุณลักษณะการวางซ้อนราคาบนโต๊ะทำงาน SharpCharts การใช้เมนูแบบเลื่อนลงแบบเลื่อนลงผู้ใช้สามารถเลือกค่าเฉลี่ยเคลื่อนที่แบบเรียบหรือค่าเฉลี่ยเคลื่อนที่แบบเสวนา พารามิเตอร์แรกใช้เพื่อกำหนดจำนวนช่วงเวลา คุณสามารถเพิ่มพารามิเตอร์ที่เป็นตัวเลือกเพื่อระบุฟิลด์ราคาที่ควรใช้ในการคำนวณ O สำหรับ Open, H สำหรับ High, L สำหรับ Low และ C สำหรับ Close ใช้เครื่องหมายจุลภาคเพื่อแยกพารามิเตอร์ คุณสามารถเพิ่มพารามิเตอร์อื่นที่จำเป็นเพื่อเปลี่ยนค่าเฉลี่ยเคลื่อนที่ไปทางซ้าย (อดีต) หรือทางขวา (อนาคต) ตัวเลขเชิงลบ (-10) จะเปลี่ยนค่าเฉลี่ยเคลื่อนที่ไปทางซ้าย 10 ช่วงเวลา จำนวนบวก (10) จะเปลี่ยนค่าเฉลี่ยเคลื่อนที่ไปทางขวา 10 ช่วงเวลา ค่าเฉลี่ยเคลื่อนที่หลายค่าสามารถวางซ้อนราคาได้โดยเพียงแค่เพิ่มอีกชั้นวางซ้อนลงในโต๊ะทำงาน สมาชิก StockCharts สามารถเปลี่ยนสีและสไตล์เพื่อแยกความแตกต่างระหว่างค่าเฉลี่ยเคลื่อนที่หลาย ๆ หลังจากเลือกตัวบ่งชี้แล้วให้เปิดตัวเลือกขั้นสูงโดยคลิกที่รูปสามเหลี่ยมสีเขียวเล็กน้อย นอกจากนี้ยังสามารถใช้ตัวเลือกขั้นสูงเพื่อเพิ่มการวางซ้อนค่าเฉลี่ยเคลื่อนไหวสำหรับตัวชี้วัดทางเทคนิคอื่น ๆ เช่น RSI, CCI และ Volume คลิกที่นี่เพื่อดูกราฟสดที่มีค่าเฉลี่ยเคลื่อนที่หลายค่า การใช้ Moving Averages with ScanCharts Scans นี่คือตัวอย่างการสแกนที่สมาชิก StockCharts สามารถใช้ในการสแกนหาสถานการณ์ต่างๆที่มีการเคลื่อนไหวโดยเฉลี่ยได้: Bullish Moving Average Cross: การสแกนนี้เป็นการค้นหาหุ้นที่มีค่าเฉลี่ยเคลื่อนที่ 150 วันที่เพิ่มขึ้น วัน EMA และ EMA 35 วัน ค่าเฉลี่ยเคลื่อนที่ 150 วันจะเพิ่มขึ้นตราบเท่าที่ราคาซื้อขายอยู่เหนือระดับ 5 วันก่อน เครื่องหมายกาชาดเกิดขึ้นเมื่อ EMA 5 วันเคลื่อนตัวเหนือเส้น EMA 35 วันได้เหนือระดับเฉลี่ย Bearish Moving Cross ค่าเฉลี่ย: การสแกนนี้จะมองหาหุ้นที่มีค่าเฉลี่ยเคลื่อนที่ที่ลดลง 150 วันและสัญญาณการชะลอตัวของ EMA 5 วันและ EMA 35 วัน ค่าเฉลี่ยเคลื่อนที่ 150 วันจะร่วงลงตราบเท่าที่ราคาซื้อขายอยู่ในระดับต่ำกว่า 5 วันที่ผ่านมา สัญญาณการซื้อขายขาดดุลเกิดขึ้นเมื่อ EMA 5 วันเคลื่อนตัวใต้ EMA 35 วันจากระดับเฉลี่ยที่สูงกว่า หนังสือของ John Murphy0 มีหนังสือเกี่ยวกับค่าเฉลี่ยเคลื่อนที่และการใช้งานต่างๆ Murphy ครอบคลุมข้อดีและข้อเสียของการย้ายค่าเฉลี่ย นอกจากนี้เมอร์ฟี่ยังแสดงให้เห็นว่าค่าเฉลี่ยเคลื่อนที่โดยใช้ Bollinger Bands และระบบการซื้อขายช่องทางอย่างไร การวิเคราะห์ทางเทคนิคของตลาดการเงิน John Murphy สิ่งที่คุณเรียนรู้ Quiz: ฟังก์ชันตัวจัดการธันธ์ในแบบทดสอบเครื่องปั่น It8217s ตอนนี้เวลาสำหรับฟังก์ชันตัวจัดการร้ายแรงในวิดีโอนี้เราจะใช้สิ่งที่เรียกว่า ltera href8221en. wikipedia. orgwikiMovingaverage0388221 target8221blank8221gtmoving averageltagt โดยปกติจะใช้ใน ตลาดหุ้นเพื่อชุบชีวิตการเคลื่อนไหวของราคาหุ้นเคลื่อนไหวบ้า แทนที่จะทำให้หุ้นลดลง We8217 ปรับให้เหมาะกับการใช้งานในเครื่องปั่นเพื่อลดการเคลื่อนไหวของลูกบาศก์ป่าและทำให้กล้องถ่ายภาพได้ตามธรรมชาติอย่างผ่อนคลาย คำถามและคำตอบจากบทเรียนถามคำถามและรับคำตอบขอบคุณริชาร์ด นั่นเป็นข้อมูลมาก ฉันแค่อยากจะคิดเกี่ยวกับเหตุผลที่คุณต้องใช้ Vector (target. location) ในการเรียกฟังก์ชันผนวก ฉันคิดว่าเป็นเพราะเมื่อคุณเพิ่ม target. location จะถูกเพิ่มเป็นข้อมูลอ้างอิง (ไม่ใช่ vale) ดังนั้นเมื่อใดก็ตามที่เปลี่ยนตำแหน่งของวัตถุองค์ประกอบทั้งหมดในรายการจะชี้ไปยังตำแหน่งปัจจุบัน Welcome to LinuxQuestions. org ชุมชน Linux ที่เป็นมิตรและใช้งานได้ ขณะนี้คุณกำลังดู LQ ในฐานะแขก เมื่อเข้าร่วมชุมชนของเราคุณจะสามารถโพสต์หัวข้อรับจดหมายข่าวของเราใช้การค้นหาขั้นสูงสมัครรับข้อมูลหัวข้อและเข้าถึงคุณลักษณะพิเศษอื่น ๆ ได้มากมาย การลงทะเบียนเป็นไปอย่างรวดเร็วง่ายและฟรีอย่างแน่นอน เข้าร่วมชุมชนของเราวันนี้โปรดทราบว่าสมาชิกที่ลงทะเบียนเห็นโฆษณาน้อยลงและ ContentLink ถูกปิดใช้งานโดยสิ้นเชิงเมื่อคุณเข้าสู่ระบบหากคุณมีปัญหาในการลงทะเบียนหรือเข้าสู่ระบบบัญชีของคุณโปรดติดต่อเรา หากคุณต้องการตั้งรหัสผ่านใหม่คลิกที่นี่ โปรดเข้าสู่หน้านี้เพื่อล้างคุกกี้ที่เกี่ยวข้องกับ LQ ทั้งหมด บทนำสู่ระบบ Linux - คู่มือเกี่ยวกับคู่มือคู่มือนี้สร้างขึ้นเพื่อเป็นภาพรวมของระบบปฏิบัติการ Linux มุ่งสู่ผู้ใช้ใหม่ในฐานะการสำรวจและการเริ่มต้นใช้งานด้วยการออกกำลังกายในตอนท้ายของแต่ละบท สำหรับผู้เข้ารับการฝึกอบรมขั้นสูงอาจเป็นการอ้างอิงเดสก์ท็อปและรวบรวมความรู้พื้นฐานที่จำเป็นต่อการดำเนินการกับระบบและการดูแลระบบเครือข่าย หนังสือเล่มนี้มีตัวอย่างชีวิตจริงมากมายที่ได้จากประสบการณ์ของผู้เขียนในฐานะระบบ Linux และผู้ดูแลระบบเครือข่ายครูฝึกและที่ปรึกษา พวกเขาหวังว่าตัวอย่างเหล่านี้จะช่วยให้คุณเข้าใจถึงระบบลีนุกซ์ได้ดีขึ้นและคุณรู้สึกเป็นกำลังใจที่จะลองใช้สิ่งต่างๆด้วยตัวคุณเอง คลิกที่นี่เพื่อรับคู่มือฉบับสมบูรณ์แบบนี้ฟรี เริ่มต้นด้วยการอ่านข้อมูลลงในอาร์เรย์ที่จัดทำดัชนีโดย (24109 gt 260 24110 gt 220 24111 gt 270 24112 gt 300 24113 gt 269. 24114 gt 271. ) ถ้าคุณใช้ YYYYMM เป็นคีย์คุณจะได้รับ หาปีใหม่ที่ยากมากที่คุณจะต้องการคีย์ที่จะติดต่อกัน โดยค่าเฉลี่ยถ่วงน้ำหนักสามารถคำนวณได้โดยใช้ function weightedaverage (อาร์เรย์คีย์อาร์เรย์น้ำหนัก (1)) รวม 0 div 0 คีย์เวิร์ด (คีย์) foreach (น้ำหนักเป็น w) if (arraykeyexists (คีย์. อาร์เรย์)) sum w array 91 คีย์ 93 div w key if (div 0 ) return FALSE เมื่อข้อมูลอยู่ในพารามิเตอร์แรกพารามิเตอร์ที่สองคือคีย์สำหรับเดือนแรกของหน้าต่างและพารามิเตอร์ที่สามมีน้ำหนักที่ต้องการสำหรับหน้าต่างที่ต้องการโดยค่าเริ่มต้นเพียงหนึ่งเดือน สำหรับไตรมาสที่เลื่อนคุณสามารถใช้อาร์เรย์ (1,1,1) สำหรับอาร์เรย์ครึ่งปี (1,1,1,1,1,1) สำหรับการแจกแจงแบบ Gaussian ศูนย์กลางในเดือนที่สี่โดยใช้อาร์เรย์การแปรปรวน 1 เดือน (0.006,0,061,0.242,0.383,0.242,0.061,0.006) ฟังก์ชันเฉลี่ยด้านบนจะไม่สนใจเดือนที่มีข้อมูลที่หายไปอย่างถูกต้อง น้ำหนักเป็นญาติไม่จำเป็นต้องรวมกันถึงหนึ่งอัน ถ้าไม่มีข้อมูลเลยฟังก์ชันจะคืนค่า FALSE คุณควรจะสามารถปรับแต่งด้านบนเพื่อให้เหมาะกับวัตถุประสงค์ของคุณ ตัวอย่างเช่นคุณอาจจะกำหนดฟังก์ชันแยกต่างหากสำหรับค่าเฉลี่ยที่เลื่อนโดยใช้และกำหนดอาร์เรย์น้ำหนักในฟังก์ชัน (หรือเป็นตัวแปรส่วนกลาง) แทน 1 สมาชิกเห็นว่าโพสต์นี้เป็นประโยชน์ คีย์คือจำนวนเต็มปี 12 เดือน โดยที่ปีคือปีรวมทั้งศตวรรษและเดือนอยู่ระหว่าง 1 ถึง 12 นี่คือตัวอย่างเต็มรูปแบบ ในกรณีนี้เป็นบ้าน - I dont เขียนการบ้านของคุณสำหรับคุณ - Im ใช้บรรทัดคำสั่งล่าม PHP สำหรับนี้: YearMonth ฟังก์ชัน (yyyymm) str strval (yyyymm) if (strlen (str) 6 ampamp strspn (str. 0123456789) 6) intval ย้อนกลับ (substr (str. 0 4), 10) 12 intval (substr (str. 4 2), 10) str strtolower (str) str pregreplace (910-9a-z93.str.) ปี 0 เดือน 0 foreach (explode (. str.) as item) item intval (item. 10) if (item gt 1000 ampamp item lt 9999) year item else if (item item 1) รายการเดือนที่ 12 if (year ampamp เดือน) return 12 year month ถ้า (year) return FALSE str pregreplace (910-993.str) foreach (ระเบิด (. str.) เป็นรายการ) เปลี่ยน (substr (รายการ. 0 3)) jan กรณี คืน 1 ปีกรณี feb. return 2 feb กรณี 12 ปี return 2 กรณี 12 ปี mar. return 3 กรณี 12 ปี apr. คืน 4 กรณี 12 ปีอาจ return 5 12 year jun jun return 6 12 ปีกรณีจูล return 7 กรณี 12 ปี return 8 12 ปีกรณี sep. กลับ 9 ปี 12 ปี return 10 12 ปีกรณี nov return 11 12 ปีกรณี dec ผลตอบแทน 12 12 ปีฟังก์ชัน Quarter (data key) sum 0 div 0 key YearMonth (key) if (key) return FALSE if (isarray (data)) return FALSE สำหรับ (ออฟเซ็ทออฟเซต 0 offset 3) หาก (arraykeyexists (ข้อมูล 91 คีย์ออฟเซต 93) div 1 ถ้า (div lt 1) return FALSE return flo floatval (div) data array (24109 gt 260 24110 gt 220 24111 gt 270. 24112 gt 300. 24113 gt. 269 ​​24114 gt 271 24115 gt 240 24116 gt 234 24117 gt 220 24118 gt 240 24119 gt 262 24120 gt 255 24121 gt 270 24122 gt 210 24123 gt 260 24124 gt 280 24125 gt 259 24126 gt 280 24127 gt 220 24128 gt 240 24129 gt 240 24130 gt 250 24131 gt 271 24132 gt 260 24133 gt 240 24134 gt 250 24135 gt 250 24136 gt 260 24137 gt 225. 24138 gt 257 24139 gt 230. 24140 gt 250. 24141 gt 230. 24142 gt 244. 24143 gt 257. 24144 gt 250. ) for (arg 1 อาร์กิวเมนต์ arg arg arg) ผลไตรมาส (ข้อมูล argv 91 arg 93) ถ้า (ผล FALSE ) echo argv 91 arg 93: ไม่มีข้อมูลสำหรับ qu qu arter. n else echo argv 91 arg 93,: ค่าเฉลี่ยรายไตรมาสอยู่ที่ ผล..n ฟังก์ชัน YearMonth ใช้คู่ของปีและเดือน (หรือ YYYYMM เป็นตัวเลขหรือสตริงเดียว) และส่งกลับเป็นคีย์ที่เหมาะสม ค่อนข้างฉลาดใช้เทคนิคการจัดการสตริงเพื่อให้คุณสามารถใช้เช่น. 2009jan หรือ quotFeb-2010quot หรือ quot; August, 2011quot หรือ 022010 หรือ 20118 และทั้งหมดจะใช้งานได้ ถ้าคุณบันทึกด้านบนเป็น quarter. php คุณสามารถเรียกใช้งานได้ (หลังจากทำเครื่องหมายที่ปฏิบัติการ chmod ux quarter. php) โดยใช้ คำตอบที่รายงานคือ 250 ((260220270) 3), 250 ((210260280) 3) และ 241.333 ((250230244) 3) เนื่องจากคุณมีความกระตือรือร้นในการใช้หน้าต่างปีที่เลื่อนออกไปเพียงหนึ่งไตรมาสฉันจึงใช้ฟังก์ชันเฉลี่ยเพื่อทำอย่างนั้นและนี่เป็นชื่อ Quarter ที่นี่ ผมขอแนะนำให้เปรียบเทียบกับฟังก์ชัน weightedaverage ทางคณิตศาสตร์ตรรกะไตรมาสเป็นเรื่องเล็กน้อย: ค่าเฉลี่ยคือผลรวมของรายการหารด้วยจำนวนรายการ ไตรมาสที่สามเดือน (12 เดือน 4 ไตรมาส 3 เดือนไตรมาส) อีกครั้งถ้าคุณไม่มีข้อมูลสำหรับเดือนที่ระบุบางฟังก์ชันจะข้ามไปหากไม่มีข้อมูลสำหรับรอบระยะเวลาทั้งหมดมันจะคืนค่า FALSE โปรดทราบว่าคุณไม่จำเป็นต้องถ่ายโอนข้อมูลไปยังอาร์เรย์ด้วยตนเอง ถ้าคุณอ่านบรรทัดโดยใช้ fgets () จากนั้นกระชับช่องว่างทั้งหมด (ใช้สำหรับการตัดบรรทัดตัวอย่างเช่น (pregreplace (tnvfr, line))) คุณสามารถระเบิดเส้นเป็นอาร์เรย์โดยใช้ฟิลด์ explode (, line) ความยาวของอาร์เรย์ (count (fields)) จะเป็นหนึ่ง มากกว่าจำนวนปีที่คุณมี ฟิลด์แรกฟิลด์ 0 จะมีเดือนในบรรทัดส่วนหัวและชื่อเดือนในช่องอื่น ๆ ในส่วนหัวของฟิลด์ส่วนที่เหลือจะระบุปีที่มีค่าสำหรับบรรทัดอื่น ๆ เนื่องจากคุณสามารถเติมอาร์เรย์แบบ associative ตามลำดับที่คุณต้องการได้ควรอ่านอาร์เรย์ข้อมูลจากไฟล์โดยใช้รูปแบบตารางจากบทความแรกของคุณในหัวข้อนี้

No comments:

Post a Comment