ทำไมไม่มีติ๊ก - actualization
Results 1 to 6 of 6

Thread: ทำไมไม่มีติ๊ก - actualization

  1. #1
    สวัสดีทุกคน,

    นี่เป็นข้อความแรกของฉันในฟอรัมนี้ บางเดือนของการซื้อขาย บางปีของการเขียนโปรแกรม (pascal ขั้นพื้นฐานและ c เล็กน้อย)

    แต่ที่นี่ฉันลองและพยายาม ..... แต่ไม่สามารถหาทางออก. ดังนั้นฉันพยายามด้วยตัวอย่างเล็ก ๆ น้อย ๆ จาก S. Kovalyov, การเขียนโปรแกรมใน Algorithmic Language แต่ไม่ได้ผลเช่นกัน

    ต่อไปนี้เป็นโค้ดที่ได้รับการแก้ไขเล็กน้อย
    ----------- ----------- เริ่มต้น
    //countiter.mq4
    //รหัสควรใช้เพื่อการศึกษาเท่านั้น
    //------------------------------------------------ --------------------

    int init ()
    {
    //----
    การแจ้งเตือน (init ฟังก์ชัน () เริ่มต้นที่จุดเริ่มต้น);/การแจ้งเตือน

    กลับ;/ออก init ()
    //----
    ผลตอบแทน (0);
    }

    int start ()/ฟังก์ชันพิเศษ เริ่มต้น ()
    {
    int i, Count;/ประกาศตัวแปร
    สำหรับ (i = 1; ilt; = 5; i )/แสดงสำหรับ 5 ticks
    {
    นับ = 0;/การล้างเคาน์เตอร์
    while (RefreshRates () == false)/ถึง ...
    {//.. เห็บใหม่มา
    Count = Count 1;/ตัวนับ Iteration
    }
    การแจ้งเตือน (Tick, i ,, loops, Count);/หลังจากที่เห็บแต่ละครั้ง
    }
    กลับ;/ออกจากการเริ่มต้น ()
    }


    เฉพาะข้อความที่ปรากฏในหน้าต่างแจ้งเตือน:
    ฟังก์ชัน init () ถูกเรียกใช้เมื่อเริ่มต้น

    และฉันคาดหวังสิ่งที่ชอบ

    Tick ​​3 98622348
    ติ๊ก 2 64534421
    เลือก 1 32343443

    กราฟเป็นแผนภูมิ EURUSD M1 แบบง่ายๆที่ไม่มี EA หรือ Indiors อื่น ๆ
    แต่เป็นบัญชีสาธิต



    ใครสามารถช่วยฉันได้บ้าง? นี้จะเป็นชนิดของคุณมาก

  2. #2
    ปัญหาได้รับการแก้ไข - ขอบคุณและขออภัยโง่ดังนั้นมันเป็นเพียงข้อเท็จจริงที่ว่า EA ไม่ได้เปิดใช้งานใน MT ไม่นะ

  3. #3
    โค้ดข้างต้นทำงานเป็นสคริปต์อย่างน้อย จะได้รับบิตแข็งเกินไปใน CPU แม้ว่า มันอาจจะคุ้มค่าเพิ่ม Sleep () โทร (ถ้าไม่ได้เป็นตัวบ่งชี้) และ IsStopped () ตรวจสอบไปยังห่วงภายใน คุณจะเรียกใช้ตัวอย่างได้อย่างไร?

  4. #4
    สวัสดี Irtron ขอบคุณมากสำหรับคำตอบของคุณ ปัญหาคือเมื่อฉันเริ่มต้นจากปลายซึ่งหมายความว่ามีรหัสและไม่จากจุดเริ่มต้น - จัดการ MT ฉันคิดว่า Init ทำงานทำไมไม่เหลือไม่ทราบว่า EA จะต้องมีการเปิดใช้งานและทางออกมาพร้อมกับ start () ขอโทษ
    Quote Originally Posted by ;
    โค้ดข้างต้นทำงานเป็นสคริปต์อย่างน้อย จะได้รับบิตแข็งเกินไปใน CPU แม้ว่า มันอาจจะคุ้มค่าเพิ่ม Sleep () โทร (ถ้าไม่ได้เป็นตัวบ่งชี้) และ IsStopped () ตรวจสอบไปยังห่วงภายใน คุณจะเรียกใช้ตัวอย่างได้อย่างไร?
    Quote Originally Posted by ;
    โค้ดข้างต้นทำงานเป็นสคริปต์อย่างน้อย จะได้รับบิตแข็งเกินไปใน CPU แม้ว่า มันอาจจะคุ้มค่าเพิ่ม Sleep () โทร (ถ้าไม่ได้เป็นตัวบ่งชี้) และ IsStopped () ตรวจสอบไปยังห่วงภายใน คุณจะเรียกใช้ตัวอย่างได้อย่างไร?

  5. #5

    Quote Originally Posted by ;
    เริ่มต้น () ตัวเองจะถูกเรียกสำหรับติ๊กทุกสคริปต์ของคุณควรจะเหตุการณ์ขับเคลื่อนเหตุการณ์คือการมาถึงของเห็บใหม่ คุณควรประมวลผลเพียงหนึ่งเห็บนี้ในการเริ่มต้น () และทันทีที่กลับมา
    คุณสับสน EA และสคริปต์ที่นี่ เริ่มต้น () ฟังก์ชันของอดีตจะถูกเรียกใช้โดย ticks ที่จะเกิดขึ้นแน่นอนและ RefreshRates () เป็นสิ่งที่จำเป็นเพื่อให้แน่ใจว่าสภาพแวดล้อมทางการค้าไม่ได้เปลี่ยนแปลงในขณะที่ start () กำลังทำงานอยู่ หลัง (สคริปต์) รันการเริ่มต้น () เพียงครั้งเดียวและเหมาะสำหรับการประมวลผลแบบอะซิงโครนัสเช่นเดียวกับในโค้ดด้านบน มันไกลจากที่สมบูรณ์แบบแม้ว่าที่ผมกล่าวถึงแล้วและควรได้รับการพิจารณาเป็นตัวอย่างเพื่อการศึกษาเท่านั้นว่าเป็นรัฐลิขสิทธิ์

  6. #6

    Quote Originally Posted by ;
    รหัสแทรกสำหรับ (i = 1; ilt; = 5; i )/แสดงเป็น 5 ticks {Count = 0;/Clearing counter while (RefreshRates () == false)/จนกว่า ... {//..ty ใหม่มานับ Count = Count 1;/Iteration counter} การแจ้งเตือน (Tick, i ,, loops, Count);/หลังจากแต่ละขีด}
    คุณไม่ควรทำแบบนี้ เริ่มต้น () ตัวเองจะถูกเรียกสำหรับติ๊กทุกสคริปต์ของคุณควรจะเหตุการณ์ขับเคลื่อนเหตุการณ์คือการมาถึงของเห็บใหม่ คุณควรประมวลผลเพียงหนึ่งเห็บนี้ในการเริ่มต้น () และทันทีที่กลับมา การใช้ลูปการเลือกตั้งแบบยาวในฟังก์ชันเหล่านี้เป็นไปได้ แต่คุณควรทำอย่างไรหากไม่มีตัวเลือกอื่น ๆ และคุณไม่สามารถทำสิ่งนี้ได้ในตัวบ่งชี้เฉพาะในที่ปรึกษาผู้เชี่ยวชาญเท่านั้นเนื่องจากตัวบ่งชี้จะทำงานในเธรด GUI และคุณบล็อกทั้ง MetaTrader GUI จน เริ่มต้น () ส่งกลับ ถ้าคุณต้องการให้ตรงกับ 5 ticks คุณสามารถตั้งค่า counter ให้เป็น 0 ได้จากนั้นใน start () เขียนราคาปัจจุบันลงในอาร์เรย์เพิ่ม counter และเฉพาะในกรณีที่ counter ถึง 5 แล้วทำในสิ่งที่ต้องทำในช่วง 5 เห็บและตั้งค่าตัวนับอื่นเพียงแค่ส่งกลับ

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

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