Sunday 16 July 2017

ชี้แจง เคลื่อนไหว เฉลี่ย Php


ฉันต้องการคำนวณค่าเฉลี่ย EMA Exponential Moving Average ใน PHP. I ve พยายามกับรหัสต่อไปนี้ แต่ s ให้ฉัน 500 error. PHP EMA คำนวณฟังก์ชัน trader-ema. Tried กับเวลานาน Googling แต่ไม่ได้รับความช่วยเหลือในนี้ใน PHP ดังนั้น , I ve เงื่อนงำไม่มีสิ่งที่ต้องทำในการคำนวณค่า EMA. แก้ไข -1 ติดตั้ง extensions. I ติดตั้งทั้งหมดนามสกุลที่จำเป็นตอนนี้ฉันได้รับการส่งออก แต่ doesn t ดูเหมือนให้ output. I เหมาะสมคิดว่าฟังก์ชัน PHP สำหรับ การคำนวณ EMA ไม่ทำงานอย่างถูกต้องความช่วยเหลือในเรื่องนี้จะได้รับการชื่นชมอย่างมากฉันพยายามดึง EMA ล่าสุดของค่าข้อมูล 15000 ชุดข้อมูลเป็นอัลกอริธึมที่ต้องใช้ทรัพยากรมากเนื่องจากแต่ละค่าขึ้นอยู่กับรหัสก่อนหน้านี่คือโค้ดของฉัน สิ่งที่ฉันทำแล้วคำนวณ k ดังนั้นจึงไม่ได้คำนวณ 10000 times. Keep เฉพาะ EMA คำนวณล่าสุดและไม่ให้ทั้งหมดของพวกเขาใน array. use แทน foreach. the อาร์เรย์ข้อมูล doesn t มีคีย์เป็นอาร์เรย์พื้นฐาน นี้ช่วยให้ฉันสามารถลดเวลาดำเนินการจาก 2000ms ไป abo ut 500ms สำหรับ 15000 ค่าสิ่ง didn t work. Use SplFixedArray นี้โกน only.10ms รัน 1,000,000 ค่าใช้ส่วนขยาย PHPTrader นี้ส่งกลับอาร์เรย์ที่มี EMAs ทั้งหมดแทนเพียงล่าสุดและก็ slower. Writing และทำงานเดียวกัน อัลกอริทึมใน C และทำงานได้มากกว่า 2,000,000 ค่าใช้เวลาเพียง 13ms ดังนั้นชัดโดยใช้เรียบเรียงภาษาระดับล่างดูเหมือนว่าจะช่วย P ที่ฉันควรไปจากที่นี่รหัสในที่สุดจะทำงานใน Ubuntu ดังนั้นฉันควรเลือกภาษา PHP สามารถเรียกและผ่านเช่นอาร์กิวเมนต์ใหญ่ script. asked 11 กรกฎาคมที่ 19 19 21.Celarly การใช้กับนามสกุลจะช่วยให้คุณเพิ่มความสำคัญนอกจากนี้แคลคูลัสสามารถปรับปรุงเป็นตัวเองและที่ได้รับคุณสามารถเพิ่มในภาษาใดก็ตามที่คุณ select. It เป็นเรื่องง่ายที่จะเห็นว่า lastEMA สามารถคำนวณได้ดังต่อไปนี้ซึ่งสามารถเขียนใหม่ได้ดังต่อไปนี้เพื่อที่จะออกจาก loop ให้มากที่สุดเท่าที่จะเป็นไปได้เพื่ออธิบายการสกัดของ k คิดว่าในสูตรก่อนหน้านี้จะเป็นถ้า ทั้งหมด ดิบข้อมูลดิบจะคูณด้วย k ดังนั้นในทางปฏิบัติคุณสามารถเพิ่มผลลัพท์ที่เกิดขึ้นได้แล้วหมายเหตุว่าเขียนใหม่ด้วยวิธีนี้คุณจะมีการดำเนินงาน 2 รอบภายในวงเล็บแทน 3 เพื่อให้แม่นยำภายในลูปนอกจากนี้ยังมีการเพิ่ม i เพิ่มขึ้นการเปรียบเทียบ ด้วยการกำหนดค่าขนาดและ lastEMA ดังนั้นวิธีนี้ทำให้คุณสามารถบรรลุการเพิ่มความเร็วเพิ่มเติมในช่วงระหว่าง 16 ถึง 33 นอกจากนี้ยังมีการปรับปรุงอื่น ๆ ที่สามารถพิจารณาได้อย่างน้อยในบางสถานการณ์โดยพิจารณาเฉพาะค่าล่าสุดค่าแรกคือ คูณหลายครั้งโดย k1m 1 - k ดังนั้นการมีส่วนร่วมของพวกเขาอาจน้อยหรือแม้กระทั่งไปภายใต้ความแม่นยำจุดลอยหรือข้อผิดพลาดที่ยอมรับได้ความคิดนี้เป็นประโยชน์อย่างยิ่งหากคุณสามารถทำสมมติฐานว่าข้อมูลที่เก่ากว่ามีลำดับเดียวกันของขนาดเป็น ใหม่กว่าเพราะถ้าคุณพิจารณาเฉพาะค่า n สุดท้ายข้อผิดพลาดที่คุณทำคือ err EMAofdiscardeddata 1- k n ดังนั้นถ้าความกว้างของคำสั่งมีความเหมือนกันเราสามารถบอกได้ว่าข้อผิดพลาดที่สัมพันธ์กันคือ relerr err lastEMA EMAofdiscardeddata 1- kn lastEMA. that เกือบจะเท่ากับเพียง 1 - k n ภายใต้สมมติฐานว่า lastEMA เกือบเท่ากับ EMAofdiscardeddata. Lat s บอกว่าคุณสามารถยอมรับข้อผิดพลาด relerr. you ญาติได้อย่างปลอดภัยสามารถพิจารณาเฉพาะ n ล่าสุด ค่าที่ 1 - kn relerr. Means ที่คุณสามารถคำนวณก่อน log n log relerr ล็อก 1 - k และคำนวณทั้งหมดเฉพาะเมื่อพิจารณาค่า n สุดท้ายถ้าชุดข้อมูลมีขนาดใหญ่มากนี้สามารถให้ speedup.0 พิจารณาว่าสำหรับ หมายเลขจุดลอยตัว 64 บิตคุณมีความแม่นยำสัมพัทธ์ที่เกี่ยวข้องกับ mantissa ที่เป็น 2 -53 ประมาณ 1 1e-16 และมีเพียง 2 -24 5 96e-8 สำหรับตัวเลขทศนิยม 32 บิตเท่านั้นดังนั้นคุณจึงไม่สามารถหาได้ดีกว่าข้อผิดพลาดของญาตินี้ โดยทั่วไปคุณไม่ควรมีข้อได้เปรียบในการคำนวณมากกว่า n log 1 1e-16 log 1- k values. to ให้ตัวอย่างถ้าช่วง 2000 แล้ว n log 1 1e-16 log 1-2 2001 36 746. คิดว่าน่าสนใจ รู้ว่าการคำนวณพิเศษจะหายไปภายในรอบที่ไร้ประโยชน์จะดีกว่า t to do. now ตัวอย่างหนึ่งสำหรับกรณีที่คุณสามารถยอมรับความผิดพลาดของญาติที่มีขนาดใหญ่กว่าความแม่นยำของจุดลอยตัว 1ppm 1e-6 0 00001 6 หลักทศนิยมที่คุณมี n log 1 1e-16 log 1-2 2001 13 815.I คิดว่าเป็นจำนวนน้อยเมื่อเทียบกับตัวเลขตัวอย่างล่าสุดของคุณดังนั้นในกรณีที่ speedup อาจจะเห็นฉันสมมติว่า m ช่วง 2000 มีความหมายหรือสูงสำหรับการใช้งานของคุณ แต่ฉันไม่สามารถทราบตัวเลขอื่น ๆ ไม่กี่เพราะฉันไม่ทราบว่า เป็นตัวเลขทั่วไปของคุณ relerr 1e-3 range 2000 n 6 907 relerr 1e-3 range 200 n 691 relerr 1e-3 range 20 n 69 relerr 1e-6 range 2000 n 13 815 relerr 1e-6 range 200 n 1 381. relerr 1e -6 ช่วง 20 n 138 หากสมมติฐาน lastEMA เกือบเท่ากับ EMAofdiscardeddata ไม่สามารถถ่ายได้ง่ายน้อยกว่า แต่เนื่องจากข้อได้เปรียบที่สำคัญมากจึงอาจมีความหมายต่อไปเราจำเป็นต้องพิจารณาสูตร relerr แบบใหม่ EMAofdiscardeddata 1- kn lastEMA. so n บันทึก relerr lastEMA EMAofdiscardeddata log 1 - k log relerr log lastEMA EMAofdiscardeddata log 1 - k คือจุดศูนย์กลางคือการคำนวณ lastMAA EMAofdiscardeddata ข้อมูลโดยไม่ต้องคำนวณ lastEMA หรือ EMAofdiscardeddata ของ course. one กรณีคือเมื่อเรารู้ a priori ว่า ตัวอย่างเช่น EMAofdiscardeddata lastEMA M เช่น M 1000 หรือ M 1e6.in กรณีนั้น n relerr rel log M log 1- k. if คุณไม่สามารถให้หมายเลข M ได้คุณต้องหาวิธีที่ดีกว่าในการประเมิน EMAofdiscardeddata lastEMA. one วิธีที่รวดเร็ว อาจจะใช้ M ข้อมูลสูงสุด min data. The สามารถเขียนใหม่ ในรูปแบบที่มันเป็นคำอธิบายที่เป็นอิสระนอกจากนี้ถ้าภาษาที่ใช้สนับสนุน parallelization ชุดข้อมูลสามารถแบ่งออกเป็น 4 หรือ 8 หรือ n โดยทั่วไปจำนวนแกน CPU ที่มีอยู่และสามารถคำนวณผลรวมของเงื่อนไขในแต่ละ ก้อนในแบบขนานสรุปผลแต่ละที่ท้ายฉันไม่ได้ไปในรายละเอียดด้วยนี้เนื่องจากคำตอบนี้มีอยู่แล้วชะมัดยาวและฉันคิดว่าแนวคิดมีการแสดงแล้วขอบคุณคุณนี้ I m ใช้นี้ในข้อมูลการลงทุนในตลาดหุ้นดังนั้น ความจริงที่ว่าข้อมูลที่เก่ากว่าอยู่ในลำดับความสำคัญเท่ากันเนื่องจากข้อมูลใหม่ ๆ ขึ้นอยู่กับกรอบเวลาที่ใช้สมมติว่าช่วงของ 200 จะมีการเปลี่ยนแปลงในราคาในกรอบเวลารายวัน 200 วันมากกว่ากรอบเวลา 5 นาที 16 ชั่วโมงฉันจะทดสอบกับสถานการณ์ที่แตกต่างกันเกี่ยวกับข้อมูลจริงและข้อมูลจำลองข้อมูลใหม่ที่มีช่วง 200 ฉันใช้ชุดข้อมูลองค์ประกอบ 1000 แต่ฉันยังทำการทดสอบกลับบางช่วงไม่กี่ปีที่ผ่านมาดังนั้นฉันยังต้องโหลดชุดข้อมูลทั้งหมด คุณช่วยทั้งสองอย่าง สถานการณ์ขอบคุณ Lykegenes Jul 16 14 at 15 11.Building ส่วนขยายของคุณเองแน่นอนช่วยเพิ่มประสิทธิภาพการทำงานที่นี่ sa tutorial ดีจาก Zend เว็บไซต์ตัวเลขประสิทธิภาพบางฮาร์ดแวร์ Ubuntu 14 04, PHP 5 5 9, 1-core Intel CPU 3 3GHz, 128MB RAM มัน SA VPS ก่อนที่จะ PHP เท่านั้น 16,000 ค่า 500ms. C ส่วนขยาย 16,000 ค่า 0 3ms. C ส่วนขยาย 100,000 ค่า 3 7ms. C ส่วนขยาย 500,000 ค่า 28 0ms. But I m ​​หน่วยความจำ จำกัด ที่จุดนี้โดยใช้ 70MB ฉันจะแก้ไขที่ และการปรับปรุงตัวเลขตามลำดับค่าเฉลี่ยเคลื่อนที่ที่เป็นตัวบ่งชี้ตัวชี้วัดการเคลื่อนที่แบบ Exponential EMA ใช้เพื่อลดค่าเฉลี่ยของค่าเฉลี่ยเคลื่อนที่โดยใช้ค่าน้ำหนักที่เพิ่มขึ้นเมื่อเทียบกับราคาที่เก่ากว่าโดยใช้ Weighting Exponential Moving Average จะทำปฏิกิริยา การเปลี่ยนแปลงราคาเมื่อเร็ว ๆ นี้เมื่อเทียบกับค่าเฉลี่ยเคลื่อนที่อย่างง่ายการใช้ตัวบ่งชี้ที่เป็นประโยชน์สำหรับตัวบ่งชี้การเคลื่อนที่โดยเฉลี่ยอยู่ที่กลยุทธ์ Mean Reversion ซึ่งมีวัตถุประสงค์เพื่อระบุเหตุการณ์ที่ผิดปกติและทำการค้า pr น้ำแข็งกลับไปที่ค่าเฉลี่ยราคาที่ข้ามเฉลี่ยเคลื่อนที่ยังมีประโยชน์มากสำหรับการระบุจุดจบของการเคลื่อนไหวของราคาในระยะยาวอย่างไรก็ตามควรสังเกตว่าเนื่องจากลักษณะของตัวบ่งชี้ที่ล่าช้าไม่ได้มีประสิทธิภาพมากในช่วงระยะเวลา การคำนวณค่าเฉลี่ยของค่าเฉลี่ยที่คำนวณได้การคำนวณค่าเฉลี่ยเคลื่อนที่แบบเสวนาขึ้นอยู่กับเปอร์เซ็นต์ของค่าช่วงเวลาปัจจุบันบวกค่าเฉลี่ยเคลื่อนที่ก่อนหน้าคูณด้วยค่าถ่วงน้ำหนักที่ขึ้นอยู่กับจำนวนงวดที่ใช้ในการคำนวณค่าดังต่อไปนี้ สูตรจะใช้ในการคำนวณ weighting ตัวอย่างเช่นถ้าจำนวนรอบ n ที่ใช้ในการคำนวณ Exponential Moving Average อยู่ที่ 9 จากนั้นการชั่งน้ำหนัก 20 จะใช้กับราคาปิดปัจจุบันและการชั่งน้ำหนัก 80 ที่ใช้กับค่าเฉลี่ยการย้ายฐานการผลิตก่อนหน้านี้ ตัวบ่งชี้ที่เป็นตัวบ่งชี้อัตราการเคลื่อนที่ที่เป็นตัวบ่งชี้ตัวบ่งชี้การเคลื่อนไหวเฉลี่ยเลขคณิตสามารถแสดงผลได้บนแผนภูมิ timetotrade เมื่อต้องการเพิ่มเลขประจำตัวที่เคลื่อนย้าย A ตัวบ่งชี้ verage ไปยังแผนภูมิ timetotrade ไปที่การตั้งค่าแผนภูมิและคลิกที่ปุ่มเพิ่มตัวบ่งชี้คลิกที่กล่องค้นหาและพิมพ์ชื่อของตัวบ่งชี้ที่คุณกำลังมองหาหรือเช่นพิมพ์ Exponential Moving Average และเลื่อนดูผลการค้นหา เพิ่มตัวบ่งชี้การบ่งชี้ระดับการเคลื่อนย้ายเลขประจำตัวภายในการตั้งค่าแผนภูมิคลิกเพื่อตั้งค่าพารามิเตอร์และเปลี่ยนสีการแจ้งเตือนค่าเฉลี่ยที่เป็นไปได้สำหรับการเคลื่อนย้ายการแจ้งเตือนการแจ้งเตือนสามารถตั้งค่าเพื่อส่งการแจ้งเตือนทางอีเมลหรือข้อความ SMS เมื่อมีการระบุ เงื่อนไขที่ได้รับการตอบสนองกลยุทธ์การซื้อขาย backtest หรือดำเนินการเทรดดิ้งสาธิตเพื่อเรียนรู้เพิ่มเติมมันไม่เคยมีง่ายกว่าที่จะเรียกกลยุทธ์การค้าของคุณ Trigger Trading Technology ของเราหมายความว่าคุณสามารถดำเนินธุรกิจการค้าของคุณได้โดยตรงในตลาดโลกของโลกคุณไม่จำเป็นต้องพลาด โอกาสทางการค้าอีกครั้งซื้อเมื่อเงื่อนไขการวิเคราะห์ทางเทคนิคของคุณได้รับการตอบสนองจริงๆไม่เพียง แต่ได้รับอีเมลหรือ sms alert. or ขาย เมื่อเส้นแนวโน้มการสนับสนุนหักหรือทดสอบกลยุทธ์ของคุณย้อนกลับไปไกลถึง 30 ปีเทคโนโลยีการซื้อขาย Trigger Trigger ของเกมจะเปลี่ยนไปอย่างแท้จริงมันทำให้คุณมีข้อได้เปรียบในการซื้อขายพลังในการซื้อขายของคุณในระดับใหม่ UK Trade UK หุ้นสหรัฐฯและยุโรป - ใช้ในขณะนี้ดำเนินการซื้อขายเมื่อราคากราฟแท่งเทรนด์ไลน์ของคุณและเงื่อนไขการวิเคราะห์ทางเทคนิคได้ตามเงื่อนไขโดยใช้เทคโนโลยีการซื้อขาย Trigger - เรียนรู้เพิ่มเติม - วิดีโอช่วยเหลืออีเมลและ SMS Trigger Trading Alerts - เรียนรู้เพิ่มเติม. Trade Off The เรียนรู้เพิ่มเติม. สร้างบัญชีซื้อขายแบบจำลองเพื่อทดสอบกลยุทธ์การซื้อขาย Trigger ของคุณ - เรียนรู้ข้อมูลเพิ่มเติม Forex, UK, ยุโรปและสหรัฐฯข้อมูลตลาด - เรียนรู้เพิ่มเติม .170 การวิเคราะห์ทางเทคนิคและตัวชี้วัดรูปแบบเชิงเทียน - เรียนรู้เพิ่มเติมเครื่องมือทั้งหมดที่คุณต้องใช้ในการตั้งค่าและเรียกใช้ชมรมการลงทุนที่ประสบความสำเร็จ - เรียนรู้เพิ่มเติมการจัดการพอร์ตการลงทุนของคุณและคำนวณ UK HMRC Capital Gains and SA 108 CGT Tax Returns - เรียนรู้เพิ่มเติม. สร้างการแข่งขันทางการค้าสำหรับคุณและเพื่อนฝูงของคุณ - เรียนรู้เพิ่มเติม. สมัครเป็นสมาชิกบัญชีซื้อขายวันนี้และรับโปรแพ็กเกจฟรี - สมัครวันนี้สมัครตอนนี้เพื่อทดลองใช้แพลตฟอร์มที่ยอดเยี่ยมของเรา ข้อมูลและข้อมูลที่ให้ไว้มีวัตถุประสงค์เพื่อการศึกษาและข้อมูลเท่านั้นการตีความและการใช้ข้อมูลและข้อมูลที่จัดหาให้อยู่ในความเสี่ยงของผู้ใช้ข้อมูลและข้อมูลทั้งหมดในเว็บไซต์นี้ได้มาจากแหล่งข้อมูลที่เชื่อว่ามีความถูกต้องและเชื่อถือได้อย่างไรก็ตามข้อผิดพลาดหรือ การละเลยเป็นไปได้เนื่องจากความผิดพลาดของมนุษย์และเครื่องจักรกลข้อมูลและข้อมูลทั้งหมดถูกจัดเตรียมโดยไม่ได้รับการรับประกันใด ๆ เราไม่ได้รับรองความถูกต้องครบถ้วนหรือตรงเวลาของข้อมูลและข้อมูลในเว็บไซต์นี้และเราขอสงวนสิทธิ์ ในดุลยพินิจและไม่มีข้อผูกมัดใด ๆ ในการเปลี่ยนแปลงทำการปรับปรุงหรือแก้ไขข้อผิดพลาดหรือการละเว้นใด ๆ ในส่วนใด ๆ ของบริการได้ตลอดเวลาผลการดำเนินงานที่ผ่านมาคือ n ot รับประกันผลในอนาคตการค้ามีระดับความเสี่ยงสูงต่อเงินทุนของคุณและอาจส่งผลให้เกิดความเสียหายเกินกว่าเงินฝากของคุณอาจไม่เหมาะสำหรับทุกคนดังนั้นโปรดตรวจสอบให้แน่ใจว่าคุณเข้าใจถึงความเสี่ยงทั้งหมดที่เกี่ยวข้องโดยบริการทั้งหมดของ Mercor Index Ltd TimeToTrade เป็นชื่อการค้าของ Mercor Index Ltd ซึ่งเป็น บริษัท จดทะเบียนในอังกฤษและเวลส์ภายใต้หมายเลข 9479466 ที่อยู่สำหรับลงทะเบียนของเราคือ 34-36 St Georges Road, Brighton, BN2 1ED Mercor Index Ltd ได้รับอนุญาตและควบคุมโดย Financial Conduct Authority number 679941 บริการการค้าที่นำเสนอโดย Mercor Index Ltd ไม่สามารถใช้งานได้กับผู้อยู่อาศัยในสหรัฐอเมริกาและไม่ได้มีไว้สำหรับการใช้งานบุคคลใดในประเทศใดก็ตามที่การให้บริการดังกล่าวขัดต่อกฎหมายหรือข้อบังคับท้องถิ่นการสมัครรับข้อมูลผลิตภัณฑ์ TimeToTrade จะมีให้หากคุณไม่ได้ มีสิทธิ์ได้รับบริการการค้าระหว่างประเทศ Mercury Index Ltd.

No comments:

Post a Comment