ตัวอย่างการเขียน EA เพื่อเปิด Order โดยครอบคลุมทั้ง BUY และ SELL

ตัวอย่างการเขียน EA เพื่อเปิด Order โดยครอบคลุมทั้ง BUY และ SELL การเขียนโปรแกรมที่ดีควรเขียนแยกการทำงานออกเป็นส่วนๆหรือที่เรียกว่าฟังก์ชั่น...


ตัวอย่างการเขียน EA เพื่อเปิด Order โดยครอบคลุมทั้ง BUY และ SELL

การเขียนโปรแกรมที่ดีควรเขียนแยกการทำงานออกเป็นส่วนๆหรือที่เรียกว่าฟังก์ชั่น เพื่อให้ง่ายต่อการวิเคราะห์ในการหาข้อผิดพลาดจากการทำงานของโปรแกรม การเขียน EA ก็เหมือนกัน ถ้าเราเขียนโดยแยกออกเป็นฟังก์ชั่นก็จะทำให้ง่ายต่อการแก้ไขปรับปรุง ในกรณีที่เราต้องการปรับเปลี่ยนเทคนิคในการเทรด 
    มาดูฟังก์ชั่นในการเปิด Order ซึ่งเป็นฟังก์ชั่นหลักฟังก์ชั่นหนี่งของ EA ก็ว่าได้ เพราะถ้าฟังก์ชั่นนี้ทำงานผิดพลาดนั่นหมายถึงหายนะกำลังมาเยือน เพราะฉะนั้นต้องมั่นใจว่าฟังก์ชั่นนี้จะไม่ทำงานผิดพลาด ไม่ว่าสถานการณ์ของตลาดจะผันผวนก็ตาม


/* ฟังก์ชั่นนี้จะทำงานเมื่อมีสัญญาณมาจากฝั่ง Server */
int start(){

/* เมื่อเราตรวจสอบราคาด้วยอินดิเคเตอร์ใดๆแล้ว แล้วถึงจุดที่ต้องการเปิด Order */
/* ยกตัวอย่าง ถ้าต้องการเปิด ORDER BUY และ Lotsize เท่ากับ 1
openOrder(OP_BUY,1);

/* ยกตัวอย่าง ถ้าต้องการเปิด ORDER SELL และ Lotsize เท่ากับ 1
openOrder(OP_SELL,1);

return(0);
}

/* ฟังก์ชั่นสำหรับเปิด Order
bool openOrder(int cmd,double lot,double tp=0.0) {
int ticket,count;
int error;
double price;
count = 0;
ticket = -1;

/* วนลูปเพื่อส่งคำสั่งซื้อจนกว่าจะเปิด Order ได้ แต่ไม่เกิน 5 ครั้ง */
while((ticket<0) && (count < 5)){ /* ถ้าเป็นคำสั่ง BUY ให้ซื้อที่ Ask */ if(cmd==OP_BUY) price=Ask; /* ถ้าเป็นคำสั่ง SELL ให้ซื้อที่ Bid */ else price=Bid; /* ถ้าเป็นคำสั่ง BUY */ if(cmd==OP_BUY){ ticket=OrderSend(Symbol(),OP_BUY,lot,price,3,0.0,tp,NULL,255,0,CLR_NONE); /* ตรวจสอบว่าเปิด Order สำเร็จรึปล่าว */ if(ticket<0){ error = GetLastError(); Print("Error:Send Buy Order LastError = ",error," price=",price); /* ถ้า error code เกี่ยวกับราคาที่เปลี่ยนไปจากราคาที่ต้องการให้อ่านค่าใหม่ */ if(error==129 || error==135 || error==146 || error==138){ RefreshRates(); } }else{ /* ได้รับค่า ticket แสดงว่าเปิด Order สำเร็จ */ return (true); } /* ถ้าเป็นคำสั่ง SELL */ }else { ticket=OrderSend(Symbol(),OP_SELL,lot,price,3,0.0,tp,NULL,255,0,CLR_NONE); if(ticket<0 ){ error = GetLastError(); Print("Error:Send Sell Order LastError = ",error," price=",price); if(error==129 || error==135 || error==146 || error==138){ RefreshRates(); } }else { /* เปิด Order สำเร็จ */ return (true); } } /* เปิด Order ไม่สำเร็จกับไปเปิดใหม่ */ count++; } /* ไม่สามารถเปิด Order ได้ */ return (false); }

    พยายามคิดการทำงานออกมาให้เป็นส่วนๆ แต่ละส่วนทำงานแยกขาดออกจากกัน จะทำให้เราได้ฟังก์ชั่นที่สามารถนำเอาไปใช้ทำงานร่วมกับ EA ตัวอื่นได้ ขอให้สนุกับการเขียน EA ครับ

ที่มา http://onlinemakeemoney.blogspot.com

COMMENTS



ชื่อ

กองทุน,4,การวิเคราะห์พื้นฐาน,77,ความรู้ทั่วไป,66,ทฤษฎี Elliott Wave,12,แนวคิดการเทรด,67,บทวิเคราะห์พิเศษSpecial Post,80,บุคคลที่ประสบความสำเร็จ,21,ระบบเทรด,22,รูปแบบแท่งเทียน,34,ลงทุนทองคำ,15,เศรษฐกิจโลก,46,ไอเดียทำเงิน,14,Course Learn,1,Dow Theroy,1,E-Book,1,e-currency,1,exness,1,Expert Advisor,22,FBS Broker,3,Fibonacci,13,Fullerton Markets,6,Fundamental,42,FXClearing,6,FXPRIMUS,2,Indicators,49,Introducing Broker Forex,8,iqoption,2,option trade,6,Robo Forex,1,Sell Indicator,5,skrill,1,VDO TRADE,10,Weltrade,7,XM,2,
false
ltr
item
คนเล่น Forex: ตัวอย่างการเขียน EA เพื่อเปิด Order โดยครอบคลุมทั้ง BUY และ SELL
ตัวอย่างการเขียน EA เพื่อเปิด Order โดยครอบคลุมทั้ง BUY และ SELL
คนเล่น Forex
http://www.konlenforex.com/2012/12/ea-order-buy-sell.html
http://www.konlenforex.com/
http://www.konlenforex.com/
http://www.konlenforex.com/2012/12/ea-order-buy-sell.html
true
899084929324579512
UTF-8
Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS CONTENT IS PREMIUM Please share to unlock Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy