การเทรดด้วยระบบ

Tipu MACD EA: ผู้ช่วยการเทรดอัตโนมัติสำหรับ MetaTrader 4
MetaTrader4
Tipu MACD EA: ผู้ช่วยการเทรดอัตโนมัติสำหรับ MetaTrader 4

Tipu MACD EA เป็นผู้ช่วยการเทรดที่ใช้ดัชนี MACD ซึ่งถูกพัฒนาขึ้นโดย Gerald Appel ในปี 1979  ดัชนี MACD เป็น Momentum Oscillator ที่คำนวณโดยการลบค่าเฉลี่ยเคลื่อนที่สองค่าจากราคาสินทรัพย์ โดยเป็นหนึ่งในดัชนีที่ง่ายที่สุดและให้ข้อมูลทั้งในด้านแนวโน้มและโมเมนตัมที่ดีที่สุด  เวอร์ชันมาตรฐานของ MACD นั้นมีอยู่ในแพลตฟอร์ม MetaTrader 4  https://www.mql5.com/en/code/7774    นอกจากนี้ยังมีการปรับเปลี่ยนของดัชนี MACD หลายเวอร์ชัน หนึ่งในนั้นสร้างโดย Kaleem Haider https://www.mql5.com/en/code/18270 Tipu MACD EA เป็น EA ที่ออกแบบมาเพื่อช่วยในการซื้อ/ขายอัตโนมัติตามสัญญาณจากดัชนี MACD  โดย EA ตัวนี้มีไว้เพื่อการศึกษาเท่านั้นและผู้ใช้ควรใช้ความระมัดระวังในการเทรด

2021.05.27
One_Price_SL_TP - เครื่องมือช่วยปิดออเดอร์ใน MetaTrader 4
MetaTrader4
One_Price_SL_TP - เครื่องมือช่วยปิดออเดอร์ใน MetaTrader 4

สวัสดีครับเพื่อน ๆ เทรดเดอร์ทุกคน! วันนี้เรามาพูดถึงเครื่องมือที่ชื่อว่า One_Price_SL_TP ซึ่งเป็น EA ที่จะช่วยให้คุณสามารถปิดออเดอร์ทั้งหมดได้ในราคาที่คุณกำหนดในช่อง "ZEN" ไม่ว่าจะเป็นออเดอร์ SL หรือ TP คุณก็จะได้ราคานั้นในการปิดทุกออเดอร์ที่เปิดอยู่ ช่วยให้การปิดออเดอร์เป็นเรื่องง่ายในครั้งเดียว! เครื่องมือนี้ทำงานได้ดีมากสำหรับผู้ที่มีเงินทุนสูง แต่ถ้าคุณเป็นมือใหม่ แนะนำให้ใช้บัญชีเซนหรือไมโคร เพราะจะทำให้คุณสามารถปิดออเดอร์ได้ในจำนวนมาก ๆ ได้อย่างสะดวกสบาย การเปิดออเดอร์แบบสุ่มด้วยตนเองตามแนวโน้มที่กำลังเกิดขึ้นก็เหมาะสมสำหรับบัญชีที่มีออเดอร์ใหญ่ (ดูภาพที่แนบมาด้วยนะครับ)

2021.05.20
จัดการความเสี่ยงด้วย Dual StopLoss: ซ่อนและปกติใน MetaTrader 4
MetaTrader4
จัดการความเสี่ยงด้วย Dual StopLoss: ซ่อนและปกติใน MetaTrader 4

หลายคนที่เข้ามาในวงการเทรดมักจะมองข้ามเรื่องการจัดการเงินไป ซึ่งจริงๆ แล้วมันเป็นสิ่งที่สำคัญมากเมื่อเราจะเปิดตำแหน่งใหม่ หนึ่งในวิธีที่นักเทรดนิยมใช้ในการควบคุมความเสี่ยงและจัดการเงินทุนคือการตั้ง Stop Loss สำหรับตำแหน่งของพวกเขา นักเทรดหลายคนเข้าใจว่าหากตั้ง Stop Loss (หรือแม้กระทั่ง Take Profit) แล้วใส่ราคาใน หน้าต่างการปรับตำแหน่ง เซิร์ฟเวอร์ของโบรกเกอร์จะต้องปิดตำแหน่งของตนทันทีที่ราคาถึงจุดนี้ แต่จริงๆ แล้วมันไม่เป็นเช่นนั้นเสมอไป มันขึ้นอยู่กับประเภทบัญชีที่คุณมีที่โบรกเกอร์ หากเป็นบัญชี ECN เมื่อคุณตั้งราคาให้โบรกเกอร์เป็น Stop Loss หรือ Take Profit โบรกเกอร์จะปิดตำแหน่งของคุณที่ราคาที่ดีที่สุดที่สามารถทำได้เมื่อราคาถึงจุดนี้ หากคุณไม่เห็นด้วย ลองตรวจสอบประวัติการเทรดของคุณให้ดีขึ้น คุณจะเห็นว่าบางคำสั่งของคุณถูกปิดที่ราคาที่ไม่ตรงกับที่คุณตั้งไว้ และคุณอาจจะขาดทุนมากกว่าที่คิดหรือได้กำไรมากกว่าที่คาดหวัง นี่คือผลของ SLIPPAGE นอกจากนี้ ยังมีนักเทรดบางคนเชื่อว่าการตั้งค่าความเสี่ยงไม่ควรระบุอย่างชัดเจนสำหรับโบรกเกอร์ ดังนั้นจึงเกิด HIDDEN Stop Loss ขึ้น ซึ่งโรบอตนี้ถูกออกแบบมาเพื่อจุดประสงค์นี้ โดยตอนนี้คุณสามารถใช้ HIDDEN และ REGULAR Stop Loss พร้อมกัน คุณสามารถตั้ง REGULAR Stop Loss สำหรับตำแหน่งของคุณได้ง่ายๆ เหมือนที่เคยทำ ไม่ว่าจะใช้โรบอตหรือเทรดด้วยมือ เพียงแค่รันโรบอตนี้บนกราฟใหม่ (กราฟใดก็ได้) เพื่อจัดการตำแหน่งทั้งหมดของคุณ ค่าที่ป้อนจะกำหนดระยะห่างระหว่าง HIDDEN และ REGULAR Stop Loss ซึ่งต้องทราบว่าค่านี้กำหนดด้วยจุด ไม่ใช่ pip

