Sponsored Ads

วันอังคารที่ 13 มิถุนายน พ.ศ. 2560

Open Order

Opening and Placing Orders


การส่งคำสั่งเพื่อ Open Order หรือ Placing Order สามารถใช้ฟังก์ชั่น OrderSend() เพื่อใช้ในการส่งคำสั่ง

Function OrderSend()

int OrderSend(string symbol, int cmd, double volume , double price , int slippage , double stoploss , double takeprofit , string comment=NULL, int magic=0, datetime expiration=0,color arrow_color=CLR_NONE) 


อย่าเพิ่งตกใจกับฟังก์ชั่นทำไมมันเขียนยาวขนาดนี้ มาดูความหมายของมันก่อน 

OrderSend คือ ชื่อฟังก์ชั่นจะ return ค่ากลับมาเป็นเลข ticket ของ order หากส่ง Order ไม่ผ่าน มันจะ return ค่าเป็น -1 (ซึ่งเราสามารถใช้้ฟังก์ชั่น getLastError() ไว้เพื่อเช็คดุสาเหตุอีกที ไว้ตอนต่อไปเราจะอธิบายเพิ่มเติม) 

symbol คือ ชื่อสกุลเงินที่เราต้องการจะส่งไป ปกติเราจะใช่ฟังก์ชั่น Symbol() มากกว่าที่จะระบุสกุลเงินไปตรงๆ เพื่อให้ง่ายต่อการปรับเปลี่ยนนั่นเอง 

volume คือ ขนาดของ lot ที่เราต้องการจะส่ง Order ไป 

Price คือ ราคาที่เราต้่องการจะส่ง Order ไป อาจจะระบุเป็นตัวเลขตรงๆไปเลย หรือเลือกที่ Bid , Ask เป็นต้น 

Slippage คือ ค่าเบี่ยงเบนจากราคา open price สามารถยอมรับได้เท่าไหร่ เพื่อให้ได้ order  

stoploss คือ ราคาที่เราต้องการ stoploss 

takeprofit คือ ราคาที่เราต้องการ take profit 

comment คือ เราอยากหมายเหตุอะไรก็ใส่ไป 

magic คือ หมายเหตุที่เป็นเฉพาะตัวเลข 

expiration คือ ช่วงเวลาสิ้นสุดของการส่ง Order  จะใช้กับ pending order 

arrow _ color  คือ สีของลูกศร เมื่อมีการเปิด Order 


เมื่อเรารู้ว่าฟังก์ชั่นนี้ต้องการค่าอะไรแล้ว ทีนี้เรามาลองเขียน code ส่งคำสั่งกันครับ 




int start() 
   {
 OrderSend(Symbol(),OP_BUY,0.1,Ask,10,Bid-150*Point,Bid+150*Point,NULL,1234,0,"Green");
      Alert(GetLastError());
      return; 
   }



หากต้องการเลือกส่งรายการ GBPUSD  


int start() 
   {
 OrderSend(GBPUSD,OP_BUY,0.1,Ask,10,Bid-150*Point,Bid+150*Point,NULL,1234,0,"Green");
      Alert(GetLastError());
      return; 

   }




1 ความคิดเห็น:

  1. แล้วถ้าจะให้มันออกออเดอร์ทุก 50 จุดต้องเขียนยังไงครับ

    ตอบลบ