Open Forex4you Account

Server รัน EA 1000 / ปี

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

Author Topic: ขอถามวิธีเขียนคำสั่งที่ใช้จำข้อมูล  (Read 17182 times)

chawin_win

  • Newbie
  • *
  • Posts: 14
ขอถามวิธีเขียนคำสั่งที่ใช้จำข้อมูล


อยากรู้วิธีสั่งให้จำข้อมูล New Low New High ที่เกิดภายในช่วงย้อนหลัง หลังจากเปิด order แล้ว

ขอบคุณครับ
วิน

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
ขอถามวิธีเขียนคำสั่งที่ใช้จำข้อมูล


อยากรู้วิธีสั่งให้จำข้อมูล New Low New High ที่เกิดภายในช่วงย้อนหลัง หลังจากเปิด order แล้ว

ขอบคุณครับ
วิน

อ่านแล้วงงครับ ลองยกตัวอย่างหน่อยครับว่าคุณต้องการอะไรครับ

chawin_win

  • Newbie
  • *
  • Posts: 14
นับถอยหลัง 20 แท่ง
จำราคา High ใน 20 แท่ง = High1
ถ้าราคา High แท่งที่ 21 สูงกว่า High1 เดิม ให้ High1 = High แท่งที่ 21
ถ้าราคา High แท่งที่ 21 ต่ำกว่า High1 เดิม ให้ High1 = High1 เท่าเดิม
จำราคา Low ใน 10 แท่ง = Low1
ถ้าราคา Low แท่งที่ 11 สูงกว่า Low1 เดิม ให้ Low1 = Low แท่งที่ 11
ถ้าราคา Low แท่งที่ 11 ต่ำกว่า Low1 เดิม ให้ Low1 = Low1 เท่าเดิม

ถ้าราคาสูงกว่า High1 เปิดออร์เดอร์ Buy
Low11 เป็น Stoploss ของออร์เดอร์ครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
เท่าที่คุณโพสไวใช้ ตัวแปร แบบ static แค่ 2 ตัวก็ได้แล้วครับ วิธีการประกาศตัวแปรแบบนี้ก็ประกาศไวก่อนฟังก์ชั่น start ครับ
วิธีการประกาศ
static double high;
static double low;

int start()
.....
....
....

จากนั่นคุณก็ไปเอาตัวแปรที่ได้ 2 ตัวนี้หละครับไปหา ค่า max min ของกราฟย้อนหลัง 20 แท่งเทียนที่คุณว่า ครับ ตัวแปร static นี้จะจำค่า แม้ EA จะจบ loop การทำงานไปแล้วค่าที่เก็บไวก็ยังอยู่ครับ

chawin_win

  • Newbie
  • *
  • Posts: 14
ขอบคุณครับ

TvT

  • Full Member
  • ***
  • Posts: 133
ต้องตั้งค่าตัวแปรที่จะใช่จำข้อมูลก่อนครับ
ขึ้นกับจุดประสงค์ที่เราจะใช้เช่น Static double, double

chawin_win

  • Newbie
  • *
  • Posts: 14
ขอบคุณครับ 

ปล. กำลังมึน  เลยยังไม่ได้ทดลองเขียนต่อเลยครับ
     เดี๋ยวถ้าลองแล้วติดขัด  จะมาถามอีกทีนะครับ

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
ไม่เข้าใจเรื่องตัวแปร static เลยครับ
ท่าน admin ช่วยอธิบายหรือยกตัวอย่างให้ละเอียดซักหน่อยได้ไหมครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
ตัวแปรแบบ static คือตัวแปรที่ระบบมันจะเก็บค่าเอาไวในหน่วยความจำครับถึงแม่งว่ามันจะเป็นตัวแปรใน ฟังก์ชั่นเมื่อฟังก์ชั่นจบการทำงานตัวแปรและค่าทุกค่าในฟังก์ฃั่นต้องโดนทำลายหมดแต่ถ้าเราประกาศเป็น static ค่าจะไม่โดนทำลายครับ ลองเอา EA 2 ตัวไปศึกษาดูนะครับตัวแรกเป็นการใฃ้ static อีกตัวใช้ตัวแปร ธรรมดา จะเห็นความแตกต่างของค่าที่ได้ออกมาครับ โดย EA ตัวแรกจะแสดงผลออกมาเป้นค่าที่ บวกกันไปเรื่อยๆๆ อีกตัวจะแสดงเฉพาะค่าเริ่มต้นเท่านั่นครับ  ทั้งๆที่ code ก็เหมือนกันทุกอย่างแต่ต่างกันแค่เป็น static กับ normal variable เท่านั่นเองครับ

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
ยังไม่หายสงสัยครับ
ตัวแปรปกติจะเพิ่มค่าไปเรื่อยๆ
ตัวแปร static จะค้างไปซักพัก แล้วจะเพิ่มค่าไปซักนิด  แล้วจะค้างต่ออีก  ค้าง วิ่ง ค้าง วิ่ง เดี๋ยววิ่งเดี๋ยวค้าง
แล้วเราจะใช้มันยังไงครับ  เราจะเปลี่ยนค่าของมันได้เมื่อไร ยังไง งงจริงๆ