2021.04.23
Scalper Assistant v1.0: ผู้ช่วยมือใหม่สำหรับการเทรดใน MetaTrader 4
MetaTrader4
Scalper Assistant v1.0: ผู้ช่วยมือใหม่สำหรับการเทรดใน MetaTrader 4

การเทรดแบบ Scalping เป็นกลยุทธ์ที่ได้รับความนิยมอย่างมากในหมู่นักเทรดทั่วโลก หลายคนเคยลองใช้กันมาบ้างแล้ว เพราะ Scalper มักจะทำการเทรดมากกว่า 10 ครั้งต่อวัน การตั้งค่า Stop Loss และ Take Profit สำหรับแต่ละออเดอร์อาจจะน่าเบื่อหน่อย ถ้ากลยุทธ์ของคุณคือการเทรดในหลายๆ เครื่องมือทางการเงินและต้องการ Break Even ด้วย การจัดการออเดอร์ต่างๆ เหล่านี้อาจจะทำให้คุณรู้สึกเบื่อหน่ายและเกิดความผิดพลาดได้ง่าย นอกจากนี้ ถ้าคุณเทรดใน Time-Frame ที่ต่ำลง และในหลายคู่เงิน อาจมีการเคลื่อนไหวของราคาที่รวดเร็วในขณะที่คุณออกไปหยิบชาก็เป็นได้ และคุณอาจจะพลาดโอกาสในการ Break Even ไปได้ อย่างไรก็ตาม ความเป็นไปได้ของการกลับตัวของราคาอย่างรวดเร็วและการเปลี่ยนจากการเทรดที่มีกำไรให้กลายเป็นขาดทุน ก็ไม่เคยห่างหายจากความคิดของนักเทรดเลย แต่การใช้ผู้ช่วยนี้ คุณจะสามารถกำหนดจำนวน Stop Loss และ Take Profit ได้อย่างง่ายดาย ทันทีที่คุณเปิดออเดอร์ ผู้ช่วยนี้จะตั้งค่าค่าพื้นฐานให้โดยอัตโนมัติ และถ้าราคาเคลื่อนไหวไปในทิศทางที่ต้องการเพียงพอ การเทรดก็จะกลายเป็น Risk-Free หรือ Break-Even อัตโนมัติ สำหรับค่าต่างๆ ที่ใช้ จะอยู่ในรูปแบบ POINT (ไม่ใช่ PiP) extern double WhenToMoveToBE; // คุณจะกำหนดจำนวนจุดที่ราคาควรห่างจากจุดเข้าออเดอร์ เพื่อให้ EA จะทำการ Break-Even ออเดอร์นั้น extern double BEAmount; // คุณจะตั้งค่าระยะห่างของ Stop Loss จากจุดเข้าออเดอร์

2021.04.23
การเฉลี่ยตามสัญญาณ - ผู้ช่วยมือโปรสำหรับ MetaTrader 4
MetaTrader4
การเฉลี่ยตามสัญญาณ - ผู้ช่วยมือโปรสำหรับ MetaTrader 4

สวัสดีครับเพื่อนนักเทรดทุกคน! วันนี้เราจะมาพูดถึง Expert Advisor ที่ถูกออกแบบมาเพื่อให้เราเรียนรู้การเขียนโค้ด MQL4 โดยเฉพาะกับการใช้สัญญาณจากการข้ามของค่าเฉลี่ยเคลื่อนที่ (MA) เป็นสัญญาณเข้าซื้อขายกันครับ EA นี้มีจุดประสงค์เพื่อเรียนรู้และเข้าใจการทำงานของโค้ด โดยทุกคำสั่งที่เปิดจะใช้หมายเลขเฉพาะ (magic number) ที่แตกต่างกันตามคู่เงินที่เราเลือก คุณสามารถดูวิธีการที่ EA นี้จัดการกับหมายเลขเฉพาะได้เลยครับ ฟังก์ชัน ManageOrders() จะช่วยในการเปิดคำสั่งใหม่และการเฉลี่ยตามสัญญาณหรือแม้กระทั่งไม่ใช้สัญญาณ โดยจะพิจารณาจากระยะห่างขั้นต่ำระหว่างแต่ละเลเยอร์ ในส่วนของฟังก์ชัน setTPSLMarti() เราสามารถตั้งค่า Take Profit (TP) สำหรับคำสั่งเดียวหรือหลายคำสั่งที่มีราคา TP เดียวกันได้ครับ และสำหรับฟังก์ชัน setTrailingStop() จะช่วยในการตั้งค่า Trailing Stop ที่คำสั่งเริ่มต้นหนึ่งคำสั่งด้วย หากเพื่อนๆ สนใจข้อมูลเพิ่มเติมและต้องการเข้ากลุ่มแชร์ข้อมูล สามารถเข้าร่วมได้ที่ t.me/codeMQL

2021.04.21
เปิดเผยกลยุทธ์การเทรด Forex สำหรับ MetaTrader 4
MetaTrader4
เปิดเผยกลยุทธ์การเทรด Forex สำหรับ MetaTrader 4

การลงทุนใน Forex นั้นมีความเสี่ยงที่ผู้เทรดทุกคนต้องเข้าใจ โดยทั่วไปแล้วความเสี่ยงที่แนะนำคืออยู่ที่ 1% ถึง 3% ต่อการเทรดหนึ่งครั้ง เพื่อปกป้องเงินทุนของเราให้ได้มากที่สุด สำหรับกำไรที่คาดหวังในแต่ละเดือนนั้น สามารถอยู่ในช่วง 25% ถึง 35% ซึ่งถือว่าเป็นผลตอบแทนที่น่าพอใจสำหรับนักเทรดที่มีประสบการณ์ นอกจากนี้ การใช้ เลเวอเรจ ที่ 500 เท่าคือสิ่งที่ช่วยเพิ่มศักยภาพในการทำกำไรให้กับเราได้ แต่ก็ควรใช้ด้วยความระมัดระวัง การตั้ง Stop Loss (SL) และ Take Profit (TP) เป็นเครื่องมือที่สำคัญในการจัดการความเสี่ยงและช่วยให้เราได้กำไรตามเป้าหมายที่ตั้งไว้

