มี code ที่ดีกว่านี้ หรือ ไอเดียที่ดีกว่านี้ใหมครับ
ผมจะลองทดสอบการออก order ที่ delay หรือ เวลาไม่ตรงกับ signal ครับ
ถ้าใช้คำสั่ง random + sleep จะ work ใหมครับ
ที่แน่ๆ คือ ต้องการให้ order ออกแน่นอน 100% แต่ ไม่ใช่เวลานั้นๆ ที่ทริก signal
MathRand()%1000*1000 ใช้สุ่มเวลา
sleep(1000) เท่ากับ 1 วืนาที
Sleep (MathRand()%1000*100) ประมาณ 10-90 วินาที
Sleep (MathRand()%1000*1000) ประมาณ 100-900 วินาที
Sleep (MathRand()%1000*10000) ประมาณ 1000-9000 วินาที
วิธีใช้
Sleep (MathRand()%1000*10000)
OrderSent
Sleep (MathRand()%1000*10000)
Trade.Buy(NULL,NULL,0,0,0,"")
ประมาณนี้คือ เจอ sleep ก่อน แล้วมันหยุด แล้วถึงจะ ออก order ตามมา
code แบบนี้สเถียร หรือไม่ครับ
ไอเดีย เราต้องการความแม่นยำในการออก order ตรงซิกแนล แต่ถ้าไม่ไม่แม่น แสดงว่าพลาดใช่ใหม
ดังนั้น ซิกแนลที่ต้องการความแม่นยำสูงจะพลาดง่าย แต่ถ้าซิกแนลที่มีความยืดหยุ่นสูงละ
ถ้าอีเอทำงานงาน พร้อมกับ delay แล้วยังเทรดสำเร็จ แสดงว่า work เพราะทุกครั้งมันจะ delay ไม่เท่ากันตลอด
กราฟมีความผันผวนสูง และกราฟของแต่ละโบรกก็ไม่เท่ากัน มีความลาดเคลื่อนตั้งแต่ เวลาของแต่ละโบรกต่าง ทำให้แท่งเทียนต่างด้วยหรือไม่
ความคลาดเคลื่อนในการรับข้อมูล tick feed จากตลาด ส่งไปยัง server ของ provider แล้วส่งไปยัง broker server ทำให้ต่างกันด้วย
รวมไปถึงอินเตอร์เน็ตที่เราใช้ด้วย ทำให้มันคลาดเคลื่อน
โบรกอาจจะตั้ง random ความคลาดเคลื่อนไว้หลอกเราก็ได้นะ 555
ระบบที่ดีอาจจะต้องรองรับกับความคลาดเคลื่อนได้