วิธีที่ง่ายที่สุดในการนับแถบจาก X เป็นเวลาปัจจุบัน? - Page 2
หน้า 2 จาก 1002 FirstFirst 12
Results 11 to 18 of 18

Thread: วิธีที่ง่ายที่สุดในการนับแถบจาก X เป็นเวลาปัจจุบัน?

  1. #11

    Quote Originally Posted by ;
    ลองใช้วิธีนี้ดูว่าภาพช่วยหรือไม่
    ขอขอบคุณ. ที่จริงใกล้ชิดกับสิ่งที่ฉันพยายามทำ สำหรับ DH และ DL มันเป็นสิ่งที่ฉันได้พยายามที่จะทำ แต่มันทำให้ส่วนที่เหลือของสายยากขึ้น ฉันได้เพิ่มโค้ดบางส่วนในสิ่งที่คุณทำ คุณสามารถดูสิ่งที่ฉันกำลังพยายามทำตามรหัสฉันพยายามเพิ่มบรรทัดพร้อมกันที่หนึ่งในสามเหนือ DL และหนึ่งในสามด้านล่าง DH หนึ่งในสามเป็นโดยพลการอาจเป็นครึ่งหรือแม้แต่หนึ่งในสี่หรือทั้งหมด พร้อมกันและถูกต้องคือกุญแจสำคัญ ฉันก็สามารถที่จะได้รับมันเพื่อวาดเส้นบางสิ่งที่ฉันคิดว่าอยู่ในช่วงเวลาหนึ่งในสาม แต่ทั้งคณิตศาสตร์หรือเหตุผลของฉันเป็นทางออก ฉันเพิ่มบัฟเฟอร์เพิ่มเติมและโค้ดด้านล่าง ฉันจะทำอะไรผิดที่นี่ได้? โค้ดที่แทรกสำหรับ (int i = rates_total-fmax (prev_calculated, 1); igt; = 0; i--) {datetime เที่ยงคืน = เวลา # 91; i # 93 ;-( Time # 91; i # 93;% 86400) ; int shift = iBarShift (NULL, 0, เที่ยงคืน), cnt = shift-i 1, indexHigh = iHighest (NULL, 0, MODE_HIGH, cnt, i), indexLow = iLowest (NULL, 0, MODE_LOW, cnt, i) indexU3 = ดัชนีสูง - ((ดัชนีสูง - ต่ำสุด)3), indexL3 = indexLow ((indexHigh-indexLow)3); dayHigh # 91; I # 93; = สูง # 91; indexHigh # 93 ;; dayLow # 91; I # 93; = ต่ำ # 91; indexLow # 93 ;; dayU3 # 91; I # 93; = ปิด # 91; indexU3 # 93 ;; dayL3 # 91; I # 93; = ปิด # 91; indexL3 # 93 ;; }

  2. #12

    Quote Originally Posted by ;
    {quote} ขอบคุณ ที่จริงใกล้ชิดกับสิ่งที่ฉันพยายามทำ สำหรับ DH และ DL มันเป็นสิ่งที่ฉันได้พยายามที่จะทำ แต่มันทำให้ส่วนที่เหลือของสายยากขึ้น ฉันได้เพิ่มโค้ดบางส่วนในสิ่งที่คุณทำ คุณสามารถดูสิ่งที่ฉันกำลังพยายามทำตามรหัสฉันพยายามเพิ่มบรรทัดพร้อมกันที่หนึ่งในสามเหนือ DL และหนึ่งในสามด้านล่าง DH หนึ่งในสามเป็นโดยพลการอาจเป็นครึ่งหรือแม้แต่หนึ่งในสี่หรือทั้งหมด พร้อมกันและถูกต้องคือกุญแจสำคัญ ฉันสามารถทำให้มันวาดเส้นบางอย่างที่ฉันคิดว่าเป็นหนึ่งในสาม ...
    คุณกำลังพยายามที่จะคำนวณที่สามโดยใช้ดัชนีของสูงและต่ำไม่ใช่ค่าของสูงและต่ำ โค้ดแทรก # property ############################################################################################################################ int OnInit () {SetIndexBuffer (0, dayHigh); SetIndexBuffer (1, dayLow); SetIndexBuffer (2, upper3); SetIndexBuffer (3, lower3); SetIndexStyle (0, DRAW_LINE, STYLE_SOLID); SetIndexStyle (1, DRAW_LINE, STYLE_SOLID); SetIndexStyle (2, DRAW_LINE, STYLE_DASH); SetIndexStyle (3, DRAW_LINE, STYLE_DASH); กลับ (INIT_SUCCEEDED); } int OnCalculate (const int rate_total, const int prev_calculated, const เวลา # 91; # 93 ;, const เปิดสองครั้ง # 91; # 93 ;, const สูงสองครั้ง # 91; # 93 ;, const double low # 91; # 93 ; const double close # 91 # 93 ;, const length tick_volume # 91; # 93 ;, const length # 91; # 93 ;, const int กระจาย # 91; # 93 {for (int i = rates_total- fmax (prev_calculated, 1); igt; = 0; i--) {เที่ยงคืน datetime = เวลา # 91; i # 93 ;-( Time # 91; i # 93;% 86400); int shift = iBarShift (NULL, 0, เที่ยงคืน), cnt = shift-i 1, indexHigh = iHighest (NULL, 0, MODE_HIGH, cnt, i), indexLow = iLowest (NULL, 0, MODE_LOW, cnt, i); วันที่สูง # 91; ฉัน # 93; = สูง # 91; ดัชนีสูง # 93 ;; dayLow # 91; I # 93; = ต่ำ # 91; indexLow # 93 ;; ช่วงที่สอง = (วันสูง # 91; ฉัน # 93; - วันที่ # 91; # 933; upper3 # 91; I # 93; = วันที่สูง # 91; i # 93; - เรียงราย; lower3 # 91; I # 93; = dayLow # 91; i # 93; ช่วง ; } return (rate_total); }

  3. #13

    Quote Originally Posted by ;
    {quote} คุณกำลังพยายามคำนวณอันดับที่สามโดยใช้ดัชนีของทั้งสูงและต่ำไม่ใช่ค่าของทั้งสูงและต่ำ
    ขอบคุณที่ ฉันใช้รหัสด้านล่างก่อนที่จะโพสต์ตัวอย่างใหม่ ได้รับการทำงานด้วย ... รหัสที่แทรก dayU3 # 91; i # 93; = วันที่สูง # 91, ฉัน # 93; - ((วันที่สูง # 91; ฉัน # 93; - วันที่ # 91; ฉัน # 933); dayL3 # 91; I # 93; = dayLow # 91; i # 93; ((dayHigh # 91; i # 93; -dayLow # 91; i # 933);

  4. #14
    Quote Originally Posted by ;
    {quote} ขอบคุณที่ ฉันใช้รหัสด้านล่างก่อนที่จะโพสต์ตัวอย่างใหม่ ได้ไปทำงานด้วย ... dayU3 [i] = dayHigh [i] - ((dayHigh [i] - dayLow [i])3); dayL3 [i] = dayLow [i] ((dayHigh [i] - dayLow [i])3);

  5. #15
    ฉันพยายามเพิ่มบรรทัด 3 ภาพให้กับภาพจริงและมีเพียงเล็กน้อยเท่านั้นที่ประสบความสำเร็จ # 1 ตกลง - ฉันได้เพิ่ม: dayOpen [i] = เปิด [shift]; ทำงานได้ตามที่ตั้งใจไว้กับบรรทัดพร้อม ๆ กันในแต่ละเซสชันที่แสดงช่วงเวลาเปิด # 2 ไม่เป็นไร - ฉันยังพยายามเพิ่มส่วนที่ใกล้เคียงกับเมื่อวานนี้ในวันนี้และในแต่ละวันของวันถัดไป # 3 ถ้าฉันได้รับ # 2 เพิ่มแล้วฉันยังสามารถเพิ่ม ((เมื่อวานนี้ปิด วันนี้เปิด)2) เป็นบรรทัดที่สามเพิ่มเติม # 2 และ # 3 มีความท้าทายมากกว่าที่ฉันคิด ฉันจะได้รับบรรทัดใกล้ชิดเมื่อวานนี้ปรากฏในวันนี้ แต่ฉันไม่สามารถเปลี่ยนให้เหมาะสมได้ดังนั้นปัญหาที่ฉันถือว่าอยู่ในการตั้งค่าดัชนี dayPrevClose [i] = ปิด [shift 1]; ไม่ทำงานตามที่ตั้งใจไว้และ dayPrevClose [i] = ปิด [shift] ดึงส่วนที่เหลือของแถบที่ 1 ของวัน ฉันจะบรรลุข้อตกลงนี้ได้อย่างไรเพื่อปิดปากวันก่อนหน้านี้ในข้อมูลวันนี้และเปลี่ยนไปอย่างเหมาะสม

  6. #16

    Quote Originally Posted by ;
    ฉันพยายามเพิ่มบรรทัด 3 ภาพให้กับภาพจริงและมีเพียงเล็กน้อยเท่านั้นที่ประสบความสำเร็จ # 1 ตกลง - ฉันได้เพิ่ม: dayOpen = เปิด [shift]; ทำงานได้ตามที่ตั้งใจไว้กับบรรทัดพร้อม ๆ กันในแต่ละเซสชันที่แสดงช่วงเวลาเปิด # 2 ไม่เป็นไร - ฉันยังพยายามเพิ่มส่วนที่ใกล้เคียงกับเมื่อวานนี้ในวันนี้และในแต่ละวันของวันถัดไป # 3 ถ้าฉันได้รับ # 2 เพิ่มแล้วฉันยังสามารถเพิ่ม ((เมื่อวานนี้ปิด วันนี้เปิด)2) เป็นบรรทัดที่สามเพิ่มเติม # 2 และ # 3 มีความท้าทายมากกว่าที่ฉันคิด ฉันจะได้รับเมื่อวานนี้ ...
    ฉันคิดว่าคุณได้รับอาร์เรย์ออกจากข้อความแสดงข้อผิดพลาดช่วงในบันทึกผู้เชี่ยวชาญของคุณ (ถ้า shift มีแถบที่เก่าที่สุดในแผนภูมิแล้วคุณจะไม่สามารถเพิ่มได้ 1 รายการ) Inserted Code #property strict #property indior_chart_window #property indior_buffers 7 double วัน # 91; # 93; วันที่ # 91 # 93 ####################################################################################################################### 91; # 93 ;; int OnInit () {SetIndexBuffer (0, dayHigh); SetIndexBuffer (1, dayLow); SetIndexBuffer (2, upper3); SetIndexBuffer (3, lower3); SetIndexBuffer (4, dayOpen); SetIndexBuffer (5, prevClose); SetIndexBuffer (6, closeopen2); SetIndexStyle (0, DRAW_LINE, STYLE_SOLID); SetIndexStyle (1, DRAW_LINE, STYLE_SOLID); SetIndexStyle (2, DRAW_LINE, STYLE_DASH); SetIndexStyle (3, DRAW_LINE, STYLE_DASH); SetIndexStyle (4, DRAW_LINE, STYLE_SOLID); SetIndexStyle (5, DRAW_LINE, STYLE_SOLID); SetIndexStyle (6, DRAW_LINE, STYLE_DOT); กลับ (INIT_SUCCEEDED); } int OnCalculate (const int rate_total, const int prev_calculated, const เวลา # 91; # 93 ;, const เปิดสองครั้ง # 91; # 93 ;, const สูงสองครั้ง # 91; # 93 ;, const double low # 91; # 93 ; const double close # 91 # 93 ;, const length tick_volume # 91; # 93 ;, const length # 91; # 93 ;, const int กระจาย # 91; # 93 {for (int i = rates_total- fmax (prev_calculated, 1); igt; = 0; i--) {เที่ยงคืน datetime = เวลา # 91; i # 93 ;-( Time # 91; i # 93;% 86400); int shift = iBarShift (NULL, 0, เที่ยงคืน), cnt = shift-i 1, indexHigh = iHighest (NULL, 0, MODE_HIGH, cnt, i), indexLow = iLowest (NULL, 0, MODE_LOW, cnt, i); วันที่สูง # 91; ฉัน # 93; = สูง # 91; ดัชนีสูง # 93 ;; dayLow # 91; I # 93; = ต่ำ # 91; indexLow # 93 ;; ช่วงที่สอง = (วันสูง # 91; ฉัน # 93; - วันที่ # 91; # 933; upper3 # 91; I # 93; = วันที่สูง # 91; i # 93; - เรียงราย; lower3 # 91; I # 93; = dayLow # 91; i # 93; ช่วง ; dayOpen # 91; I # 93; = เปิด # 91; เปลี่ยน # 93 ;; เปลี่ยน ; if (shiftgt; = rates_total) {ดำเนินการต่อ; } prevClose # 91; i # 93; = ปิด # 91; เปลี่ยน # 93 ;; closeopen2 # 91; i # 93; = (dayOpen # 91; i # 93; prevClose # 91; i # 932; } return (rate_total); }

  7. #17

    Quote Originally Posted by ;
    {quote} ฉันคิดว่าคุณได้รับอาร์เรย์ออกจากข้อความแสดงข้อผิดพลาดช่วงในบันทึกผู้เชี่ยวชาญของคุณ (ถ้า shift มีแถบที่เก่าที่สุดในแผนภูมิแล้วคุณจะไม่สามารถเพิ่ม 1) shift ; if (shiftgt; = rates_total) {ดำเนินการต่อ; } prevClose [i] = เปิด [shift]; closeopen2 [i] = (dayOpen [i] prevClose [i])2; } return (rate_total); }
    จะไม่ได้คิดออก shift เพิ่มเติม ขอขอบคุณ. คุณดีมากในการเขียนโค้ด ฉันเคยเห็นโค้ดเยอะมากคุณเป็นคนคับคั่งและมีประสิทธิภาพและมีเหตุผลมาก ฉันปรับเปลี่ยนเล็กน้อยหนึ่งครั้ง ... prevClose [i] = เปิด [shift]; เปลี่ยนเป็น prevClose [i] = ปิด [shift]; ดูเหมือนว่าจะทำงานได้อย่างสมบูรณ์แบบ

  8. #18
    Quote Originally Posted by ;
    {quote} ไม่เคยคิดเลยว่าจะมีการเปลี่ยนแปลงเพิ่มเติม ขอขอบคุณ. คุณดีมากในการเขียนโค้ด ฉันเคยเห็นโค้ดเยอะมากคุณเป็นคนคับคั่งและมีประสิทธิภาพและมีเหตุผลมาก ฉันปรับเปลี่ยนเล็กน้อยหนึ่งครั้ง ... prevClose [i] = เปิด [shift]; เปลี่ยนเป็น prevClose [i] = ปิด [shift]; ดูเหมือนว่าจะทำงานได้อย่างสมบูรณ์แบบ
    จุดที่ดีในการเปิดปิด
    ... ต้องเร็วเกินไปในตอนเช้าเพื่อเริ่มเขียนโค้ด
    ฉันดีใจที่คุณได้ทำงาน

การขออนุญาตโพส

  • ห้ามโพสข้อความใหม่
  • ห้ามโพสตอบ
  • ห้ามแนบไฟล์
  • ห้ามแก้ไขโพส
  •  
  • รหัส BB เปิด
  • Smilies ปิด
  • รหัส [IMG] เปิด
  • รหัส [VIDEO] เปิด
  • รหัส HTML ปิด
นโยบาย Cookie
นโยบาย Cookie: เว็บไซต์ thaitradeforex มีการใช้ cookies และสำหรับการดำเนินการเยี่ยมชมเว็บไซต์ ท่านได้ยอมรับในสิ่งนี้ สำหรับข้อมูลเพิ่มเติมโปรดอ่าน 'Cookie Disclosure'.