2021.04.07
จัดตารางการเทรดอัตโนมัติด้วย Expert Advisor สำหรับ MetaTrader 4 และ 5
MetaTrader4
จัดตารางการเทรดอัตโนมัติด้วย Expert Advisor สำหรับ MetaTrader 4 และ 5

สวัสดีเพื่อนนักเทรดทุกคน! วันนี้เรามีเครื่องมือดีๆ ที่จะช่วยให้การเทรดของคุณสะดวกยิ่งขึ้น นั่นคือ AutoTrading Scheduler ซึ่งเป็น Expert Advisor สำหรับ MetaTrader 4 และ MetaTrader 5 จากเว็บไซต์ EarnForex.com. AutoTrading Scheduler ช่วยคุณควบคุมช่วงเวลาที่คุณต้องการให้การเทรดอัตโนมัติทำงานหรือหยุดทำงานในแพลตฟอร์ม MetaTrader ของคุณได้อย่างง่ายดาย คุณสามารถตั้งค่าช่วงเวลาได้ในแต่ละวันของสัปดาห์ และมันจะปิดการเทรดอัตโนมัติทันทีเมื่ออยู่นอกช่วงเวลาดังกล่าว นอกจากนี้ มันยังสามารถพยายามปิดการเทรดทั้งหมด (ทั้งตำแหน่งที่เปิดอยู่และคำสั่งที่รอดำเนินการ) ก่อนที่จะหยุดการเทรดอัตโนมัติอีกด้วย ช่วยลดความเสี่ยงในการเทรดในช่วงเวลาที่ไม่เหมาะสม สามารถปรับตั้งค่าได้ตามต้องการเพื่อให้เหมาะกับสไตล์การเทรดของคุณ ทำให้การจัดการการเทรดเป็นเรื่องง่ายและไม่ยุ่งยาก

2021.04.01
ปิดคำสั่งเมื่อถึงเป้า หรือ ตัดขาดทุน - เครื่องมือสำหรับ MetaTrader 4
MetaTrader4
ปิดคำสั่งเมื่อถึงเป้า หรือ ตัดขาดทุน - เครื่องมือสำหรับ MetaTrader 4

สวัสดีครับเพื่อนๆ เทรดเดอร์ทุกคน! วันนี้เราจะมาพูดถึงเครื่องมือที่ใช้ในการเทรดกันนะครับ นั่นก็คือ Expert Advisor หรือที่เราเรียกกันว่า EA นั่นเอง EA ตัวนี้จะช่วยให้เราสามารถปิดคำสั่งเทรดได้ตามที่เรากำหนดไว้ โดยมี 3 ตัวแปรที่ต้องตั้งค่าดังนี้: เป้าหมายกำไร ตัดขาดทุน หมายเลขเวทมนตร์ extern double inTargetProfitMoney = 10; // เป้าหมายกำไร ($) extern double inCutLossMoney = 0.0; // ตัดขาดทุน ($) extern int inMagicNumber = 0; // หมายเลขเวทมนตร์ เมื่อ EA นี้ทำงาน มันจะเรียกใช้ฟังก์ชัน OnInit() ก่อน เพื่อยืนยันค่าที่เราตั้งไว้ int OnInit() { //--- if(inTargetProfitMoney <= 0) { Alert("ค่าที่ป้อนไม่ถูกต้อง"); return(INIT_PARAMETERS_INCORRECT); } inCutLossMoney = MathAbs(inCutLossMoney) * -1; //--- return(INIT_SUCCEEDED); } ทุกครั้งที่มีการเคลื่อนไหวของราคา (tick) จะเรียกใช้ฟังก์ชัน OnTick() void OnTick() { //--- double tFloating = 0.0; int tOrder = OrdersTotal(); for(int i=tOrder-1; i>=0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderMagicNumber() == inMagicNumber) { tFloating += OrderProfit() + OrderCommission() + OrderSwap(); } } } if(tFloating >= inTargetProfitMoney || (tFloating <= inCutLossMoney && inCutLossMoney < 0)) { fCloseAllOrders(); } } ในฟังก์ชัน OnTick จะคำนวณกำไรหรือขาดทุนรวม แล้วทำการปิดคำสั่งทั้งหมดเมื่อถึงเป้าหมายหรือขาดทุนสูงสุด void fCloseAllOrders() { double priceClose = 0.0; int tOrders = OrdersTotal(); for(int i=tOrders-1; i>=0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderMagicNumber() == inMagicNumber && (OrderType() == OP_BUY || OrderType() == OP_SELL)) { priceClose = (OrderType() == OP_BUY) ? MarketInfo(OrderSymbol(), MODE_BID) : MarketInfo(OrderSymbol(), MODE_ASK); if(!OrderClose(OrderTicket(), OrderLots(), priceClose, slippage, clrGold)) { Print("คำเตือน: ปิดคำสั่งล้มเหลว"); } } } } } สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการศึกษาโค้ด MQL4 และการแชร์ประสบการณ์กัน สามารถเข้าร่วมกลุ่ม Telegram ของเราได้ที่ t.me/codeMQL

2021.03.31
การใช้ Trailing Stop พร้อม Magic Number ใน MetaTrader 4
MetaTrader4
การใช้ Trailing Stop พร้อม Magic Number ใน MetaTrader 4

