ข้อมูล Deep of Market เอามาทำเป็น อินดี้เทรดยังไงดีครับ
แบบว่า แยกเอาฝั่ง buy และ sale มารวมกัน ข้างใหนมากกว่าก็เอาข้างนั้น (หรือสวนทาง ก็เอาข้างน้อยกว่า)
ลองใช้คำสั่ง MarketBookGet และตัวอย่าง code ที่มีสั้นๆ ก็ดึงข้อมูลทั้งหมดออกมาได้แล้วนะครับ
https://www.mql5.com/en/docs/marketinformation/marketbookgetถ้าจะใช้ต้องบันทึกเก็บจาก Live เก็บไว้ใน csv หรือ db เอาเองนะครับ ไม่มีย้อนหลัง
ผมลองทำสคริปเล็กๆ จาก code ตัวอย่างสั้นๆ ออกมาแสดง และเอาตัวเลขทั้งหมดมา sum รวมกัน ปรากฎว่ามันมีต่างกันครับ คือตัวเลขสะสมเมื่อเปิดทิ้งๆว้นานๆ จะเห็นว่งต่างกัน (เดิมที่คิดว่า bid ask ซ้ายขวาแล้วมันจะเท่าๆกัน)
แต่จริงๆ แล้วต้องทำละเอียด คือทำ index ของราคาแล้วเอาจำนวนตัวเลข volume ไป ใส่แยกให้ถูกต้อง
ไฟล์อแนบ สคริปง่ายๆ เอาข้อมูลมาโชวใน comment text บนจอ
ต้องใช้ใน MT5 อย่างเดียวนะครับ ใน MT4 ไม่มีให้ใช้
โบรกที่ใช้ตอนนี้ลองใช้ demo ของ MT5 เอง คือ Demo MetaQuotes Software Corp มีข้อมูลนี้ออกมาให้ตลอดนะครับ
ถ้าจะเพิ่มให้พิมพ์ชื่อ server ว่า metaquotes นะครับ จะมี server มาให้เลือกและเปิดแอคเค้า Demo เองได้เลยจากใน MT5
น่าจะเป็นข้อมูลจาก liquidity provider ที่ทาง metaquotes ใช้อยู่ ไม่ใช่ทั้งหมดของตลาด
Example:
MqlBookInfo priceArray[];
bool getBook=MarketBookGet(NULL,priceArray);
if(getBook)
{
int size=ArraySize(priceArray);
Print("MarketBookInfo for ",Symbol());
for(int i=0;i<size;i++)
{
Print(i+":",priceArray[i].price
+" Volume = "+priceArray[i].volume,
" type = ",priceArray[i].type);
}
}
else
{
Print("Could not get contents of the symbol DOM ",Symbol());
}