Open Forex4you Account

Server รัน EA 1000 / ปี

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

Author Topic: RobotFX57 EA กำไร 1,600%  (Read 15275 times)

noname

  • Newbie
  • *
  • Posts: 1
RobotFX57 EA กำไร 1,600%
« on: พฤศจิกายน 28, 2013, 10:50:33 pm »
Robotforex2557.Beta

สวัสดีคับ พอดีเห็นช่วงนี้ EA ตละกลู Robotforex2057กำลังฮอต ผมเลย Optimization และปรับแก้เล็กน้อย ขอตั้งชื่อใหม่ว่า Robotforex2557.Beta
ลอง Backtest แบบ Every Tick แล้วได้ผลดังนี้คับ



คุณสมบัติ Robotforex2557.Beta
วันที่ Backtest : 01-01-2013 - 06-09-2013
คู่เงินที่ทดสอบและแนะนำ : EURUSD
ลักษณะการเทรด : Scalping
กลยุทธการเทรด : Grid/Martingale
Timeframe : M15
จำนวนเงินทุนที่แนะนำ : 1,000$ หรือ 10Cent
Backtest กับโบรก : Liteforex NDD
โบรกที่แนะนำ : ควรใช้กับทศนิยม 5 ตำแหน่ง
การตั้งค่าที่แนะนำ : ตั้งค่าตามเดิม เปลี่ยนเฉพาะในส่วน Deposit ตามจำนวนเงินทุน
อื่นๆ : spread ไม่ควรเกิน 20 pip และค่าที่โบรกอนุญาตให้ตั้ง TP ขั้นต่ำ 40 Pip (ทศนิยม 5 ตำแหน่ง)
Download สำหรับนักพัฒนา : http://goo.gl/wNiwVR

สิ่งที่อยากให้ช่วยพัฒนา เพื่อความสมบูรณ์ของ EA

1.อยากให้เพิ่มฟังก์ชัน Stoploss ( SL )
ผู้พัฒนา EA หลายคนสงสัยว่า EA Grid/Martingale ทำไมต้องใส่ SL ผมจะอธิบายตามภาพดังต่อไปนี้นะคับ



ดูตามวงกลมที่ 1,3 จะเห็นว่า Step การ Grid ไม่ตรงตามเงื่อนไขที่ตั้งไว้ เนื่องจากเกิดการกระชากของกราฟ "แล้วมันส่งผลอะไรต่อ EA ละ?"
เนื่องจาก EA ที่ใช้การ Grid จะคำนวนตำแหน่งที่เปิดออเดอร์ไว้แล้ว เพราะการเปิดออเดอร์แต่ละตำแหน่งมีผลต่อเงินทุน  สมมุติเราคำนวนไว้ว่า
เราตั้งค่าการ Grid ที่ตำแหน่งนี้ จะรองรับการลากได้ถึง 1,000Pip   แต่ถ้าหากเกิดการกระชากของกราฟ จนทำให้การ Grid ผิดตำแหน่งจะส่งผล
ต่อการลากที่เราคำนวนไว้  วิธีนี้ไม่สามารถแก้ด้วยการ ตั้งค่า Slippage หรือ Max Spread  ฉะนั้นอยากให้ผู้ที่มีความสามารถเขียน EA ช่วยเพิ่มฟังก์ชัน
Stoploss ( SL ) ให้ EA ตัวนี้ด้วย

2.อยากให้เพิ่มฟังก์ชัน คำนวน Lot เริ่มต้น

ปกติ Lot เริ่มต้นจะคงที่ ตามจำนวนที่เราตั้งไว้ เช่นเราตั้ง Lot 0.01 ไว้ EA ก็จะเปิดออเดอร์แรกด้วย Lot 0.01 ตลอดเวลา
สิ่งที่อยากให้เพิ่มคือ ฟังก์ชันคำนวน Lot เริ่มต้นตามค่าความเสี่ยงที่เราตั้งไว้ ( จะเลือกเปิดหรือไม่เลือกเปิดก็ได้ )
ดังนี้  สมมุติเราใส่ค่าคำนวน Lot เริ่มต้น ที่ "100,000" EA ก็จะเอาตัวเลขในส่วนนี้ไปคำนวนเป็น lot เริ่มต้น โดยมีการคำนวนดังนี้
เงินทุน/100,000 (ตัวเลขตามที่เราตั้งค่าไว้) = Lot เริ่มต้น
ตัวอย่าง = สมมุติเราใส่เงินทุนไป 1,000$ EA ตัวนี้จะคำนวน Lot เริ่มต้นดังนี้ = 1,000${เงินทุนเรา}/100,000{ตัวเลขตามที่เราตั้งค่าไว้} = 0.01 {Lot เริ่มต้น}
เมื่อ EA ทำงานต่อไปและปิดออเดอร์ได้หมด สมมุติได้กำไรมา  150$ รวมทุน เป็น 1,150$ EA ตัวนี้ก็จะทำการคำนวน Lot เริ่มต้นใหม่ดังนี้  1150/100000 = 0.0115 เป็นต้น
กรณีที่คำนวนมาแล้วไม่สามารถเปิด lot นั้นได้ ก็ให้ปัดเศษตามหลัก ทศนิยม