การใช้ Trailing Stop นั้นช่วยสนับสนุนการเทรดของเราได้อย่างมาก โดยการปรับระดับ Stop Loss ให้เข้าใกล้กำไร เพื่อให้เรามั่นใจว่าการเทรดของเราจะปลอดภัยมากขึ้นเสมอ วันนี้เราจะมาดูวิธีการเขียนโค้ด Trailing Stop โดยเริ่มจากการกำหนดพารามิเตอร์สำหรับ Trailing Stop กันก่อน input  bool  isTrailingStop = true;  // Trailing Stop input  int  trailingStart  = 15;    // Trailing Start (pips) input  int  trailingStep   = 5;    // Trailing Step (pips) input  int  MagicNumber = 0;      // Magic Number เรามีกระบวนการทำงานที่สำคัญคือการใช้ Global Variable // Global Variable double  myPoint  = 0.0; เมื่อเราทำการรัน Expert Advisor (EA) ตัวนี้ ฟังก์ชัน OnInit() จะถูกเรียกใช้เป็นครั้งแรกในฟังก์ชันนี้เราจะทำการตรวจสอบและกำหนดค่าเริ่มต้นของพารามิเตอร์ต่างๆ int OnInit()   {    if (isTrailingStop && trailingStart <= 0){       Alert("พารามิเตอร์ไม่ถูกต้อง");       return(INIT_PARAMETERS_INCORRECT);    }       myPoint     = GetPipPoint(Symbol());       return(INIT_SUCCEEDED);   } ในทุกครั้งที่มีการเคลื่อนไหวของราคา (Tick) บนชาร์ตที่ EA นี้เชื่อมโยงอยู่ ฟังก์ชัน OnTick() จะถูกเรียกใช้ โดยในฟังก์ชันนี้จะเรียกใช้ฟังก์ชัน setTrailingStop() void OnTick()   { //---    setTrailingStop(MagicNumber);   } ฟังก์ชัน setTrailingStop() void setTrailingStop(int magicNumber=0){    if (isTrailingStop==false) return;       int      tOrder = 0;    string   pair = "";    double   sl = 0.0, tp = 0.0;       pair = Symbol();       tOrder = OrdersTotal();    for (int i=tOrder-1; i>=0; i--){       bool hrsSelect = OrderSelect(i, SELECT_BY_POS, MODE_TRADES);       if (OrderMagicNumber() == magicNumber && StringFind(OrderSymbol(), pair, 0) == 0 ){          if (OrderType() == OP_BUY){             if ( (Bid - (trailingStart * myPoint)) >= OrderOpenPrice()               && (Bid - ((trailingStart+trailingStep) * myPoint) >= OrderStopLoss() )             ){                sl = NormalizeDouble(Bid - (trailingStart * myPoint), Digits());                if (!OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0, clrBlue)){                   Print("#", OrderTicket(), " ไม่สามารถอัปเดต SL ได้");                }             }          }                   if (OrderType() == OP_SELL){             if ( (Ask + (trailingStart * myPoint)) <= OrderOpenPrice()               && ( (Ask + ((trailingStart+trailingStep) * myPoint) <= OrderStopLoss() ) || OrderStopLoss() == 0.0)                )             {                sl = NormalizeDouble(Ask + (trailingStart * myPoint), Digits() );                if (!OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0, clrBlue)){                   Print("#", OrderTicket(), " ไม่สามารถอัปเดต SL ได้");                }             }          }       } // สิ้นสุดเงื่อนไข magicNumber    }// สิ้นสุดลูป for } ฟังก์ชันมาตรฐานอื่นๆ ที่จำเป็นคือ GetPipPoint() // ฟังก์ชัน GetPipPoint double GetPipPoint(string pair) {    double point= 0.0;    int digits = (int) MarketInfo(pair, MODE_DIGITS);    if(digits == 2 || digits== 3) point= 0.01;    else if(digits== 4 || digits== 5) point= 0.0001;    return(point); } หากท่านมีคำถาม สามารถแสดงความคิดเห็นไว้ด้านล่าง หรือสามารถเข้าร่วมกลุ่มเพื่อแชร์ความรู้ t.me/codeMQL นอกจากนี้เรายังมีแอปพลิเคชัน SignalForex ที่สามารถช่วยให้การเทรดของคุณทำกำไรได้มากขึ้น คุณสามารถสนับสนุนเราได้โดยการดาวน์โหลดและใช้งานแอป SignalForex ได้ที่ Google Play Store

2021.03.30
การสร้าง Expert Advisor ด้วย 2 MA Crossing สำหรับ MetaTrader 4
MetaTrader4
การสร้าง Expert Advisor ด้วย 2 MA Crossing สำหรับ MetaTrader 4

