Open Forex4you Account

Server รัน EA 1000 / ปี

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

Author Topic: ผมอยากได้คำสั่ง pending order sell กับ buy พร้อมกันต้องทำยังไงครับ  (Read 24876 times)

popcraze

  • Newbie
  • *
  • Posts: 3
ผมอยากได้คำสั่ง pending order  sell กับ  buy พร้อมกันต้องทำยังไงครับ ;)  คือเริ่มต้นไม่ถูกเลยครับ  ในค่าเงินเดียวกัน แ้ล้วก็ pending order sell กับ buy ใน
จุด เดียวกันเลยได้ป่าวครับ
ขอบคุณครับ 

ปล.มือใหม่หัดเขียน
จัดไปอย่าให้เสีย

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
คือเมื่อ EA เริ่มทำงานก็ให้ตั้ง pending ทั้ง buy และ sell พร้อมกันเลยใช้ไหมครับ

popcraze

  • Newbie
  • *
  • Posts: 3
คือเมื่อ EA เริ่มทำงานก็ให้ตั้ง pending ทั้ง buy และ sell พร้อมกันเลยใช้ไหมครับ

ใช้ครับผม ขอความกรุณาช่วยบอกด้วยนะครับ ขอบคุณครับ
จัดไปอย่าให้เสีย

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
int start()
{     
    OrderSend(Symbol(),OP_SELLSTOP,Lot,Bid-Point*10,3,0,0,"EA",Magic,0,Red);
    Sleep(1000);
    OrderSend(Symbol(),OP_BUYSTOP,Lot,Ask+Point*10,3,0 ,0 ,"EA",Magic,0,Green);
       
        return (0);
 }
     

fxneverdie

  • Newbie
  • *
  • Posts: 47
int start()
{     
    OrderSend(Symbol(),OP_SELLSTOP,Lot,Bid-Point*10,3,0,0,"EA",Magic,0,Red);
    Sleep(1000);
    OrderSend(Symbol(),OP_BUYSTOP,Lot,Ask+Point*10,3,0 ,0 ,"EA",Magic,0,Green);
       
        return (0);
 }
     

ถามต่อเลยครับ จากคำสั่งข้าบน เราได้ การตั้ง pending ทั้ง BuyStop และ SellStop เช่นเมื่อราคาวิ่งชน BuyStop แล้วเราต้องการให้ ลบ pending ตัว SellStop ออกต้องทำอย่างไร ถ้ามีวิธีขอตัวอย่างคำสั่งด้วยนะครับ ขอบคุณล่วงหน้าครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
extern double Lot=0.1;
extern int Magic=12356;

int start()
{     int total=OrdersTotal();
if(total==0)
{
    OrderSend(Symbol(),OP_SELLSTOP,Lot,Bid-Point*10,3,0,0,"EA",Magic,0,Red);
    Sleep(1000);
    OrderSend(Symbol(),OP_BUYSTOP,Lot,Ask+Point*10,3,0 ,0 ,"EA",Magic,0,Green);
  }
       
      if(total==2)
      {   int buy ,sell;
     
        for(int i=0;i<total;i++)
        {
            OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
             if(OrderType()==OP_BUY)
             { buy=buy+1;
             }
             
              if(OrderType()==OP_SELL)
             {
              sell=sell+1;
             }
             
           
     
         }
         if(buy==1 || sell==1)
         {
              for( i=0;i<total;i++)
        {
            OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
             if(OrderType()==OP_BUYSTOP)
             { OrderDelete( OrderTicket());
             }
             
              if(OrderType()==OP_SELLSTOP)
             {
            OrderDelete( OrderTicket());
             }
             
           
     
         }
         
         }
     
     
     
     
      }
       
       
       
       
        return (0);
 }

popcraze

  • Newbie
  • *
  • Posts: 3
ขอพระคุณมาก ๆ เลยครับ สำหรับ คำสั่ง และคำถามที่กำลังอยากจะถามต่อเลย   
 Forex จงเจริญ
จัดไปอย่าให้เสีย

fxneverdie

  • Newbie
  • *
  • Posts: 47
ขอบคุณเช่นกันครับ

starter123

  • Newbie
  • *
  • Posts: 13
OrderSend(Symbol(),OP_SELLSTOP,Lot,Bid-Point*10,3,0,0,"EA",Magic,0,Red);
    Sleep(1000);จากคำสั่งนี้เลข  10,3,0,0 มายังไงครับ   symbol นี้ เราจะเขียนคู่เงินลงไปเลยได้หรือเปล่า   red  นี้คืออะไร

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
red  คือค่าสีของลูกศรที่แสดงตำแหน่งเข้าเปิด Order บนกราฟครับ ว่าเราต้องให้มันแสดงสีอะไรครับ

starter123

  • Newbie
  • *
  • Posts: 13
OrderSend(Symbol(),OP_SELLSTOP,Lot,Bid-Point*10,3,0,0,"EA",Magic,0,Red);
    Sleep(1000);
    OrderSend(Symbol(),OP_BUYSTOP,Lot,Ask+Point*10,3,0 ,0 ,"EA",Magic,0,Green); คำสั่งลักษณะอย่างนี้อยอยู่หัวข้อไหนของ navigator ครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
OrderSend(Symbol(),OP_SELLSTOP,Lot,Bid-Point*10,3,0,0,"EA",Magic,0,Red);
    Sleep(1000);
    OrderSend(Symbol(),OP_BUYSTOP,Lot,Ask+Point*10,3,0 ,0 ,"EA",Magic,0,Green); คำสั่งลักษณะอย่างนี้อยอยู่หัวข้อไหนของ navigator ครับ

ใน navigator  ไปที่ Tab search แล้วพิมพ์คำว่า ordersend ครับ ถ้าอยากหาอะไรก็ search เอาจากตรงนั่นได้เลยครับ

starter123

  • Newbie
  • *
  • Posts: 13
OrderSend(Symbol(),OP_SELLSTOP,Lot,Bid-Point*10,3,0,0,"EA",Magic,0,Red);
    Sleep(1000);

คำสั่งนี้หมายความว่า ยังไม่ได้ตั้งค่า  stop  loss และ  take  profit และให้  sell ตำกว่าราคาจริงอยู่ 10 จุด ใช่หรือเปล่าครับ ?   และ magic=12356 หมายความว่าอะไรครับ ?

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
ใช้ครับเป็นการสั่งตั้ง Pending order ครับคือการตั้งรอราคา หากราคามาถึงก็ทำการเปิด order ครับ ที่คุณเข้าใจถูกแล้วครับ  ส่วน magic ก็เหมือนตั้ง group ให้กับ order ที่เปิดโดย EA ที่เราเขียนครับ   123456 ก็เป็นตัวเลขแทนชื่อกลุ่มครับ magic เราตั้งได้เฉพาะตัวเลขนะครับห้ามใช้ตัวอักษร magic จะมีประโยชน์ตรงที่หากเราใช้ EA หลายตัวทำงานมันจะแยกออกว่า order ใดเปิดโดย EA ตัวไหนครับ