ตัวอย่างฟังก์ชั่นธรรมดา VS ฟังก์ชั่นคำนวน Lot เริ่มต้น
**การตั้งค่า Step 10 pip ค่าตัวคูณ 2 เงินทุนเริ่มต้น 10,000$  sell**
เทรดครั้งที่ 1
ธรรมดา ตั้งค่า lot เริ่มต้น 0.1                                  ฟังก์ชั่นคำนวน Lot ใส่ค่า 100,000
Step1. 1.5550 = 0.1                                              Step1. 1.5550 = 0.1
Step2. 1.5560 = 0.2                                              Step2. 1.5560 = 0.2
Step3. 1.5570 = 0.4                                              Step3. 1.5570 = 0.4
Step4. 1.5580 = 0.8                                              Step4. 1.5580 = 0.8
Step5. กราฟกับมาปิดสมมุติได้กำไร 5,000$                     Step5. กราฟกับมาปิดสมมุติได้กำไร 5,000$

เทรดครั้งที่ 2 ได้กำไรรวมทุนเป็น 15,000$ **Sell การตั้งค่า Step 10 pip ค่าตัวคูณ 2 **
ธรรมดา ตั้งค่า lot เริ่มต้น 0.01                                 ฟังก์ชั่นคำนวน Lot ใส่ค่า 100,000
Step1. 1.5650 = 0.1                                              Step1. 1.5650 = 0.15
Step2. 1.5660 = 0.2                                              Step2. 1.5660 = 0.3
Step3. 1.5670 = 0.4                                              Step3. 1.5670 = 0.6
Step4. 1.5680 = 0.8                                              Step4. 1.5680 = 1.2
Step5. กราฟกับมาปิดได้กำไร 5,000$                            Step5. กราฟกับมาปิดได้กำไร 7,000$ เป็นต้น

**จะเห็นได้ว่าการตั้งค่า "ฟังก์ชั่นคำนวน Lot เริ่มต้น" จะมีการคำนวน lot เริ่มต้นตลอดเวลา หลักการนี้เรียกว่า Fixed Fractional คือจำกัดความเสี่ยงคงที่ตลอดเวลา
หลักการนี้จะทำให้กำไรเกิดการทบต้นและทวีคูณ ซึ่งในระยะยาวเมื่อเทียบกับการตั้งค่าธรรมดา  การตั้งค่าตามฟังก์ชั่นนี้ จะทำให้พอร์ตโตกว่า ฟังก์ชั่นเดิมหลายเท่า
***ฟังก์ชั่นจะส่งผลต่อ Step ที่ 1 เท่านั้น Step อื่นๆ จะเอา Step 1 ไปคำนวนกับตัวคูณ

3.อยากให้เพิ่มฟังก์ชัน ตั้งเวลาการเทรด

EA ตัวนี้มีฟังก์ชันตั้งเวลาการเทรดอยู่แล้ว อยุ่ในหมวด UseHourTrader แต่โหมด UseHourTrader ของ EA ตัวนี้ผมคิดว่ายังไม่ตอบโจทย์เพียงพอ
เพราะเมื่อถึงกำหนดเวลาที่ตั้งไว้ สมมุติ ตั้งเวลาเปิด - ปิดการเทรดไว้ที่เวลา 12.00น. - 23.00น.  เมื่อถึงเวลาปิดการเทรด EA ตัวนี้จะทำการปิดออเดอร์ทั้งหมดทันที
ไม่ว่าออเดอร์นั้นจะได้กำไร หรือ ขาดทุนอยู่ ในส่วนนี้จะส่งผลเสียหายต่อโอกาสที่จะได้กำไรเป็นอย่างยิ่ง เลยอยากให้เพิ่มโหมดดังต่อไปนี้