วันนี้เราจะมาสร้าง Expert Advisor (EA) โดยเริ่มจากการกำหนดตัวแปรที่จำเป็นกันก่อนเลยครับ //--- ตัวแปรที่ต้องกำหนด input    int      period_ma_fast = 8;  //ช่วงเวลา Fast MA input    int      period_ma_slow = 20;  //ช่วงเวลา Slow MA input    double   takeProfit  = 20.0;  // Take Profit (pips) input    double   stopLoss    = 20.0  // Stop Loss (pips) input    double   lotSize     = 0.10  // ขนาดล็อต input    double   minEquity   = 100.0;  //ทุนขั้นต่ำ ($) input    int Slippage = 3       // Slippage input    int MagicNumber = 889  //หมายเลข Magic ต่อไปเราจะมากำหนดตัวแปรแบบ Global กันครับ โดยตัวแปรเหล่านี้จะสามารถเข้าถึงได้จากทุกฟังก์ชัน //ตัวแปร Global double   myPoint    = 0.0; int      mySlippage = 0; int      BuyTicket   = 0; int      SellTicket  = 0; เมื่อ EA ถูกเรียกใช้งาน ฟังก์ชันแรกที่ถูกเรียกคือ OnInit() ซึ่งเรามักจะใช้ฟังก์ชันนี้ในการตรวจสอบและกำหนดค่าตัวแปร global ที่จะใช้ int OnInit() {    //ตรวจสอบค่าตัวแปรอินพุต เราควรตรวจสอบทุกครั้งที่เริ่มต้น    if (period_ma_fast >= period_ma_slow || takeProfit < 0.0 || stopLoss < 0.0 || lotSize < 0.01 || minEquity < 10){       Alert("WARNING - ข้อมูลอินพุตไม่ถูกต้อง");       return (INIT_PARAMETERS_INCORRECT);    }       double min_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);    if(lotSize<min_volume)    {       string pesan =StringFormat("ขนาดล็อตน้อยกว่าขีดจำกัดที่กำหนดคือ %.2f",min_volume);       Alert (pesan);       return(INIT_PARAMETERS_INCORRECT);    }       myPoint = GetPipPoint(Symbol());    mySlippage = GetSlippage(Symbol(),Slippage);    return(INIT_SUCCEEDED); } เมื่อราคาตลาดเคลื่อนไหว (tick) ฟังก์ชัน OnTick() จะถูกเรียกใช้งานและทำการเรียกฟังก์ชันต่างๆ ภายในบล็อกนี้ ภายในฟังก์ชัน OnTick() จะมีการเรียกฟังก์ชัน checkMinEquity() เพื่อตรวจสอบความเพียงพอของทุนที่ใช้ในการเทรด หากทุนเพียงพอ (เกินกว่าทุนขั้นต่ำ) จะมีการประกาศตัวแปรสัญญาณ และตามด้วยการเรียกฟังก์ชัน NewCandle() เพื่อแจ้งว่าเมื่อไหร่มีการสร้างเทียนใหม่ ฟังก์ชัน getSignal() จะอ่านค่าจากทั้งสอง MA และส่งคืนข้อมูลสัญญาณว่าเกิดการข้ามขึ้นหรือลงเป็นสัญญาณในการซื้อ/ขาย จากข้อมูลสัญญาณนี้ จะถูกส่งต่อไปยังฟังก์ชัน transaction() เพื่อเปิดตำแหน่งซื้อหรือขาย และจะตามด้วยการเรียกฟังก์ชัน setTPSL() ซึ่งทำหน้าที่ในการกำหนดราคากำไรและราคาหยุดขาดทุนถ้าทุนไม่ถึงตามที่กำหนด จะมีการแจ้งเตือนและ EA จะหยุดทำงาน void OnTick() {    if (cekMinEquity()){              int signal = -1;       bool isNewCandle = NewCandle(Period(), Symbol());              signal = getSignal(isNewCandle);       transaction(isNewCandle, signal);       setTPSL();                  }else{       //หยุดการเทรด เนื่องจากทุนไม่เพียงพอ       Print("EA จะหยุดทำงานเนื่องจากทุนไม่เพียงพอ");    } } ฟังก์ชันสำหรับการตั้งค่า setTPSL() void setTPSL(){    int   tOrder = 0;    string   strMN = "", pair = "";    double sl = 0.0, tp = 0.0;       pair = Symbol();       tOrder = OrdersTotal();    for (int i=tOrder-1; i>=0; i--){       bool hrsSelect = OrderSelect(i, SELECT_BY_POS, MODE_TRADES);       strMN = IntegerToString(OrderMagicNumber());       if (StringFind(strMN, IntegerToString(MagicNumber), 0) == 0 && StringFind(OrderSymbol(), pair, 0) == 0 ){          if (OrderType() == OP_BUY && (OrderTakeProfit() == 0 || OrderStopLoss() == 0) ){             if (takeProfit > 0) {                tp = OrderOpenPrice() + (takeProfit * myPoint);             }else{                tp = OrderOpenPrice();             }             if (stopLoss > 0) {                sl = OrderOpenPrice() - (stopLoss * myPoint);             }else{                sl = OrderStopLoss();             }             if (OrderTakeProfit() != tp || OrderStopLoss() != sl ){                if(OrderModify(OrderTicket(), OrderOpenPrice(), sl, tp, 0, clrBlue)){                   Print ("การปรับคำสั่งสำเร็จ");                }             }          }          if (OrderType() == OP_SELL && (OrderTakeProfit() == 0 || OrderStopLoss() == 0) ){             if (takeProfit > 0) {                tp = OrderOpenPrice() - (takeProfit * myPoint);             }else{                tp = OrderOpenPrice();             }             if (stopLoss > 0) {                sl = OrderOpenPrice() + (stopLoss * myPoint);             }else{                sl = OrderStopLoss();             }             if (OrderTakeProfit() != tp || OrderStopLoss() != sl ){                if (OrderModify(OrderTicket(), OrderOpenPrice(), sl, tp, 0, clrRed)){                   Print ("การปรับคำสั่งสำเร็จ");                }             }          }                }//จบการตรวจสอบหมายเลข Magic และคู่           }//จบการวนลูป } สำหรับการศึกษาและแบ่งปันในภาษาไทย สามารถเข้าร่วมกลุ่ม Telegram ของเราได้ที่ t.me/codeMQL หากคุณกำลังมองหาแอปพลิเคชันที่จะช่วยสนับสนุนการเทรดของคุณ สามารถดาวน์โหลดแอป SignalForex ได้ที่ Play Store https://play.google.com/store/apps/details?id=com.autobotfx.signalforex

2021.03.30
เครื่องมือการเทรดที่ง่ายที่สุดสำหรับ MT4 - เรียนรู้การตั้งค่า EA
MetaTrader4
เครื่องมือการเทรดที่ง่ายที่สุดสำหรับ MT4 - เรียนรู้การตั้งค่า EA

