หน้าแรก การเทรดด้วยระบบ โพสต์

ทำความรู้จักกับ Fundamental Trader EA บน MetaTrader 4 สำหรับการเทรดข่าว

ไฟล์แนบ
8491.zip (57.77 KB, ดาวน์โหลด 2 ครั้ง)

คำอธิบาย:

  • แนวคิดคือการพัฒนา Expert Advisor ที่สามารถตัดสินใจทางการเงินจากเหตุการณ์ข่าวสารโดยอัตโนมัติ Fundamental Trader EA ไม่สามารถทดสอบย้อนหลังได้ แต่สามารถทดสอบแบบข้างหน้าได้ เพราะมันถูกตั้งค่าให้รอเหตุการณ์ข่าวสารถัดไป และทำการตัดสินใจการเทรดตามความแตกต่างระหว่าง (ข้อมูลจริง vs. คาดการณ์) หรือ (ข้อมูลจริง vs. ข้อมูลก่อนหน้านี้)
  • Fundamental Trader EA ใช้งานง่าย หลังจากดาวน์โหลดปฏิทิน มันจะกำหนดว่าข่าวสารใดที่อยู่ในปฏิทิน DailyFX จะเกิดขึ้นถัดไป จากนั้นมันจะรอให้เหตุการณ์ข่าวสารนั้นเผยแพร่ เมื่อข้อมูลออกมา EA จะทำการตัดสินใจการเทรด โดย Fundamental Trader EA สามารถใช้ได้กับกราฟใดก็ได้และทุกช่วงเวลา เนื่องจากมันใช้กราฟเพียงเพื่อทำการเปิดคำสั่ง
    Fundamental Trader EA ถูกตั้งค่าเพื่อรองรับทุกประเทศที่อยู่ในปฏิทิน DailyFX ดูรายละเอียดเพิ่มเติมด้านล่าง

หมายเหตุ:

  • ในการใช้งาน EA นี้ คุณต้องทำตามคำแนะนำในการตั้งค่าไฟล์หลักจากเว็บไซต์ต่อไปนี้:
  • https://www.mql5.com/en/articles/1502
  • EA นี้ถูกสร้างจากโค้ดของอินดิเคเตอร์ที่ระบุในลิงก์ข้างต้น คุณ ต้อง ทำตามคำแนะนำในลิงก์ข้างต้นและตั้งค่าดังนี้:
  • getright_setup.zip
  • Time.mq4
  • Time.mqh
  • ตรวจสอบให้แน่ใจว่าคุณเปลี่ยนไดเร็กทอรีดาวน์โหลด "get right" ไปยังที่ที่ปฏิทินจะถูกดาวน์โหลด มิฉะนั้น EA นี้จะไม่ทำงาน
  • อ่านบทความนั้นอย่างระมัดระวังและทำตามคำแนะนำทุกข้อ
  • คุณสามารถอ่านเกี่ยวกับไฟล์ (3) นี้และฟังก์ชันของมัน บทความนั้นอธิบายได้ดีมากเกี่ยวกับสิ่งที่อินดิเคเตอร์ทำเพื่อแสดงเหตุการณ์ข่าวในหน้าต่างกราฟ
  • แนะนำให้ตั้งค่าอินดิเคเตอร์นั้นก่อน เพื่อให้ข่าวสารแสดงบนกราฟของคุณ หลังจากนั้น EA นี้จะทำงานได้ไม่มีปัญหา
  • โค้ดของอินดิเคเตอร์นี้ถูกปรับเปลี่ยนให้กลายเป็น EA เพื่อเทรดข่าวและไม่ใช่แค่แสดงข่าวเท่านั้น
  • เมื่อคุณตั้งค่าไฟล์ตามที่ระบุในลิงก์ข้างต้น คุณสามารถดาวน์โหลด EA นี้พร้อมกับ "str2double.dll" และ EA นี้จะเทรดข่าวที่เผยแพร่จาก DAILYFX ไฟล์ "str2double.dll" จะไปในไดเร็กทอรีราก เช่น C:\Program Files\Interbank FX Trader 4\

