Open Forex4you Account

Server รัน EA 1000 / ปี

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

Author Topic: ถามเรื่องระบบ martingale ครับ  (Read 10678 times)

TvT

  • Full Member
  • ***
  • Posts: 133
ถามเรื่องระบบ martingale ครับ
« on: ตุลาคม 28, 2010, 09:41:00 pm »
ผมอยากทราบวิธีการใส่ชุดคำสั่ง martingale ครับ
เช่นผมมีระบบดังนี้

double lots
if (XXXXXX)
    oredersend(op_buy , lots , .......................)
if (YYYYYY)
    oredersend(op_SELL, lots , .......................)

ถ้าผมต้องการปรับเป็น martingale ต้องปรับยังไงบ้างครับ(สีแดงคือคำถามครับ)

double lots
double martingaleLVL = 2 อันนี้คือจำนวนเท่าที่ต้องการเบิ้ลต่อครั้ง
ตรงนี้ต้องการตั้งระบบ money management เข้าใจแบบนี้ถูกไหมครับ สมมติว่าทุกๆ 3000 เราจะเปิด order เริ่ม 0.1 lot- เศษปัดลง ดันนั้นเราใช้คำสั่ง
double startlot  = normalizedouble((freemargin/3000),1) = คำสั่งอะไรใช้ check freemargin ครับ และ normalize เศษปัดทิ้งเสมอใช่ไหมครับ
อันนี้ไม่ค่อยแน่ใจคำสั่งที่ต้องใช้นะครับ
ทำให้ com จำสัญญาล่าสุดที่ซื้อไปว่าจำนวน lots(double lastlots ขอคำแนะนำคำสั่งที่ใช้ครับ) และ กำไรหรือขาดทุน(ขอคำแนะนำคำสั่งที่ใช้ครับ)
if (ครั้งล่าสุดกำไร)
    {lots = startlot
     }
if (ล่าสุดขาดทุน)
    {lots  = lastlots * martingaleLVL
     }
if (XXXXXX)
    oredersend(op_buy , lots , .......................)
if (YYYYYY)
    oredersend(op_SELL, lots , .......................)

เข้าใจว่าต้องเขียนราวๆนี้ครับ ขอให้ช่วยปรับให้ใช้ได้จริงหน่อยครับ ขอบคุณครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: ถามเรื่องระบบ martingale ครับ
« Reply #1 on: ตุลาคม 29, 2010, 12:49:12 pm »
ขอถามเพิ่มก่อนจะตอบทีเดียวนะครับ 
if (ครั้งล่าสุดกำไร)
    {lots = startlot
     }
if (ล่าสุดขาดทุน)
    {lots  = lastlots * martingaleLVL
     }
 ตรงนี้คุณหมายความว่าถ้า order เก่าที่ปิดไปแล้วขาดทุนถึงเปิด lot เพิ่มที่ order ใหม่ใช้ไหมครับ คือการชื้อทีละ order หากปิดไปแล้วติดลบก็เพิ่ม lot ใช้ไหมครับ

TvT

  • Full Member
  • ***
  • Posts: 133
Re: ถามเรื่องระบบ martingale ครับ
« Reply #2 on: ตุลาคม 30, 2010, 01:27:38 am »
ใช่ครับ ไม่ได้ต้องการแบบทบลงไป ให้จำว่าเมื่อของเดิมปิดขาดทุน ตอนเปิดใหม่ให้ทบลงไปครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: ถามเรื่องระบบ martingale ครับ
« Reply #3 on: ตุลาคม 30, 2010, 01:12:05 pm »
normalize คำสั่งนี้ใช้ในการตัดจุดทศนิยมทิ้งเท่านั่นไม่ใช้ปัดเศษ ขึ้นหรือ ปัดเศษลงนะครับ ถ้าจะให้ปัดขึ้นหรือปัดลงให้ใช้  MathCeil()  กับ MathFloor() ครับ ลองไปดูรายละเอียดการใช้ใน MQ4 ได้ครับ ส่วนเรื่องที่จะให้จำค่าเก่าว่า order ที่แล้วเปิดเท่าไรแล้วกำไรหรือขาดทุน ไม่ต้องเขียนอะไรให้ไปจำมันครับ ให้เราใช้ 

OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY);
   double lastlot=OrderLots();
   double lastprofit=OrderProfit();

แบบนี้ครับเป้นการเรียกข้อมูลใน Account History ขึ้นมาใช้ได้เลยครับ

TvT

  • Full Member
  • ***
  • Posts: 133
Re: ถามเรื่องระบบ martingale ครับ
« Reply #4 on: ตุลาคม 30, 2010, 04:25:31 pm »
แล้ว lastprofit ก็ดูที่ >0 หรือ <0 ใช่มั้ยครับ

ขอบคุณ Admin มากครับ

TvT

  • Full Member
  • ***
  • Posts: 133
Re: ถามเรื่องระบบ martingale ครับ
« Reply #5 on: ตุลาคม 30, 2010, 10:56:23 pm »
ลืมถามอีกอย่างครับ

แล้วคำสั่ง check free margin ครับ

ต้องใช้คำสั่งอะไรครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: ถามเรื่องระบบ martingale ครับ
« Reply #6 on: ตุลาคม 31, 2010, 12:42:14 pm »
แล้ว lastprofit ก็ดูที่ >0 หรือ <0 ใช่มั้ยครับ

ขอบคุณ Admin มากครับ
  ใช่ครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: ถามเรื่องระบบ martingale ครับ
« Reply #7 on: ตุลาคม 31, 2010, 12:42:37 pm »
ลืมถามอีกอย่างครับ

แล้วคำสั่ง check free margin ครับ

ต้องใช้คำสั่งอะไรครับ

double AccountFreeMargin( )