บทนำ: เครื่องมือการเทรดที่ง่ายนี้เป็นเครื่องมือที่น่าสนใจมาก เพราะมันช่วยให้คุณสามารถตั้งค่า StopLoss และ TakeProfit โดยกำหนดเป็นพิปได้ นอกจากนี้ยังสามารถกำหนดจำนวนการเทรด ขนาดตำแหน่ง และเลือกเครื่องมือที่ต้องการเทรดได้อีกด้วย เครื่องมือนี้เหมาะสำหรับการทำ Scalping, Day-Trading, Swing Trading และการลงทุนทั่วไป เรื่องราวเบื้องหลังเครื่องมือนี้: เรื่องราวในการพัฒนาเครื่องมือนี้เกิดจากประสบการณ์ของผมที่เคยเจอปัญหามากมายขณะทำ Scalping โดยเฉพาะอย่างยิ่งเมื่อมีความผันผวนในตลาด ผมมักไม่ทันได้ตั้ง StopLoss และ TakeProfit ในเวลาที่ต้องการ อีกทั้งหลายครั้งที่คอมพิวเตอร์ของผมเกิดอาการค้างตอนที่คลิกซื้อหรือขาย จนไม่สามารถตั้ง SL/TP ได้เลย และยังต้องเผชิญกับปัญหาการเชื่อมต่ออินเทอร์เน็ตที่ไม่เสถียร ดังนั้นผมจึงตัดสินใจสร้างเครื่องมือการเทรดที่ง่ายนี้ขึ้นมาเพื่อหลีกเลี่ยงปัญหาทางเทคนิคเหล่านี้ วิธีการใช้งาน: คุณสามารถดูวิดีโอด้านล่างเพื่อเรียนรู้วิธีการใช้งานเครื่องมือนี้ พารามิเตอร์: EA นี้มี 5 ค่าเข้า ซึ่งประกอบด้วย: NB: จำนวนการเทรด SL: Stop Loss เป็นพิป VOL: ขนาดตำแหน่ง TP: Take Profit เป็นพิป SYM: เลือกสัญลักษณ์

2021.03.23
ระบบ EA ปรับตัวเอง - ระบบ Deep Learning สำหรับ MetaTrader 4
MetaTrader4
ระบบ EA ปรับตัวเอง - ระบบ Deep Learning สำหรับ MetaTrader 4

สวัสดีครับเพื่อนเทรดเดอร์ทุกคน! วันนี้ผมมีเรื่องราวที่น่าสนใจเกี่ยวกับ Expert Advisor (EA) ที่ปรับตัวเองได้มาฝากกันครับ ผมเริ่มต้นด้วยการพัฒนา EA ที่เทรดจากรูปแบบสถิติต่างๆ ซึ่งได้แก่ "The Unreal Engine" ครับ ดูรายละเอียดได้ที่นี่ ในการพัฒนา EA ตัวนี้ ผมประสบปัญหาจากทรัพยากรคอมพิวเตอร์ที่มีอยู่ (เพราะผมใช้คอมพิวเตอร์แบบ Dual Core ที่มีแค่ 4GB เท่านั้น) หากต้องการทดสอบ EA นี้ให้ครบวงจร อาจจะต้องใช้คอมพิวเตอร์ที่มีประสิทธิภาพสูง หรืออาจใช้เวลานานมากเลยทีเดียวครับ EA ของผมที่มีชื่อว่า "The Enchantress" เป็น EA ที่เก็บรวบรวมรูปแบบต่างๆ ที่เกิดขึ้นในตลาดและเปิดคำสั่งเสมือนจริง พร้อมตั้ง Stop Loss และ Take Profit EA จะช่วยวิเคราะห์หาความน่าจะเป็นที่ดีที่สุดในการเปิดการเทรดจริง หมายเหตุ: EA ตัวนี้เป็นระบบ Deep Learning ซึ่งจะต้องใช้เวลาประมาณ 3 ถึง 5 เดือนก่อนที่จะเริ่มเปิดการเทรดจริง ขอแนะนำให้ทดสอบบน Strategy Tester ก่อนที่จะลองใช้ในบัญชีจริงนะครับ ใครที่ได้ลองทดสอบ EA ตัวนี้แล้ว ขอให้แบ่งปันผลลัพธ์ที่นี่ด้วยนะครับ: https://www.mql5.com/en/messages/018799F5C217D701 ติดตามการอัปเดตเพิ่มเติมได้ที่นี่ ลองทดสอบกันดูนะครับ และขอให้ทุกคนโชคดีในการเทรด! โดยส่วนตัวแล้ว ผมแนะนำให้ทดสอบกับคู่เงินที่มี 5 หลัก / Timeframe ต่ำสุด (H1) ครับ

2021.03.13
ระบบฟอเร็กซ์อัจฉริยะเวอร์ชันเปิด - เทรดเดอร์มือโปรสำหรับ MetaTrader 4
MetaTrader4
ระบบฟอเร็กซ์อัจฉริยะเวอร์ชันเปิด - เทรดเดอร์มือโปรสำหรับ MetaTrader 4

สวัสดีครับเพื่อนเทรดเดอร์ทุกคน! วันนี้เรามาพูดถึง ระบบฟอเร็กซ์อัจฉริยะเวอร์ชันเปิด ที่ใช้สำหรับ MetaTrader 4 กันดีกว่า ระบบนี้เป็นเครื่องมือที่ช่วยให้คุณสามารถตัดสินใจในการเทรดได้อย่างมีประสิทธิภาพมากขึ้น ระบบทำงานอย่างไร? หลักการทำงานของมันง่ายมากครับ เพียงแค่คุณทำความเข้าใจเกี่ยวกับการคำนวณ Force ซึ่งสามารถคำนวณได้จากสูตรนี้: Force = ((Bid - Close) / Close) * 10000; มาเข้าใจการใช้ในตัวอย่างกันดีกว่า: เมื่อ Force > 10% (ตามที่กำหนดในพารามิเตอร์) จะมีการเปิด Buy เมื่อ Force < -10% (ตามที่กำหนดในพารามิเตอร์) จะมีการเปิด Sell การใช้ระบบนี้จะช่วยให้คุณสามารถทำกำไรจากการเทรดได้อย่างมีประสิทธิภาพมากขึ้น อย่าลืมทดลองใช้งานกันดูนะครับ!

2021.01.05
กลยุทธ์การเทรดด้วย Fibonacci: ขั้นตอนการสร้างแผนการเทรดที่มีประสิทธิภาพ
MetaTrader4
กลยุทธ์การเทรดด้วย Fibonacci: ขั้นตอนการสร้างแผนการเทรดที่มีประสิทธิภาพ