กลยุทธ์การเทรด:

  • กลยุทธ์การเทรดมีดังนี้: มีสองประเภทของเหตุการณ์ที่เกิดขึ้นเมื่อเทรดข่าว
  • 1. ข้อมูลเศรษฐกิจที่แท้จริงซึ่งเปรียบเทียบกับข้อมูลเศรษฐกิจที่คาดการณ์
  • 2. ข้อมูลเศรษฐกิจที่แท้จริงซึ่งเปรียบเทียบกับข้อมูลเศรษฐกิจในอดีต
  • ความแตกต่างระหว่างข้อมูลเศรษฐกิจสามารถส่งผลต่อทิศทางของราคาเงินตรา และเปอร์เซ็นต์ความแตกต่างระหว่างข้อมูลเศรษฐกิจจะให้ความน่าจะเป็นสูงขึ้นว่าข่าวสารนั้นจะมีปฏิกิริยาตลาดในทิศทางที่เฉพาะเจาะจง
  • ข้อมูลเพิ่มเติมเกี่ยวกับการเทรดพื้นฐานสามารถเข้าชมได้ที่ www.pfxglobal.com
  • เมื่อมีเปอร์เซ็นต์ความแตกต่างระหว่างข้อมูลเศรษฐกิจสูง EA จะเปิดคำสั่งด้วยล็อตที่ใหญ่กว่า
  • เมื่อเปอร์เซ็นต์ความแตกต่างระหว่างข้อมูลเศรษฐกิจต่ำ EA จะเปิดคำสั่งด้วยล็อตที่น้อยที่สุด
  • ล็อตเหล่านี้จะถูกกำหนดเมื่อ EA ถูกนำไปใช้กับกราฟพร้อมกับตัวแปรต่อไปนี้:
  • lot1, lot2, lot3, lot4, lot5, lot6......lot18
  • ขนาดล็อตที่เฉพาะเจาะจงจะถูกเลือกโดย EA ตามเปอร์เซ็นต์ความแตกต่างระหว่างข้อมูลเศรษฐกิจ

อัตราส่วนความเสี่ยง/ผลตอบแทน:

  • Fundamental Trader EA ถูกตั้งค่าไว้ที่อัตราส่วนความเสี่ยง/ผลตอบแทน 1:3 ค่าปริยายคือความเสี่ยง=20, ผลตอบแทน=3
  • ความเสี่ยงคือค่า PIP StopLoss และผลตอบแทนคือตัวคูณ ดังนั้นถ้า EA เสี่ยง 20 PIP มันคาดหวังที่จะได้กำไร 60 PIP
  • ค่าต่างๆเหล่านี้สามารถแก้ไขได้เมื่อใช้ EA กับกราฟ

เวลารอให้ข่าวสารถูกเผยแพร่:

  • ข้อมูลข่าวสารไม่ได้เผยแพร่ในเวลาที่กำหนดอย่างแน่นอน จำเป็นต้องตั้งค่าเวลารอสำหรับ EA เพื่อรอให้ข่าวสารถูกเผยแพร่
  • โค้ดส่วนนี้จะกำหนดเวลาที่ EA จะรอให้ข่าวสารถูกเผยแพร่ เมื่อเวลาที่รอข้ามไป EA จะไปที่เหตุการณ์ข่าวถัดไป
  • xTime เป็นตัวแปรที่สามารถเปลี่ยนแปลงได้เมื่อคุณนำ EA ไปใช้กับกราฟ ค่าปริยายคือ 27 นาที
if(Date>(TimeCurrent()-(xTime*60)))

เวลารอให้คำสั่งถูกปิด:

  • คุณสามารถตั้งค่าเวลารอให้ EA รอเป็นระยะเวลาหนึ่งก่อนที่จะปิดคำสั่งที่เปิดอยู่
  • เช่น หลังจากที่มีการเผยแพร่ข่าวสาร และมีการเปิดตำแหน่ง รอ 30 นาทีเพื่อปิดคำสั่งที่เปิดอยู่ ไม่ว่าจะมีกำไรหรือลดขาดทุน นี่คือคำแนะนำจากผู้ใช้ MQL4 "ebenv"
  • มี (3) ตัวแปรที่ควบคุมฟังก์ชันนี้:
  • MagicNumber | หมายเลขที่ใช้ติดตามคำสั่งที่เปิดอยู่
  • enable_close_time | ตั้งค่าเป็นจริงเพื่อให้ EA สามารถติดตามเวลาที่ผ่านไปตั้งแต่คำสั่งถูกเปิด
  • wait_time | เวลาที่จะรอก่อนที่จะปิดคำสั่ง

