Open Forex4you Account

Server รัน EA 1000 / ปี

สั่งชื้อคู่มือการโปรแรกม MQL4

Author Topic: จะเขียนปิดออเดอร์ทั้งหมดยังไงดี  (Read 18301 times)

easy

  • Newbie
  • *
  • Posts: 15
จะเขียนปิดออเดอร์ทั้งหมดยังไงดี แบบอีเอก็ดีครับ
ทั้งหมด หมายถึงทุกๆคู่เงิน ที่เปิดออเดอร์ในพอร์ต รวมทั้ง pending order
เงื่อนไขสมมุติปัจจุปัน GBPUSD เท่ากับ 1.6000 วิ่งมาที่ 1.5000
หรืออีกแบบหนึ่ง  GBPUSD เท่ากับ 1.6000 วิ่งมาที่ 1.7000
อยากได้แบบปิดทุกคู่ ถึงจะไม่ใช่ GBPUSD ก็ตาม
ลอง StrikeOn_CloseAll แบบอีเอ ก็โอเคแต่ได้แค่คู่เดียว
« Last Edit: ตุลาคม 01, 2009, 06:41:35 pm by easy »

linconz

  • VIP
  • Sr. Member
  • *
  • Posts: 357
ผมก็สงสัยเหมือนกัน แต่ผมมีความคิดอย่างนี้ คือ อยากถาม Admin ว่า สามารถรับคำสั่งข้างนอกได้ไหม เช่น scan keyboard
อยากได้แบบว่า กด ctr+shift+c แล้วปิดออร์เดอร์ในหน้าต่างที่ active อยู่ให้หมดแล้วก็ หน้าบึ้งไปพร้อมกันเลย จะได้ยังไม่เปิดออร์เดอร์อีก (ตั้งหลักก่อน) แบบนี้น่ะ ได้ไหมครับ ผมกำลังไล่อ่านไปเรื่อยๆ ยังไม่เจอ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
ผมก็สงสัยเหมือนกัน แต่ผมมีความคิดอย่างนี้ คือ อยากถาม Admin ว่า สามารถรับคำสั่งข้างนอกได้ไหม เช่น scan keyboard
อยากได้แบบว่า กด ctr+shift+c แล้วปิดออร์เดอร์ในหน้าต่างที่ active อยู่ให้หมดแล้วก็ หน้าบึ้งไปพร้อมกันเลย จะได้ยังไม่เปิดออร์เดอร์อีก (ตั้งหลักก่อน) แบบนี้น่ะ ได้ไหมครับ ผมกำลังไล่อ่านไปเรื่อยๆ ยังไม่เจอ
  หากให้ผมตอบคำถามนี้ ขอตอบในระดับความรู้ของผมตอนนี้ ว่าไม่น่าจะทำได้ในระดับปกติ แต่ก็อาจจะทำได้ในระดับ advance ครับ แต่ผมจะขออธิบายตามที่ผมเข้าใจก่อน การที่จะสร้าง hotkey ได้ก็คือการที่เราต้องทำให้โปรแกรมที่เราเขียนอยู่เข้าใจการกระทำของ windows อธิบายง่ายๆๆหากคุณเคยเขียนโปรแกรมโดย Visual Basic มาก่อน จะต้องเคยเจอพวกฟังก์ชั่น OnMouseMove หรือ OnMouseClick พวกนี้จะเป้นฟังก์ชั่นในการตรวจจับ Meassage ของ windows หากเข้าเงื่อนไขก็ทำในสิ่งที่เรากำหนดไว หรือ ใน ภาษา Java หรือ VC++ ก็ต้องมีการ Map Meassage ให้กับโปรแกรมที่เราสร้างขึ้นถึงจะทำงานได้ครับ ที่นี้กลับมาที่ mt4 ตัว mt4 โปรแกรมเมอร์ที่สร้างขึ้นมามีการกำหนด hotkey เอาไวอยู่แล้วครับ แต่ code ของ ea ก็ต้องรันบน mt4 ถึงทำงานได้ ให้ผมเปรียบ code ea ก็เหมือนสูตรต่างๆๆในโปรแกรม excel เท่านั่นอ่ะครับไม่ได้ทำงานติดต่อกับระบบ windows ตรงๆๆ ในระดับปกติผมคิดว่าไม่น่าทำได้ แต่ที่ผมพูดไปในระดับ advance ครับคือ dll  ไฟล์เพราะ EA มันอ่าน dll ไฟล์ได้แต่ผม่ยังรู้ไม่หมดว่า EA มีความสามารถที่ทำงานกับ dll ไฟล์ได้แค่ไหนครับ เพราะถามที่ผมคิด dll ไฟล์เป็น ไดนามิกฟังก์ชั่น ถ้าหากเราให้มันส่งค่า meassage ของ windows ออกมาได้ ก็ยอมให้ ea รู้จัก hotkey ได้ครับ  หรือมีอีกวิธีหนึ่ง EA มีความสามารถในการเขียนไฟล์อ่านไฟล์ด้วยนะครับเราอาจจสร้างโปรแกรมจากภาษา c หรือ Jave ไรก็ได้ไม่ต้องเป็นโปรแกรมที่สวยงามอะไรเอาแค่ dos ปกติก็พอให้มันแค่เขียนไฟล์อ่านไฟล์ได้เป้นพอ จากนั่นก็ไปกำหนดให้ ea อ่านไฟล์ทุกครั้ง แล้วนำค่าที่ได้มาตรวจสอบเงื่อนไข หากเราต้องการให้มันปิดทุก order แล้วหยุดทำงานก็ใส่เงื่อนไขไวก่อน เมื่อเราจะใช้งานก็แค่ใช้โปรแกรมที่เราสร้างขึ้นเองเปิดเงื่อนไขมัน แค่นี้โปรแกรมจะปิดทุก order และ หยุดทำงานแล้วครับ แต่วิธีนี้มีข้อเสียเราต้องแก้ไขเงื่อขไขทุกครั้งก่อน EA ทำงานครับ

 