บทนำ: การสร้างแผนการเทรดที่มีประสิทธิภาพโดยใช้ Fibonacci retracement จะช่วยให้เราสามารถหาจุดเข้าที่มีศักยภาพได้อย่างแม่นยำ โดยมีขั้นตอนที่สำคัญถึง 8 ขั้นตอน ซึ่งจะช่วยให้เราแตกต่างจากนักเทรดทั่วไป เพราะนักเทรดมืออาชีพจะมีแผนการเทรดเสมอ หมายเหตุ: นี่คือ EA ที่จะทำการเปิดและปิดคำสั่งซื้อขายให้คุณอัตโนมัติ คุณเพียงแค่ตั้งค่าต่างๆ ของ EA ตามที่คุณต้องการ วิธีการใช้งาน: คุณสามารถดูวิดีโอด้านล่างที่จะอธิบายว่า มี 8 ขั้นตอนในการสร้างแผนการเทรดที่มีประสิทธิภาพตาม Fibonacci retracement อย่างไร ข้อผิดพลาดที่พบบ่อยในการเทรด มีอะไรบ้าง การนำแผนการเทรดไปใช้ในการหาจุดเข้าตาม Fibonacci พารามิเตอร์: สคริปต์นี้มี 5 ข้อกำหนด ซึ่งได้แก่ ราคาที่ระดับ 50% บนกราฟ M5: กรอกข้อมูลราคา ราคาที่ระดับ 61% บนกราฟ M5: กรอกข้อมูลราคา ราคาที่ระดับ 100% บนกราฟ M5: กรอกข้อมูลราคา เป้าหมายที่สองบนกราฟ H1: กรอกข้อมูลราคา ความเสี่ยงเป็น %: กรอก % ความเสี่ยงในการเทรดนี้ ภาพหน้าจอ:&nbsp;

2020.12.24
ใช้ DeMarker Indicator ใน Expert Advisor ที่ง่ายที่สุดสำหรับ MetaTrader 4
MetaTrader4
ใช้ DeMarker Indicator ใน Expert Advisor ที่ง่ายที่สุดสำหรับ MetaTrader 4

สวัสดีครับเพื่อนๆนักเทรดทุกคน! วันนี้เราจะมาพูดถึงการใช้ Expert Advisor (EA) แบบง่ายๆ ที่ใช้ DeMarker Indicator เป็นหลัก ซึ่งถือเป็น EA ที่ง่ายที่สุดที่ผมเคยทำมา อยากให้เพื่อนๆ ลองอ่านแล้วให้คะแนนกันหน่อยนะครับ... EA ตัวนี้จะทำงานกับคู่สกุลเงินเดียว โดยที่การตั้งค่าที่จำเป็นทั้งหมด เช่น Timeframe, Lots, Stop Loss และ Take Profit สามารถตั้งค่าได้ในเมนู properties extern ENUM_TIMEFRAMES TF = PERIOD_CURRENT; // เลือก Time Frameextern int period = 8; // ช่วงเวลา DeMarkerextern double lt = 0.01; // Lotsextern int sl = 100; // Stop Lossextern int tp = 100; // Take Profitextern double OB = 0.7; // Over Soldextern double OS = 0.3; // Over Boughtextern bool OPENBAR = false; // เทรดในราคาเปิดแท่ง เราจะมาแบ่งข้อมูลออกเป็น 3 ส่วนหลักๆ นะครับ:1. ข้อมูล | Timeframe2. ออเดอร์3. คู่สกุลเงิน //+------------------------------------------------------------------+ //-- time frame|indicatordouble dmrk[5];int signal = -1; //-- 0.buy 1.sellint hold = 0; //-- orderint ticket = 0;double lot = 0.0;int typ = -1; //-- pairdatetime t1 = 0;bool newbar = false;bool entry = false; //+------------------------------------------------------------------+ ในฟังก์ชัน OnInit() เราจะทำการตั้งค่าอาเรย์ตัวแปรสำหรับ DeMarker Indicator และตรวจสอบขนาดล็อตขั้นต่ำสำหรับโบรกเกอร์ต่างๆ ที่เราต้องการเทรด //+------------------------------------------------------------------+ //| void OnInit() { ArrayInitialize(dmrk, 0.0); //--- const double test_lot = SymbolInfoDouble(Symbol(), SYMBOL_VOLUME_MIN); if (lt < test_lot) lt = test_lot;} ฟังก์ชัน OnTick() จะใช้ในการคำนวณค่า Indicator และกำหนดสัญญาณซื้อขาย //--------------------------------------------------------------------------- signal = -1; //--------------------------------------------------------------------------- //---calc for (int i = 0; i < ArraySize(dmrk); i++) { dmrk[i] = iDeMarker(Symbol(), TF, period, i);} //--- if (dmrk[1] > OB) { hold = 1; //set} else if (dmrk[1] < OS) { hold = -1; //set} else { hold = 0; //reset} if (hold == 1) { if (dmrk[0] < OB && dmrk[1] > OB) { signal = OP_SELL;}} if (hold == -1) { if (dmrk[0] > OS && dmrk[1] < OS) { signal = OP_BUY;}} เพื่อเปิดสัญญาณซื้อและขาย... //--------------------------------------------------------------------------- if (signal != -1) if (newbar == true) if (entry == false) { //door open entry = true; //set if (signal == OP_BUY) { ticket = OrderSend(Symbol(), OP_BUY, lt, Ask, (int)((Ask - Bid) / Point), sl > 0 ? Bid - sl * Point : 0.0, tp > 0 ? Bid + tp * Point : 0.0, EAName + ":signal= " + IntegerToString(signal) + ":hold= " + IntegerToString(hold), EANumber, 0, clrBlue); signal = -1;} else if (signal == OP_SELL) { ticket = OrderSend(Symbol(), OP_SELL, lt, Bid, (int)((Ask - Bid) / Point), sl > 0 ? Ask + sl * Point : 0.0, tp > 0 ? Ask - tp * Point : 0.0, EAName + ":signal= " + IntegerToString(signal) + ":hold= " + IntegerToString(hold), EANumber, 0, clrRed); signal = -1;} สำหรับการปิดออเดอร์... if (entry == true) { // closing if (OrderSelect(ticket, SELECT_BY_TICKET)) { if (OrderCloseTime() == 0) { //-- order active trade } else if (OrderCloseTime() != 0) { // entry = false; //reset entry}}} หวังว่าบทความนี้จะเป็นประโยชน์กับเพื่อนๆ นักเทรดทุกคนในการพัฒนา EA ของตัวเองนะครับ ลองนำไปปรับใช้กันดูนะ!

