Open Forex4you Account

Server รัน EA 1000 / ปี

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

Author Topic: ขอวิธีเขียน ปิดออเดอร์ แบบ กำไร/ขาดทุน  (Read 5194 times)

kaiao

  • Newbie
  • *
  • Posts: 7
ผมอยากได้ แนวทางการเขียน ปิด ออเดอร์ แบบ คิด เป็น % เช่น พ็อตมีกำไร + ทุน แล้ว โตขึ้น 20 % ให้ปิด ออเดอร์ทุกออเดอร์ หรือ พ็อตขาดทุน ไปแลว 10 %  ให้ ปิด ออเดอร์ทุกออเดอร์แล้วเริ่มใหม่ด้วยการคิดคำนวณที่ ต้นทุกที่ เหลืออยู่ ในเวลาปัจจุบัน ??? ??? ??? ??? ??? รบกวนชี้แนะด้วยครับ

D_Diamond

  • Hero Member
  • *****
  • Posts: 669
    • Expert Forex Trading
extern int profitpercentwin = 20;
extern int profitpercentlos = 10;


if (AccountEquity()/AccountBalance() *100 ) > profitpercentwin ) Close();
else if (AccountEquity()/AccountBalance() *100 ) < (100-profitpercentlos) ) Close();

kaiao

  • Newbie
  • *
  • Posts: 7
@D_Diamond  เอาเงื่อนไขไปประยุกต์ก็ยัง ปิดออเดอร์ แต่ AccountBalance()  ก็ลดลง ตาม เช่นกัน  อยากได้แนวทาง ประมาณเก็บ ค่า AccountBalance()  เริ่มต้น ตอนยังไม่มี ออเดอร์ มา เป็นตัว คำนวน ใหม่ในทุกรอบนะครับ ชี้แนะด้วยครับ

D_Diamond

  • Hero Member
  • *****
  • Posts: 669
    • Expert Forex Trading
หมายถึงจะให้มันคำนวณจาก balance ตอนเปิดโปรแกรมเท่านั้น  ไม่ว่าจะปิดออเดอร์ไปแล้วกี่ชุด  ยังงั้นเหรอครับ

งั้นก็ใส่ตัวแปรไปตัวนึงแล้วเอาตัวแปรไปใช้แทน AccountBalance() ครับ

double startbalance=0;
init()
{

startbalance = AccountBalance();
}

แต่ถ้ายังงั้นมันก็จะเทรดได้แค่ครั้งเดียวสิครับ

kaiao

  • Newbie
  • *
  • Posts: 7
 ??? ??? ??? ??? นั้นสิครับ จะมีทางไหน ที่ จะให้มันกลับมาตรวจสอบค่า   AccountBalance()   เริ่มต้น เมื่อ ปิดทุกออเดอร์  แบบวน รอบ เก็บค่าเริ่ม ทุกครั้งที่ ได้ตามเงื่อนไข้ให้เก็บค่า  AccountBalance()  เริ่มต้นใหม่  D_Diamond เก็บแบบ ไหนดีครับ

D_Diamond

  • Hero Member
  • *****
  • Posts: 669
    • Expert Forex Trading
ผมไม่เข้าใจว่าคุณต้องการอะไร จะเอาค่านั้นไปทำไม  เห็นโพสแรกบอกคำนวณจากทุนปัจจุบัน อยู่ดีๆมาเปลี่ยนเป็นทุนเริ่มต้น ใช้ทุนเริ่มต้นมันก็คำนวณได้รอบเดียวอยู่แล้วครับ
« Last Edit: กรกฎาคม 27, 2017, 03:11:55 pm by D_Diamond »

kaiao

  • Newbie
  • *
  • Posts: 7
 :'( :'( :'(ผมต้องขอโทษด้วยครับ ที่ใช้คำสับสน ขอโทษ ด้วยครับ  :'( :'( :'( :'( ความหมายคือ จบการ Close all 1 รอบ แล้ว ให้ คิดค่าที่  AccountBalance()  ในการออกออเดอร์ ใหม่ นะครับ
« Last Edit: กรกฎาคม 27, 2017, 03:33:17 pm by kaiao »