easy

  • Newbie
  • *
  • Posts: 15
ได้ความรู้เพิ่มเติม  ;D

kongto

  • Newbie
  • *
  • Posts: 46
Re: จะเขียนปิดออเดอร์ทั้งหมดยังไงดี
« Reply #4 on: มิถุนายน 08, 2010, 09:21:23 pm »
StrikeOn_CloseAll คืออะไรครับ แล้วเขียนแบบเต็มๆ ยังไงขอความรู้หน่อยครับผม

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: จะเขียนปิดออเดอร์ทั้งหมดยังไงดี
« Reply #5 on: มิถุนายน 08, 2010, 09:33:39 pm »
StrikeOn_CloseAll คืออะไรครับ แล้วเขียนแบบเต็มๆ ยังไงขอความรู้หน่อยครับผม

เอา ea ตัวนี้ไปหละกันครับ

richpay

  • Newbie
  • *
  • Posts: 6
Re: จะเขียนปิดออเดอร์ทั้งหมดยังไงดี
« Reply #6 on: กันยายน 24, 2010, 04:44:28 pm »
rich pay ใกล้เคียงกับที่ขอให้ admin ช่วยเรื่องกำหนดคำสั่งปิดยกพอร์ตครับ แต่ที่ให้ลองใช้ มันใช่ยังไงครับ

thuman

  • Newbie
  • *
  • Posts: 4
ผมก็สงสัยเหมือนกัน แต่ผมมีความคิดอย่างนี้ คือ อยากถาม Admin ว่า สามารถรับคำสั่งข้างนอกได้ไหม เช่น scan keyboard
อยากได้แบบว่า กด ctr+shift+c แล้วปิดออร์เดอร์ในหน้าต่างที่ active อยู่ให้หมดแล้วก็ หน้าบึ้งไปพร้อมกันเลย จะได้ยังไม่เปิดออร์เดอร์อีก (ตั้งหลักก่อน) แบบนี้น่ะ ได้ไหมครับ ผมกำลังไล่อ่านไปเรื่อยๆ ยังไม่เจอ

สำหรับ MT4 มันสามารถ set hotkey ได้นี้คับ ถ้าเรามี scripts อยู่เราสามารถคลิกขวาที่ scripts แล้วตั้งค่าได้เลยครับ
ไม่รู้ว่าจะเป็นสิ่งที่ต้องการไหมหวังว่าคงใช้ที่คุณต้องการครับ