2020.12.17
เทมเพลตมาร์ติงเกลง่ายๆ สำหรับ MetaTrader 4
MetaTrader4
เทมเพลตมาร์ติงเกลง่ายๆ สำหรับ MetaTrader 4

เทมเพลตนี้สามารถช่วยอะไรคุณได้บ้าง? โปรแกรมง่ายๆ แต่มีฟังก์ชันที่ครบถ้วน ซึ่งแสดงให้เห็นว่ามาร์ติงเกลสามารถทำงานให้คุณได้อย่างไร เพียงแค่เปลี่ยนการวิเคราะห์การเข้าเทรดด้วยกลยุทธ์การสแกลปิ้งของคุณเอง และสไตล์การจัดการเงินส่วนตัวของคุณ จากนั้นทำการปรับแต่ง หากเป้าหมายของคุณคือการทำกำไรอย่างสม่ำเสมอ ไม่ใช่การทำกำไรในอัตราสูง และคุณมีทุนที่พร้อมจะใช้ เทมเพลตนี้อาจเหมาะสำหรับคุณ ก่อนอื่นให้ปรับแต่งด้วยทุนที่มีการลดสูงสุดไม่เกิน 50% หากต้องการความระมัดระวัง ควรจะต่ำกว่า 30% จะดีที่สุด หากคุณกำลังมองหาอีเอที่มีกำไร 100% ต่อปีหรือมากกว่า นี่อาจไม่ใช่ทางเลือกสำหรับคุณ อย่ากลัวที่จะตั้งเป้าหมายกำไรที่สมเหตุสมผล (เช่น 5% ถึง 50% ต่อปี) ⚡⚡&nbsp;&nbsp;สำคัญมาก&nbsp;&nbsp;⚡⚡ อ่านโค้ดต้นฉบับอย่างละเอียดเพื่อเรียนรู้เคล็ดลับเพิ่มเติม นี่คือตัวอย่างศักยภาพของโปรแกรม... &nbsp;

2020.12.04
สร้างไฟล์ CSV สำหรับการวิเคราะห์การเทรดใน MetaTrader 4
MetaTrader4
สร้างไฟล์ CSV สำหรับการวิเคราะห์การเทรดใน MetaTrader 4

สวัสดีครับเพื่อนๆ ผมชื่อ ลูคัส อยากจะมาแบ่งปันความรู้ที่ได้จากการอ่านบทความดีๆ ในชุมชนนี้ครับ ผมเป็นนักลงทุนในตลาด Forex และหุ้น และยังเขียนโปรแกรม Expert Advisor สำหรับการเทรดส่วนตัวของผมเองด้วย วันนี้ผมมีตัวอย่างการเขียนข้อมูลคำสั่งลงในไฟล์ CSV ซึ่งสามารถนำไปศึกษาและใช้ในการวิเคราะห์ได้ครับ ตัวอย่างนี้ไม่ควรนำไปใช้ในการเทรดในรูปแบบปัจจุบัน แต่เป็นการสาธิตวิธีการที่คุณสามารถนำไปปรับใช้ใน Expert Advisor ของตัวเอง หรือสามารถพัฒนาต่อไปตามกลยุทธ์ของคุณได้ตามต้องการ Expert Advisor นี้จะเปิดคำสั่งในทิศทางที่เลือก และคำสั่งจะถูกปิดโดยใช้การตั้งค่าตามเมนู Input TP/SL หากตั้งค่า 'WriteCloseData' เป็น true จะมีไฟล์สร้างขึ้นซึ่งเก็บข้อมูลคำสั่ง เช่น ทิศทาง กำไร/ขาดทุน ราคา เป็นต้น ซึ่งจะถูกบันทึกเป็นไฟล์ CSV ในเทอร์มินัลของคุณ เมื่อทดสอบ Expert Advisor นี้ใน Strategy Tester คุณจะสามารถเข้าถึงไฟล์นี้ได้จาก OpenDataFolder/tester/CSVexpert/CSVexampleไดเรกทอรี CSVexpert จะถูกสร้างขึ้นเมื่อคุณเริ่มการทดสอบ และไฟล์ที่เก็บข้อมูลทั้งหมดจะชื่อ CSVexample เมื่อคุณนำฟังก์ชันนี้ไปใช้ใน Expert Advisor ของตัวเองหรือต่อยอดจากตัวอย่างนี้และนำไปใช้ในบัญชี Demo หรือ Real คุณจะสามารถเข้าถึงไฟล์ที่สร้างขึ้นจาก MQL4/Files/CSVexpert/CSVexample ได้ครับ ไดเรกทอรีและชื่อไฟล์สามารถเปลี่ยนชื่อได้ตามที่คุณต้องการ ยกเว้นนามสกุล .csv ที่ต้องคงไว้ตามเดิม ขอเตือนอีกครั้งว่านี่เป็นเพียงตัวอย่าง Expert Advisor ที่แสดงให้เห็นถึงสิ่งที่คุณสามารถทำได้กับมัน และวิธีการใช้งานฟังก์ชันนี้ ไม่อยากให้ใครสูญเสียเงินทุนหากคิดว่าสามารถนำไปใช้ในการเทรดได้ในขณะนี้!

2020.11.14
แรก ก่อนหน้า 10 11 12 13 14 15 16 17 18 19 20 ถัดไป สุดท้าย