การสนับสนุนของ Fundamental Trader ในประเทศ:

  • Fundamental Trader EA เทรดทุกสกุลเงินที่อยู่ใน dailyfx.com/calendar

  • ด้านล่างนี้เป็นโค้ดที่ระบุสกุลเงินที่จะเทรดตามประเทศที่ข่าวสารถูกเผยแพร่ รายการสกุลเงินมีดังนี้: EUR, USD, JPY, GBP, CHF, AUD, CAD, NZD

if(stCurrency=="EUR") {ordercurrency="EURUSD";} //เทรด eurusd
if(stCurrency=="USD") {ordercurrency="EURUSD";} //เทรด eurusd
if(stCurrency=="JPY") {ordercurrency="USDJPY";} //เทรด usdjpy
if(stCurrency=="GBP") {ordercurrency="GBPUSD";} //เทรด usdgbp
if(stCurrency=="CHF") {ordercurrency="USDCHF";} //เทรด usdchf
if(stCurrency=="AUD") {ordercurrency="AUDUSD";} //เทรด audusd
if(stCurrency=="CAD") {ordercurrency="USDCAD";} //เทรด usdcad
if(stCurrency=="NZD") {ordercurrency="NZDUSD";} //เทรด nzdusd

การตัดสินใจเทรด:

  • โค้ดส่วนนี้จะอธิบายว่า EA ทำการตัดสินใจในการเทรดอย่างไร เมื่อ EA รอข้อมูลเศรษฐกิจจริง เมื่อข้อมูลเศรษฐกิจที่คาดการณ์มีอยู่

  • เมื่อข้อมูลคาดการณ์ไม่มีอยู่ EA จะใช้ข้อมูลก่อนหน้านี้ในการทำการเทรด

  • โค้ดส่วนนี้อธิบายว่า EA จะดำเนินการเทรดอย่างไรตามข้อมูลคาดการณ์และข้อมูลจริง อัลกอริธึมเดียวกันนี้จะถูกใช้เมื่อ EA ตัดสินใจในการเทรดตามข้อมูลก่อนหน้านี้และข้อมูลจริง

if(StringToDouble(stActual)>StringToDouble(stForecast))
{ 
    Aert("Stronger(actual vs forecast): "+stCurrency+" "+"Time: "+stTime);

    int total=OrdersTotal();
    for(int cnt=0;cntLive Trade Open"+OrderTicket());
            return(0);
        }
    }
    int historytotal=OrdersHistoryTotal();
    for(cnt=0;cntTrade Executed"+OrderTicket());
            return(0);
        }
    }
    if(stCurrency=="EUR"||stCurrency=="GBP"||stCurrency=="AUD")
    {
        double ask=MarketInfo(ordercurrency,MODE_ASK);
        double point1=MarketInfo(ordercurrency,MODE_POINT);
        OrderSend(ordercurrency,OP_BUY,lot_p,ask,3,ask-(risk*point1),ask+reward*risk*point1,stCurrency+stActual+stForecast+"BUY");
    }
    if(stCurrency=="CHF"||stCurrency=="CAD"||stCurrency=="NZD"||stCurrency=="JPY"||stCurrency=="USD")
    {
        double bid=MarketInfo(ordercurrency,MODE_BID);
        double point2=MarketInfo(ordercurrency,MODE_POINT);
        OrderSend(ordercurrency,OP_SELL,lot_p,bid,3,bid+(risk*point2),bid-(reward*risk*point2),stCurrency+stActual+stForecast+"SELL");
    }
}
  • 1. EA สามารถเปิดได้เพียงคำสั่งเดียวต่อเหตุการณ์ข่าว ดังนั้นมันจะตรวจสอบก่อนว่ามีคำสั่งถูกเปิดอยู่หรือไม่ หากมีคำสั่งเปิดอยู่ EA จะออก

  • 2. EA จะตรวจสอบว่าคำสั่งนี้ถูกเปิดและปิดหรือไม่ หากคำสั่งถูกเปิดและปิดด้วยกำไรหรือลดขาดทุน EA จะออก

  • การตรวจสอบ (2) นี้จะทำให้แน่ใจว่าไม่มีการซ้ำซ้อนของคำสั่ง ซึ่งช่วยให้ EA เทรดได้เพียงครั้งเดียวต่อเหตุการณ์ข่าว

  • ต่อไป มันจะกำหนดว่าข้อมูลถูกเผยแพร่สำหรับประเทศใด และเปิดการเทรดตามข้อกำหนดในฟังก์ชัน ordersend เมื่อข้อมูลเศรษฐกิจถูกเผยแพร่

  • โค้ดด้านบนคือเมื่อข้อมูลจริงมากกว่าข้อมูลคาดการณ์ โค้ดจะแตกต่างกันเมื่อข้อมูลจริงน้อยกว่าข้อมูลคาดการณ์เพียงแค่ทิศทางของการเทรดที่เปลี่ยนไป

  • อัลกอริธึมเดียวกันนี้จะถูกนำไปใช้เมื่อข้อมูลก่อนหน้านี้เปรียบเทียบกับข้อมูลจริงเมื่อข้อมูลคาดการณ์ไม่มีอยู่