3.1.เพิ่มโหมดเมื่อถึงเวลาที่กำหนด ไม่ต้องเปิดออเดอร์เพิ่ม
ตัวอย่าง
ตั้งเวลาเปิด - ปิดการเทรดไว้ที่เวลา 12.00น. - 23.00น.
เมื่อถึงเวลาที่กำหนด EA ตัวนี้จะไม่ทำการปิดออเดอร์ที่คงค้างอยู่  แต่ก็จะไม่ทำการเปิดออเดอร์ใหม่ หลังจากเลยเวลา 23.00น.ไปแล้ว
แต่จะกลับมา เปิดออเดอร์ใหม่เมื่อถึงเวลา 12.00น.
สมมุติเลยเวลา 23.00น มีออเดอร์คงค้างดังนี้
Step1. 1.5690  0.01
Step2. 1.5680  0.02
Step3. 1.5670  0.04
Step4. 1.5660  0.08
EA ก็จะปล่อยออเดอร์นี้ค้างไว้ไม่ได้ทำการปิดออเดอร์ที่ค้างอยู่เหมือนของเดิมที่มีในส่วน  UseHourTrader
เมื่อถึงเวลา 12.00น. ของวันถัดไป EA ก็จะทำการ Grid/Martingale ตามค่าที่ตั้งไว้ต่อไป หากออเดอร์นั้นยังปิดไม่ได้
Step5. 1.5490  0.16
Step6. 1.5480  0.32
Step7. ปิดได้เป็นต้น

3.2.เพิ่มโหมดเมื่อถึงเวลาที่กำหนด ไม่ต้องปิดออเดอร์ที่คงค้าง แต่ทำตามค่าที่ตั้งไว้จนกว่าจะปิดออเดอร์ได้ทั้งหมด เมื่อปิดได้แล้วไม่ต้องเปิดออเดอร์เพิ่มอีก
ตัวอย่าง
ตั้งเวลาเปิด - ปิดการเทรดไว้ที่เวลา 12.00น. - 23.00น.
เมื่อถึงเวลาที่กำหนด EA ตัวนี้จะไม่ทำการปิดออเดอร์ที่คงค้างอยู่  แต่จะทำการ Grid/Martingale ต่อไปจนปิดออเดอร์ได้หมด และไม่เปิดออเดอร์ใหม่เพิ่มอีกหลังเวลา 23.00น.
สมมุติเลยเวลา 23.00น มีออเดอร์คงค้างดังนี้
Step1. 1.5690  0.01
Step2. 1.5680  0.02
Step3. 1.5670  0.04
Step4. 1.5660  0.08
EA ตัวนี้จะทำการ Grid/Martingale ต่อไปจนกว่าจะปิดได้
Step5. 1.5490  0.16
Step6. 1.5480  0.32
Step7. ปิดได้เป็นต้น
หลังจากปิดออเดอร์ได้หมดแล้ว จะไม่ทำการเปิดออเดอร์ใหม่ จนกว่าจะถึงเวลา 12.00น.

เปรียบเทียบ UseHourTrader 3 แบบ

แบบ1. แบบที่มากับ EA : เมื่อถึงเวลาปิดการเทรดที่กำหนด EA จะทำการ ปิดออเดอร์ทั้งหมด แม้ว่าออเดอร์นั้นจะกำไร หรือ ขาดทุนอยู่
แบบ2. แบบที่อยากให้เพิ่มเติม1 : เมื่อถึงเวลาปิดการเทรดที่กำหนด EA จะไม่ทำการปิดออเดอร์ที่ค้างอยู่ แต่ก็จะไม่เปิดออเดอร์ใหม่ โดยรอให้ออเดอร์ที่ค้างอยู่ TP เอง แต่หากยัง TP ไม่ได้ เมื่อถึงเวลาเปิดการเทรดที่กำหนด EA จะทำการเปิดออเดอร์ใน Step ถัดไป โดยคำนวน lot จาก ออเดอร์ที่ค้างอยู่ก่อนหน้า
แบบ3. แบบที่อยากให้เพิ่มเติม2 : เมื่อถึงเวลาปิดการเทรดที่กำหนด EA จะไม่ทำการปิดออเดอร์ที่ค้างอยู่ แต่จะทำงานต่อไปตาม Step ที่กำหนด จนกว่าจะปิดออเดอร์ได้ หากปิดออเดอร์ได้หมดแล้ว EA จะ
ไม่เปิดออเดอร์ขึ้นมาใหม่  จนกว่าจะถึงเวลาเปิดการเทรดที่กำหนด


ขอความกรุณาผู้ที่มีความสามารถเขียน EA ช่วยพัฒนา เพิ่มฟั่งชัน ตามที่กล่าวไป เพื่อให้ EA ตัวนี้มีความสมบรูณ์ ในการ Scalping มากขึ้น เพื่อประโยชน์ของเทรดเดอร์ทุกคนต่อไป
ขอบคุณมากคับ