การกำหนดขนาดล็อต:

  • EA จะเปรียบเทียบ (ข้อมูลจริงกับข้อมูลคาดการณ์) หรือ (ข้อมูลจริงกับข้อมูลก่อนหน้านี้) เปอร์เซ็นต์ความแตกต่างระหว่างข้อมูลข่าวสารจะกำหนดจำนวนล็อตที่ EA จะเทรด

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

  • ผู้ใช้สามารถปรับเปลี่ยนล็อตเมื่อใช้ EA กับกราฟ ค่าขนาดล็อตปริยายคือ (0.01, 0.02, 0.03...0.17)

double percent_d_AF=MathAbs((MathAbs(StringToDouble(stActual)-StringToDouble(stForecast))/StringToDouble(stForecast))*100);
double lot_p=0;
if((percent_d_AF>0 && percent_d_AF<=3)){lot_p=lot1;} //0.1 lot
if((percent_d_AF>3 && percent_d_AF<=6)){lot_p=lot2;} //0.2 lots
if((percent_d_AF>6 && percent_d_AF<=9)){lot_p=lot3;} //0.3 lots
if((percent_d_AF>9 && percent_d_AF<=12)){lot_p=lot4;} //0.4 lots
if((percent_d_AF>12 && percent_d_AF<=15)){lot_p=lot5;} //0.5 lots
if((percent_d_AF>15 && percent_d_AF<=18)){lot_p=lot6;} //0.6 lots
if((percent_d_AF>18 && percent_d_AF<=21)){lot_p=lot7;} //0.7 lots
if((percent_d_AF>21 && percent_d_AF<=24)){lot_p=lot8;} //0.8 lots
if((percent_d_AF>24 && percent_d_AF<=27)){lot_p=lot9;} //0.9 lots
if((percent_d_AF>27 && percent_d_AF<=30)){lot_p=lot10;} //1 lots
if((percent_d_AF>30 && percent_d_AF<=40)){lot_p=lot11;} //2 lots
if((percent_d_AF>40 && percent_d_AF<=50)){lot_p=lot12;} //3 lots
if((percent_d_AF>50 && percent_d_AF<=60)){lot_p=lot13;} //4 lots
if((percent_d_AF>60 && percent_d_AF<=70)){lot_p=lot14;} //5 lots
if((percent_d_AF>70 && percent_d_AF<=80)){lot_p=lot15;} //6 lots
if((percent_d_AF>80 && percent_d_AF<=90)){lot_p=lot16;} //7 lots
if((percent_d_AF>90 && percent_d_AF<=100)){lot_p=lot17;} //8 lots
if((percent_d_AF>100)){lot_p=lot18;} //8 lots



ข้อมูลกราฟ:


หน้าจอภาพข้อมูลข่าวสารพื้นฐาน

  • เมื่อ EA ถูกนำไปใช้กับกราฟเป็นครั้งแรก คุณจะต้องระบุ "xTime", "risk", "reward", "MagicNumber", "enable_close_time", "wait_time" และกำหนดขนาดล็อตขั้นต่ำและสูงสุด ตรวจสอบให้แน่ใจว่าได้ทิ้งตำแหน่งเริ่มต้นที่ "get right" ถูกติดตั้ง

  • EA จะดาวน์โหลดปฏิทิน dailyfx และจะกำหนดว่าเหตุการณ์ข่าวสารใดที่จะเกิดขึ้นถัดไป มันจะแสดงข้อมูลต่อไปนี้: วันที่, เวลา, TimeZone, สกุลเงิน, คำอธิบาย, ความสำคัญ, ข้อมูลจริง, ข้อมูลคาดการณ์, และข้อมูลเหตุการณ์ข่าวสารก่อนหน้าเป็นความคิดเห็นบนกราฟ ตามที่แสดงในภาพด้านบน

  • จากภาพด้านบน EA กำลังรอเหตุการณ์ข่าวสารที่จะเผยแพร่ในเวลา 2:00 น. และตามที่คุณเห็น ข้อมูลเศรษฐกิจก่อนหน้านี้เป็นที่รู้จัก (73.5%) ดังนั้น EA กำลังรอให้ข้อมูลจริงถูกเผยแพร่ เมื่อข้อมูลเศรษฐกิจถูกเผยแพร่ EA จะเปรียบเทียบข้อมูลและทำการตัดสินใจการเทรดตามข้อมูลเศรษฐกิจจริงและข้อมูลก่อนหน้า

  • สุดท้าย EA จะดาวน์โหลดข้อมูลปฏิทินตามนาทีต่อนาที ตั้งแต่เวลาที่กำหนดให้เหตุการณ์ข่าวสารออกมา


ภาพรวม Fundamental Trader:

  • EA นี้เทรดทุกเหตุการณ์ทางเศรษฐกิจที่เผยแพร่บน dailyfx.com/calendar ในรูปแบบ CSV

  • ปฏิทินจะถูกดาวน์โหลดด้วยโปรแกรม "get right"

  • EA จะดาวน์โหลดปฏิทินทุกนาทีเมื่อข้อมูลข่าวสารถูกกำหนดให้เผยแพร่

  • EA จะทำการวิเคราะห์ปฏิทินและกำหนดว่าเหตุการณ์ข่าวสารใดถัดไป จากนั้นรอ 27 นาทีเพื่อให้ข่าวสารถูกเผยแพร่

  • เมื่อข้อมูลเศรษฐกิจถูกเผยแพร่ มันจะกำหนดว่าข้อมูลนั้นเป็น (ข้อมูลจริง vs. คาดการณ์) หรือ (ข้อมูลจริง vs. ข้อมูลก่อนหน้านี้)

  • EA จะกำหนดขนาดล็อต สกุลเงินที่จะเทรด และทิศทางตามเหตุการณ์ในปฏิทินเศรษฐกิจ ข้อมูลนี้สามารถพบได้ทั้งหมดบนกราฟเมื่อ EA ทำงาน

  • การเปิดคำสั่งจะถูกดำเนินการด้วยอัตราส่วนความเสี่ยง/ผลตอบแทน 1:3

  • EA ถูกตั้งค่าให้เปิดคำสั่งเพียงหนึ่งคำสั่งต่อเหตุการณ์ข่าว หาก "enable_close_time" ถูกเปิดใช้งานด้วยค่าจริง EA จะรอเวลาที่ระบุโดย "wait_time" ก่อนที่จะปิดคำสั่งที่เปิดอยู่

อย่าลืมทำตามคำแนะนำทั้งหมดในลิงก์ต่อไปนี้ https://www.mql5.com/en/articles/1502 เพื่อให้แน่ใจว่าปฏิทินดาวน์โหลดได้อย่างถูกต้อง และเวลาของโบรกเกอร์ของคุณตั้งค่าอย่างถูกต้อง สำหรับการประมวลผลข่าวสาร ข้อมูลจาก dailyfx.com/calendar คือ GMT.

หากคุณมีคำถาม ข้อคิดเห็น หรือคำติชม โปรดแสดงความคิดเห็นได้ที่นี่

โพสต์ที่เกี่ยวข้อง

ความคิดเห็น (0)