เรียนรู้ แลกเปลี่ยน ซื้อขาย สำหรับ ผู้เริ่มต้น รูปแบบไฟล์ pdf บรรณาธิการ


วิธีการเรียนรู้ Forex Trading ผลตอบแทนที่สูงทำให้ตลาดแลกเปลี่ยนเงินตราต่างประเทศ Forex ตัวเลือกการลงทุนที่น่าสนใจมากสำหรับบางคนความเสี่ยงสูงในการซื้อขายสกุลเงินสามารถแปลเป็นความสูญเสียที่สำคัญสำหรับผู้ค้าที่มีประสบการณ์แม้กระทั่งเรียนรู้มากที่สุดเกี่ยวกับวิธีการอุตสาหกรรมนี้ทำงานก่อนที่คุณจะพิจารณาวาง เงินของคุณและอาจเป็นเสื้อปิดด้านหลังของคุณบนโต๊ะอ่านเกี่ยวกับพื้นฐานของการซื้อขายสกุลเงินพร้อมกับตัวเลือกที่ดีที่สุดสำหรับผู้บริโภคส่วนใหญ่ที่ Bankrate เว็บไซต์ที่เชื่อถือได้ด้วยความมั่งคั่งของเงินและคำแนะนำในการลงทุนค้นหาข้อมูลเกี่ยวกับการหลอกลวงที่มี ที่แพร่หลายในอุตสาหกรรมนี้ที่ Federal Trade Commission FTC เว็บไซต์หน่วยงานนี้ทำกฎระเบียบเพื่อปกป้องผู้บริโภคจากตัวแทนจำหน่ายไร้ยางอายที่สัญญาทุกอย่างและส่งไปรษณีย์ FTC ตรวจสอบอุตสาหกรรมอย่างใกล้ชิดและออกการปรับปรุงปกติในการพัฒนาที่สำคัญสมัครบัญชีการปฏิบัติฟรีที่ เว็บไซต์ Forex ทำการซื้อขายสกุลเงินเสมือนจริงโดยใช้บัญชีการปฏิบัติงานฟรีของคุณเป็นเวลาสามสิบวันดำเนินการต่อตาม foll ow ตลาดตราบเท่าที่จำเป็นสำหรับคุณที่จะเข้าใจสิ่งที่คุณรู้และสิ่งที่คุณ don t know. Get เคล็ดลับและเทคนิคการจัดส่งถึงคุณกล่องจดหมายโดย TopForexReview รับข่าวฟีดหรือการแจ้งเตือนในหัวข้อที่อาจมีผลต่อสกุลเงินที่คุณกำลังพิจารณาการค้าเริ่มต้นด้วย เพียงไม่กี่สกุลเงินเพื่อให้คุณสามารถติดตามการเปลี่ยนแปลงและสาเหตุที่เป็นไปได้เข้าร่วมฟอรั่ม forex หนึ่งหรือสอง forex และหารือเกี่ยวกับแนวโน้มปัญหาและกับดักในอุตสาหกรรมถามคำถามในฟอรัมผู้ใช้ส่วนใหญ่เป็นมิตรและเป็นประโยชน์กับ newbies ได้รับประโยชน์จาก ประสบการณ์ของผู้อื่นและพัฒนาแผนการเล่นเกมของคุณก่อนที่จะก้าวไปข้างหน้าจัดสรรเงินก้อนเล็ก ๆ ของเงินสดการปฏิบัติจริงเป็นเวลา 1 เดือนใช้เงินที่คุณได้จัดสรรให้กับรายได้เช่นเงินฝากออมทรัพย์จากกาแฟตอนเช้าของคุณเรียกใช้เป็นประจำแทน ลาเต้และกระเป๋าเงินฝากออมทรัพย์อาหารกลางวันสำหรับเดือนคุณจะต้องแพ็คอาหารกลางวันหรือทำลายเหรียญโถและเงินสดในครึ่งหนึ่งไม่ได้ทั้งหมดที่ศูนย์การเปลี่ยนแปลงร้านขายของชำในประเทศของคุณเลือก currenc มีชื่อเสียง y ค้าหรือโบรกเกอร์หลังจากที่คุณประเมินข้อเสนอแนะจากผู้ค้ารายอื่น ๆ และตรวจสอบพวกเขาในเว็บไซต์ FTC พยายามติดงบประมาณและแผนการเล่นเกมของคุณที่คุณทำเมื่อ practicing. The Forex ปาฏิหาริย์รับ 600 ต่อ annum. Trader ทำให้การเติบโตประจำปีที่มีประสิทธิภาพของ 10 840.Malcolm Rees เดือนที่ผ่านมา Moneyweb รายงานเกี่ยวกับแผนการลงทุน NaxaInvest ซึ่งเสนอผลตอบแทนจากนักลงทุน 2 วันอย่างเห็นได้ชัดผ่านทางการค้าในตลาดแลกเปลี่ยนเงินตราต่างประเทศ forex ตามรายงาน Financial Services Board FSB ได้รวดเร็วในการออกคำเตือนงบ นักลงทุนหลีกเลี่ยงโครงการดังกล่าวเนื่องจากไม่ได้เป็นผู้ให้บริการทางการเงินที่ได้รับอนุญาตอย่างน่าแปลกใจที่ผู้เสนออัตราแลกเปลี่ยนได้ตั้งข้อกล่าวหาว่า Naxa อ้างว่าผลตอบแทนเกินกว่า 600 จะเป็นไปได้ผ่านทางการค้าสกุลเงินหนึ่งในนั้นคือ ghanos forex guru ที่ได้รับอนุญาตจาก FSB Johan van As ผู้ค้า forex ที่ประสบความสำเร็จสามารถทำได้ดีกว่ากำไร 2 วันที่เสนอโดยแผนการเหล่านี้เขาอ้างว่าผ่าน บริษัท ของเขา ForexMasters Van As เสนอลูกค้าสาม da y โปรแกรมการฝึกอบรม forex จากบ้านของเขาที่ค่าใช้จ่ายของ R10 000. ค่าแข็งแรงอาจ แต่ไม่ถ้าชนิดของผลตอบแทน Van As อ้างว่าสามารถช่วยให้ลูกค้าของเขาบรรลุเป็นไปได้ในการป้องกันการเรียกร้องของเขา Van As ได้ให้ Moneyweb กับหนังสือชี้ชวน PrivateFX โปรแกรม forex ที่ได้รับการจัดการโดยเอกชนซึ่งอ้างว่าได้สร้างผลประกอบการ 716 ใน 14 เดือนนอกจากนี้เขายังอ้างว่า guru Greg Secker ระหว่างประเทศค่าธรรมเนียม R25 000 สำหรับสองวันของการฝึกอบรมและสามชั่วโมงของการสำรองข้อมูลทางโทรศัพท์, ในการเปรียบเทียบอย่างไรก็ตาม Van เป็นเตือน บริษัท การค้าในนามของลูกค้ามีความระมัดระวังกับการจัดการเงินของพวกเขาและความเสี่ยงในการดำเนินการดังนั้นผลที่ต่ำกว่าแต่ละบุคคลสามารถทำบุคคล raking มันในบุคคลดังกล่าวรวมถึง Van As ลูกค้า Adrian, ที่เห็นได้ชัดว่าเงินฝาก 337 60 เข้าบัญชีการค้าของเขาเมื่อวันที่ 11 กรกฎาคม 2007 และอ้างว่าได้ทำกำไรได้ 9 133 00 ภายในสามเดือนต่อมามีการเติบโตประจำปีเท่ากับ 10 840.Moneyweb มีสำเนา o f บัญชีของเขาซึ่งระบุอัตราการเติบโตเหล่านี้จะถูกต้องอื่น ๆ เช่นผู้ค้า forex ที่ประสบความสำเร็จเป็น Lourens Smit, ลูกสมุนอายุ 80 ปี, Van As clientForex สำหรับคนที่ใช่ถ้าคุณมีความรู้ความสามารถกับตัวเลขเป็น ของขวัญจากสวรรค์เขากล่าวว่าฉันไม่ได้เตรียมที่จะรับประกันนี้ แต่ฉันได้ทำเฉลี่ย 10 เดือนผมเริ่มต้นด้วย 8k และฉันทำงานได้ถึงจำนวนมากมากไม่กี่แสนดอลลาร์ภายในน้อยกว่าปี เขากล่าวว่าไม่มีทางที่ทุกคนมีประสบการณ์ในโลกนี้สามารถสอนคุณได้ว่าจะเกิดอะไรขึ้นในอีกห้านาทีข้างหน้า แต่มีแนวโน้มที่จะปฏิบัติตามและมี 101 วิธีที่คุณสามารถใช้เพื่อช่วยในการตัดสินใจว่า นี่คือการยิงระยะยาวหรือสั้น ๆ เขากล่าวนักร้องประสานเสียง ForexMasters ไม่ได้เป็นเพียงเสียงร้องเพลงผลตอบแทนจากอัตราแลกเปลี่ยนที่ยอดเยี่ยม แต่ดูเหมือนว่าจะมีส่วนร่วมด้วยนักร้องประสานเสียงที่เคยทวีความรุนแรงขึ้นเรื่อย ๆ twitter stream, Van As ให้ความสำคัญกับ U S forex ซอฟต์แวร์ forexnorator ซึ่งผู้สร้าง Cecil Robles อ้างว่าสามารถทำนายการเคลื่อนไหวในตลาดสกุลเงินด้วยความถูกต้อง 84 โดยการซื้อซอฟต์แวร์ forex don t ต้องทำอะไรนอกจากตัดสินใจว่ากำไรที่คุณต้องการทำบน โอกาสซอฟต์แวร์แจ้งเตือนคุณและบางครั้งตรวจสอบธุรกิจการค้าที่เปิดอยู่ของคุณซอฟต์แวร์จะขึ้นอยู่กับ 25 000 ของการวิจัยและพัฒนาและไม่ 99 ของยกหนักสำหรับคุณเขาเรียกร้อง Gregreg Secker ได้รับการทำรอบของเขาใน SA s ฟอรัมการพูดคุยสร้างแรงบันดาลใจรวมทั้งที่ Sandton City ผ่านทาง Knowledge to Action แคมเปญของ Secker สัญญาว่าจะมอบโอกาสที่ยิ่งใหญ่ที่สุดในประวัติศาสตร์ของมนุษยชาติผ่านทางล้าน forex อย่างรวดเร็วได้ถูกสอบสวนโดย Guardian ของสหราชอาณาจักรซึ่งพบว่า บริษัท การค้าของเขามีสินทรัพย์สุทธิ ของ 91 เมื่อวันที่ 31 ธันวาคม 2553 และมีผลขาดทุนระหว่างปี 97 13. ผลการดำเนินงานของกองทุนรวมที่ลงทุนในหลักทรัพย์เพื่อการลงทุน ผลตอบแทนจากการลงทุน 931 13 นับตั้งแต่เดือนพฤศจิกายน 2554 เป็นต้นไปเว็บไซต์ Trading results ได้สัญญาว่าจะลงทุน 3 ถึง 5 ครั้งต่อเดือน แต่ดูเหมือนว่าจะมีการเปลี่ยนแปลงคำแถลงเนื่องจากได้รับแจ้งจาก Moneyweb ว่าผลตอบแทนที่คาดว่าจะสูงกว่า 20 ปีต่ออัตรา Repo เป็นสิ่งผิดกฎหมายตามพระราชบัญญัติคุ้มครองผู้บริโภค Vista ได้เผยแพร่ผลของพวกเขาตั้งแต่ปี 2009 และได้แสดงให้เห็นการเติบโตมากกว่า 60 ต่อปีและปีที่ผ่านมาพวกเขาแสดงให้เห็นการเจริญเติบโตของพวกเขาจาก 100 ผู้อำนวยการซื้อขายผลการปิแอร์กล่าวว่า Van der Walt ดังนั้นเราจึงกล่าวว่าเรามีการเจริญเติบโต 40-60 ซึ่งน้อยกว่าที่ในขณะที่หลายแพลตฟอร์มการซื้อขาย forex มีเกตเวย์ที่ง่ายและรวดเร็วนับล้านนับไม่ถ้วน Van As เป็นเพียงเล็กน้อยเตรียมพร้อมเกี่ยวกับความเสี่ยงที่เกี่ยวข้องการค้า Forex ไม่ได้ กิจกรรมที่ง่ายเขากล่าวว่าแม้ว่าการเพิ่มว่ามันยังไม่ยากเกินไปคุณจะต้องเป็นคนที่มีวินัยมากคุณต้องมีความอดทนมากต้องสามารถทนความเครียดต้องมีความเข้าใจที่ดี g ของตลาดและต้องมีวิธีการที่ดีในการตีความการเคลื่อนไหวของตลาดเขากล่าวว่าผู้ประกอบการต้องมีความสะดวกสบายกับความเสี่ยงและต้องยอมรับความจริงที่ว่าเขาสามารถสูญเสียเงินของเขาหากเขาทำผิดพลาดมากเกินไปต้องใช้เวลาในการพัฒนา อย่างไรก็ตามในแง่ของคำเตือนของ Van As โอกาสที่ชัดเจนสำหรับฆราวาสในการสร้างผลตอบแทนซึ่งทำให้คนแคระเหล่านี้ประสบความสำเร็จโดยผู้จัดการกองทุนมืออาชีพไม่ได้ถามคำถามที่แน่ชัด ทำไม aren t เพิ่มเติมผู้จัดการการลงทุนวางเงินของลูกค้าในกองทุน Forex และทำไม aren t มากมายเหลือเฟือของผู้เชี่ยวชาญด้านอัตราแลกเปลี่ยนที่มีการฝึกอบรมไม่เพียง แต่ป้อนตลาดตัวเองเพื่อสร้างผลตอบแทนที่พวกเขาสัญญาว่าแทนที่จะใช้เวลาส่งราคาแพง แต่ไม่น่าอัศจรรย์มีราคาแพงการฝึกอบรม โปรแกรมที่พวกเขาเสนอตลาด Forex จะไม่แน่นอนและผันผวนดังนั้นนี้หมายความว่ามีศักยภาพที่จะทำให้เงินเป็นจำนวนมาก แต่ตรงข้ามเป็นจริง Chantal Robertson กล่าวว่า hea d ของการขายผู้เชี่ยวชาญที่ FNB ตลาด forex จะเป็นการลงทุนที่มีความเสี่ยงสูงและหนึ่งดังนั้นจึงคาดว่าจะทำให้ผลตอบแทนที่ดีขึ้นเมื่อเทียบกับการลงทุนในตราสารทุนอย่างไรก็ตามให้ความผันผวนของตลาดที่ไม่น่าเป็นไปได้ว่าผลตอบแทนมหาศาล จะเป็นไปได้ในทางที่ยั่งยืนคำเตือนสำหรับนักลงทุนที่มีศักยภาพทั้งหมดเมื่อได้รับสัญญาว่าผลตอบแทนที่ยอดเยี่ยมเช่นนั้นก็คือพวกเขาต้องการให้แน่ใจว่าพวกเขากำลังใช้ บริษัท ที่มีชื่อเสียงโดยเฉพาะอย่างยิ่งเมื่อใช้แพลตฟอร์มการเทรดแบบต่างประเทศ ซึ่งโดยปกติจะเป็นไปตามข้อกำหนดด้านกฎระเบียบของการลงทุนในต่างประเทศนายธัญญาวักเกอร์อดีตรองประธานคณะกรรมการกิจการผู้บริโภคของกระทรวงอุตสาหกรรมและการค้ากล่าวเตือนว่าเช่นเดียวกับ NaxaInvest สัญญาว่าจะให้ผลตอบแทนที่ยอดเยี่ยมผ่านการลงทุน โอกาสเช่น Forex มักถูกใช้เป็นหน้าเพื่อล่อให้นักลงทุนเข้าสู่โครงการที่ได้รับความนิยมอย่างรวดเร็วเช่น Ponzis และ Piramids โรเบิร์ตสันส์เน้นว่า FNB ในฐานะตัวแทนจำหน่ายที่ได้รับอนุญาตไม่ได้เสนอแพลตฟอร์มการเก็งกำไรเป็นผลิตภัณฑ์คำแนะนำทีละขั้นตอนเพื่อเขียนที่ปรึกษาผู้เชี่ยวชาญใน MQL5 สำหรับผู้เริ่มต้นบทความนี้มีวัตถุประสงค์เพื่อเริ่มต้นที่ต้องการเรียนรู้วิธีการเขียน ง่ายผู้เชี่ยวชาญที่ปรึกษาในภาษา MQL5 ใหม่เราจะเริ่มต้นก่อนโดยการกำหนดสิ่งที่เราต้องการให้ผู้เชี่ยวชาญของ EA ที่จะทำแล้วย้ายไปยังวิธีการที่เราต้องการให้ EA ที่จะทำมัน 1 Strategy Trading สิ่งที่ EA ของเราจะทำมันจะ ตรวจสอบตัวบ่งชี้เฉพาะและเมื่อเงื่อนไขบางอย่างเป็นไปตามหรือเงื่อนไขบางอย่างที่จะพบก็จะวางการค้าทั้งขายสั้นหรือซื้อยาวขึ้นอยู่กับสภาพปัจจุบันที่ได้รับการตอบสนองข้างต้นเรียกว่ากลยุทธ์การค้าก่อนที่คุณจะ สามารถเขียน EA คุณต้องพัฒนากลยุทธ์ที่คุณต้องการอัตโนมัติใน EA ดังนั้นในกรณีนี้ให้เราแก้ไขคำสั่งดังกล่าวเพื่อให้สะท้อนถึงกลยุทธ์ที่เราต้องการพัฒนาเป็น EA. We จะใช้ตัวบ่งชี้ที่เรียกว่า Moving Average โดยมีระยะเวลา 8 Yo u สามารถเลือกระยะเวลาใด ๆ แต่สำหรับวัตถุประสงค์ของกลยุทธ์ของเราเราจะใช้ 8. เราต้องการ EA ของเราเพื่อวางการค้า Long Buy เมื่อ Moving Average-8 เพื่อประโยชน์ในการอภิปรายของเราฉันจะอ้างถึงเป็น MA - 8 จะเพิ่มขึ้นและราคาอยู่ใกล้ระดับสูงและจะวาง Short Sell ขึ้นเมื่อ MA-8 ลดลงและราคาอยู่ใกล้ระดับต่ำกว่านี้นอกจากนี้เรายังจะใช้ตัวบ่งชี้อีกตัวหนึ่งชื่อ Average Directional Movement ADX ที่มีระยะเวลา 8 เพื่อช่วยให้เราทราบว่าตลาดมีแนวโน้มหรือไม่เรากำลังทำเช่นนี้เพราะเราต้องการเข้าสู่ตลาดเฉพาะเมื่อตลาดมีแนวโน้มและผ่อนคลายเมื่อตลาดอยู่ในช่วงที่ไม่เป็นไปตามเป้าหมายเพื่อให้บรรลุเป้าหมายนี้เราจะวางการค้าของเราเท่านั้น ซื้อหรือขายเมื่อเงื่อนไขข้างต้นได้รับการตอบสนองและค่า ADX มีค่ามากกว่า 22 ถ้า ADX มีค่ามากกว่า 22 แต่ลดลงหรือ ADX น้อยกว่า 22 เราจะไม่ทำการค้าแม้จะมีเงื่อนไข B มาแล้ว แต่เราต้องการ ป้องกันตัวเองด้วยการตั้งค่า Stop loss 30 pips และ Profit ta ของเรา rget เราจะกำหนดเป้าหมายกำไร 100 pips นอกจากนี้เราต้องการให้ EA ของเรามองหา Buy Buy โอกาสเมื่อมีการสร้างบาร์ใหม่และเราจะทำให้แน่ใจว่าเราจะเปิดสถานะ Buy ถ้าเงื่อนไขของการซื้อได้รับการตอบสนองและเราไม่ได้ทำ มีเปิดแล้วและเปิดตำแหน่ง Sell เมื่อเงื่อนไขการขายได้รับการตอบสนองและเรายังไม่มีเปิดอยู่ขณะนี้เราได้พัฒนายุทธศาสตร์ของเราตอนนี้ถึงเวลาที่จะเริ่มต้นเขียนโค้ดของเราแล้ว 2 การเขียน Expert Advisor. Begin โดยการเปิดตัว ตัวแก้ไขภาษา MetaQuotes 5 จากนั้นกด Ctrl N หรือคลิกที่ปุ่ม New บนแถบเมนูรูปที่ 1 เริ่มต้นเอกสาร MQL5 ใหม่ในหน้าต่างตัวช่วยสร้าง MQL5 ให้เลือก Expert Advisor และคลิก Next ตามที่แสดงในรูปที่ 2 รูปที่ 2 การเลือก ในหน้าต่างถัดไปพิมพ์ชื่อที่คุณต้องการให้ EA ในช่องชื่อในกรณีนี้พิมพ์ MyFirstEA จากนั้นคุณสามารถพิมพ์ชื่อของคุณในช่องผู้เขียนและที่อยู่เว็บไซต์หรือที่อยู่อีเมลของคุณในลิงก์ กล่องถ้าคุณมีรูปที่ 3 คุณสมบัติทั่วไปของผู้เชี่ยวชาญ Adv เนื่องจากเราต้องการที่จะเปลี่ยนแปลงพารามิเตอร์บางส่วนของ EA ของเราเพื่อดูค่าที่สามารถให้ผลลัพธ์ที่ดีที่สุดเราจะเพิ่มค่าเหล่านี้โดยการคลิกที่ปุ่ม Add รูปที่ 4 การตั้งค่าอีเธอร์อินพุทใน EA ของเราเราต้องการที่จะสามารถทดลองกับการหยุดการขาดทุนของเราทำกำไรช่วงเวลา ADX และการตั้งค่า Moving Average Period ดังนั้นเราจะกำหนดค่าเหล่านี้ที่จุดนี้คลิกสองครั้งที่ใต้ส่วนชื่อและพิมพ์ชื่อของพารามิเตอร์ จากนั้นดับเบิลคลิกภายใต้ Type เพื่อเลือกชนิดข้อมูลสำหรับพารามิเตอร์และดับเบิลคลิกที่ใต้ส่วน Initial value และพิมพ์ค่าเริ่มต้นสำหรับพารามิเตอร์เมื่อคุณทำเสร็จแล้วควรมีลักษณะดังนี้รูปที่ 5 ประเภทข้อมูลของ EA input parameter. As คุณสามารถดูด้านบนฉันเลือกจำนวนเต็มชนิดข้อมูล int สำหรับพารามิเตอร์ทั้งหมดให้เราพูดคุยเล็กน้อยเกี่ยวกับ types. char ข้อมูลประเภท char ใช้เวลา 1 ไบต์ของหน่วยความจำ 8 บิตและช่วยให้การแสดงออกในบันทึกเลขฐานสอง 2 ค่า 8 256 ประเภทถ่านสามารถมีทั้งบวกและลบ ค่าช่วงของค่าอยู่ระหว่าง -128 ถึง 127.uchar จำนวนเตือน uchar ยังใช้หน่วยความจำ 1 ไบต์รวมทั้งชนิดของถ่าน แต่แตกต่างจาก uchar มีไว้สำหรับค่าบวกเท่านั้นค่าต่ำสุดคือศูนย์ค่าสูงสุด คือ 255 ตัวอักษรตัวแรก u ในชื่อของประเภท uchar คือคำย่อของ unsigned. short ขนาดของ short type คือ 2 bytes 16 bits และตามด้วยมันจะยอมให้แสดงช่วงของค่าที่เท่ากับ 2 ให้เป็นพลังงาน 16 2 16 65 536 เนื่องจากชนิดสั้นเป็นเครื่องหมายหนึ่งและมีทั้งค่าบวกและค่าลบช่วงของค่าอยู่ระหว่าง -32 768 และ 32 767.ushort ประเภทสั้นที่ไม่ได้ลงชื่อเป็นประเภท ushort ซึ่งมีขนาด 2 ไบต์ ค่าต่ำสุดคือ 0 ค่าสูงสุดคือ 65 535.int ขนาดของประเภท int คือ 4 ไบต์ 32 บิตค่าที่น้อยที่สุดคือ -2 147 483 648 หนึ่งค่าสูงสุดคือ 2 147 483 647.uint ชนิดจำนวนเต็มที่ไม่ได้รับการรับรองคือ uint มันใช้เวลา 4 ไบต์ของหน่วยความจำและช่วยให้การแสดงจำนวนเต็มตั้งแต่ 0 ถึง 4 294 967 295.long ขนาดของ ชนิดยาว 8 ไบต์ 64 บิตค่าต่ำสุดคือ -9 223 372 036 854 775 808 ค่าสูงสุดคือ 9 223 372 036 854 775 807.ulong ประเภท ulong มีขนาด 8 ไบต์และสามารถเก็บค่าได้ตั้งแต่ 0 ถึง 18 446 744 073 709 551 615 จากคำอธิบายข้างต้นของชนิดข้อมูลต่างๆชนิดจำนวนเต็มที่ไม่ได้รับการรับรองไม่ได้ออกแบบมาเพื่อจัดเก็บค่าลบความพยายามที่จะกำหนดค่าลบใด ๆ สามารถนำไปสู่ผลที่ไม่คาดคิดได้ตัวอย่างเช่นถ้าคุณต้องการเก็บค่าลบ คุณไม่สามารถเก็บไว้ภายในประเภท unsigned เช่น uchar, uint, ushort, ulong กลับไป EA ของเราดูที่ชนิดข้อมูลที่คุณจะเห็นด้วยกับฉันว่าเราจะสมมติว่าใช้ char หรือ uchar ชนิดข้อมูลตั้งแต่ข้อมูลที่เราตั้งใจจะ เก็บไว้ในพารามิเตอร์เหล่านี้มีน้อยกว่า 127 หรือ 255 ตามลำดับสำหรับการจัดการหน่วยความจำที่ดีนี้เป็นสิ่งที่ดีที่สุดที่จะทำอย่างไรก็ตามเพื่อประโยชน์ในการสนทนาของเราเราจะยังคงติดอยู่กับชนิด int เมื่อคุณทำเสร็จสิ้นการตั้งค่าพารามิเตอร์ที่จำเป็นทั้งหมด, คลิกที่ปุ่ม Finished และ MetaQuote s Editor จะสร้างโครงกระดูกของรหัสสำหรับคุณดังที่แสดงในรูปถัดไปให้แบ่งรหัสในส่วนต่างๆเพื่อความเข้าใจที่ดีขึ้นส่วนบนส่วนหัวของรหัสเป็นที่ทรัพย์สินของ EA มีการกำหนดคุณสามารถดู นี่คือค่าที่คุณกรอกใน MQL5 Wizard ในรูปที่ 3. ในส่วนนี้ของโค้ดคุณสามารถกำหนดพารามิเตอร์เพิ่มเติมได้เช่นคำอธิบายคำอธิบายโดยย่อของอีเอระบุค่าคงที่รวมถึงไฟล์เพิ่มเติมหรือฟังก์ชันนำเข้าเมื่อคำสั่งเริ่มต้น มีสัญลักษณ์เรียกว่าคำสั่ง preprocessor และไม่ได้จบลงด้วยเครื่องหมายอัฒภาคอื่น ๆ ของ directives preprocessor รวมถึง directive กำหนดใช้สำหรับการประกาศ constants จะเขียนในรูปแบบ define tokenstring ตัวระบุ to ว่าสิ่งนี้จะเป็นการแทนการเกิดขึ้นของตัวระบุในโค้ดของคุณด้วยค่า tokenstring ทุกครั้ง กำหนด ABC 100 กำหนด COMPANYNAME MetaQuotes Software Corp. จะแทนที่ COMPANYNAME ทุกครั้งที่เกิดขึ้นกับสตริง MetaQuotes Software Corp หรือจะแทนที่ ABC ทุกครั้งที่เกิดขึ้นกับถ่านหรือจำนวนเต็ม 100 ในโค้ดของคุณคุณสามารถอ่านเพิ่มเติมเกี่ยวกับคำสั่ง preprocessor ใน คู่มือ MQL5 ให้เราตอนนี้ต่อกับการสนทนาของเราส่วนที่สองของส่วนหัวของรหัสของเราเป็นส่วนพารามิเตอร์การป้อนข้อมูลเราระบุพารามิเตอร์ทั้งหมดซึ่งจะใช้ใน EA ของเราในส่วนนี้ซึ่งรวมถึงตัวแปรทั้งหมดที่จะใช้โดยทั้งหมด ฟังก์ชั่นที่เราจะเขียนลงไปใน EA. Variables ที่ประกาศในระดับนี้จะเรียกว่า Global Variables เนื่องจากสามารถเข้าถึงได้จากทุกฟังก์ชั่นใน EA ของเราพารามิเตอร์การป้อนข้อมูลคือพารามิเตอร์ที่สามารถเปลี่ยนแปลงได้เฉพาะด้านนอกของ EA เราสามารถ ประกาศตัวแปรอื่น ๆ ที่เราจะจัดการในหลักสูตรของ EA ของเรา แต่จะไม่สามารถใช้ได้นอก EA ของเราในส่วนนี้ต่อไปคือฟังก์ชันการเริ่มต้น EA นี่คือ fir st เรียกว่าเมื่อ EA เปิดตัวหรือแนบไปกับแผนภูมิและเรียกว่าเพียงครั้งเดียวส่วนนี้เป็นสถานที่ที่ดีที่สุดในการทำการตรวจสอบที่สำคัญบางอย่างเพื่อให้แน่ใจว่า EA ของเราทำงานได้ดีเราสามารถตัดสินใจได้ว่าถ้า กราฟมีแถบเพียงพอสำหรับ EA ในการทำงาน ฯลฯ นอกจากนี้ยังเป็นสถานที่ที่ดีที่สุดในการจัดการที่เราจะใช้สำหรับตัวบ่งชี้ ADX และ Moving Average ตัวชี้วัด OnDeinit functio n เรียกว่าเมื่อ EA ถูกลบออกจากแผนภูมิ สำหรับ EA ของเราเราจะปล่อยตัวจัดการที่สร้างขึ้นสำหรับ Indicators ของเราในระหว่างการเริ่มต้นทำงานในส่วนนี้กระบวนการนี้จะทำ NewTick event ซึ่งสร้างขึ้นเมื่อได้รับสัญญลักษณ์ใหม่สำหรับสัญลักษณ์โปรดทราบว่า Expert Advisor ไม่สามารถดำเนินการทางการค้าได้ถ้า การใช้ที่ปรึกษาผู้เชี่ยวชาญในเทอร์มินัลไคลเอ็นต์ไม่ได้รับอนุญาตปุ่มการซื้อขายอัตโนมัติรูปที่ 6 Autotrading ถูกเปิดใช้งานส่วนใหญ่ของรหัสของเราที่จะใช้กลยุทธ์การซื้อขายของเราซึ่งพัฒนาขึ้นก่อนหน้านี้จะถูกเขียนขึ้นภายในส่วนนี้ตอนนี้เราได้ดูที่ th e ส่วนต่างๆของรหัสสำหรับ EA ของเราให้เราเริ่มต้นการเพิ่มเนื้อไปโครงกระดูก 2 INPUT PARAMETERS SECTION ในฐานะที่เป็นคุณสามารถดูเราได้เพิ่มพารามิเตอร์เพิ่มเติมก่อนที่เราจะพูดถึงพารามิเตอร์ใหม่ให้เราหารือเกี่ยวกับสิ่งที่คุณเห็น ตอนนี้สองเครื่องหมายทับช่วยให้เราสามารถแสดงความคิดเห็นในโค้ดของเราได้ด้วยความคิดเห็นเราสามารถทราบว่าตัวแปรของเราเป็นแบบใดหรือสิ่งที่เรากำลังทำอยู่ ณ จุดนั้นในโค้ดของเรานอกจากนี้ยังช่วยให้เข้าใจโค้ดของเราได้ดีขึ้น เป็นสองวิธีพื้นฐานในการเขียนความคิดเห็นนี่คือความคิดเห็นบรรทัดเดียวนี่คือความคิดเห็นหลายบรรทัดนี่คือความคิดเห็นหลายบรรทัดหลายบรรทัดความคิดเห็นเริ่มต้นด้วยคู่ของสัญลักษณ์และลงท้ายด้วยคอมไพเลอร์ one. The ละเว้นทั้งหมด ข้อคิดเห็นเมื่อคอมไพล์โค้ดของคุณการใช้ความคิดเห็นบรรทัดเดียวสำหรับพารามิเตอร์อินพุทเป็นวิธีที่ดีในการทำให้ผู้ใช้อีเอของเราเข้าใจว่าพารามิเตอร์เหล่านั้นหมายถึงอะไรในคุณสมบัติการป้อนข้อมูล EA ผู้ใช้ของเราจะไม่เห็นพารามิเตอร์นี้ แต่จะเห็น ความคิดเห็นตามที่แสดง ด้านล่างกำหนดค่าพารามิเตอร์การป้อนข้อมูลจากผู้เชี่ยวชาญ 7 ท่านตอนนี้กลับไปที่โค้ดของเราแล้วเราได้ตัดสินใจเพิ่มพารามิเตอร์เพิ่มเติมสำหรับ EA ของเรา EAMagic คือจำนวนมายากลสำหรับคำสั่งซื้อทั้งหมดของ EA ค่า AdXMin ต่ำสุดที่ประกาศเป็นประเภทข้อมูลคู่ คู่จะใช้ในการเก็บค่าคงที่จุดลอยซึ่งมีส่วนจำนวนเต็มจุดทศนิยมและส่วนเป็นเศษเล็กเศษน้อย mysum 123 5678.double b7 0 09876. ล็อตในการค้าล็อตหมายถึงปริมาณของตราสารทางการเงินที่เราต้องการ trade แล้วเราได้ประกาศค่าพารามิเตอร์อื่น ๆ ที่เราจะนำมาใช้ adxHandle จะใช้สำหรับการจัดเก็บตัวชี้บ่งชี้ ADX ในขณะที่ maHandle จะเก็บที่จับสำหรับตัวบ่งชี้ Moving Average plsDI, minDI, adxVal เป็นอาร์เรย์แบบไดนามิกที่จะถือครอง ค่าของ DI, - DI และ ADX หลักของตัวบ่งชี้ ADX สำหรับแต่ละแท่งบนแผนภูมิ MaVal เป็นอาร์เรย์แบบไดนามิกที่จะเก็บค่าของตัวบ่งชี้ Moving Average สำหรับแต่ละแท่งบนแผนภูมิโดยวิธีการคืออาร์เรย์แบบไดนามิก อาร์เรย์แบบไดนามิกคือ อาร์เรย์ประกาศโดยไม่มีมิติในคำอื่น ๆ ไม่มีการระบุค่าในคู่ของวงเล็บเหลี่ยมอาร์เรย์แบบคงที่ในอีกมิติหนึ่งมีขนาดที่กำหนดไว้ที่จุด declar. double แถบสีทั้งหมด 20 จะใช้เวลา 20 elements. pclose เป็น เราจะใช้เพื่อเก็บราคาปิดสำหรับแถบที่เราจะตรวจสอบเพื่อตรวจสอบการซื้อขายของเราที่ซื้อสินค้าของเรา STP และ TKP จะถูกนำมาใช้เพื่อเก็บค่า Stop Loss และ Take Profit ใน EA.2 3 EA ส่วนการดำเนินการที่นี่เราได้รับการจัดการของตัวบ่งชี้ของเราโดยใช้ฟังก์ชั่นตัวบ่งชี้ตามลำดับตัวบ่งชี้ ADX จะได้รับโดยใช้ฟังก์ชัน iADX ใช้สัญลักษณ์ NULL กราฟนอกจากนี้ยังหมายถึงสัญลักษณ์ปัจจุบันบนแผนภูมิปัจจุบันแผนภูมิระยะเวลาระยะเวลา 0 หมายถึงระยะเวลาปัจจุบันในแผนภูมิปัจจุบันระยะเวลาเฉลี่ย ADX สำหรับการคำนวณดัชนีที่เรากำหนดไว้ก่อนหน้านี้ภายใต้ส่วนพารามิเตอร์การป้อนข้อมูลเป็นพารามิเตอร์หรือ arguments. int สัญลักษณ์สตริง iADX ชื่อสัญลักษณ์ ENUMTIMEFRAMES p eriod, period int adxperiod averaging period. ตัวบ่งชี้ค่า Moving Average จะได้รับโดยใช้ฟังก์ชัน iMA มีอาร์กิวเมนต์ดังต่อไปนี้สัญลักษณ์แผนภูมิที่สามารถรับได้โดยใช้สัญลักษณ์หรือ NULL สำหรับสัญลักษณ์ปัจจุบันในแผนภูมิปัจจุบัน ระยะเวลาที่สามารถรับได้โดยใช้ช่วงเวลาหรือ 0 สำหรับช่วงเวลาปัจจุบันในแผนภูมิปัจจุบันระยะเวลาการเฉลี่ยเฉลี่ยเคลื่อนที่ที่เรากำหนดไว้ก่อนหน้านี้ภายใต้ส่วนพารามิเตอร์การป้อนข้อมูลการเปลี่ยนแปลงของตัวบ่งชี้เทียบกับการเปลี่ยนแปลงกราฟราคาที่นี่คือ 0.the Moving วิธีการคำนวณค่าเฉลี่ยที่เรียบง่ายคือวิธีง่ายๆในการคำนวณค่าเฉลี่ยเฉลี่ย - MODESMA, Exponential Averaging-MODEEMA, Smoothed Averaging-MODESMMA หรือ Linear-Weighted Average-MODELWMA และราคาที่ใช้ในการหาค่าเฉลี่ยที่นี่เราใช้สตริง iMA แบบ close price. int ชื่อสัญลักษณ์สัญลักษณ์ระยะเวลาช่วงเวลา ENUMTIMEFRAMES ระยะเวลา int maperiod ระยะเวลา int mashift การเปลี่ยนแนวนอน ENUMMAMETHOD ประเภทการทำให้ราบรื่นของการรับชมภาพ ENUMAPPLIEDPRICE applypri ce ของราคาหรือหมายเลขอ้างอิงโปรดอ่านคู่มือ MQL5 เพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับฟังก์ชันตัวบ่งชี้เหล่านี้ซึ่งจะช่วยให้คุณเข้าใจถึงวิธีการใช้ตัวบ่งชี้แต่ละตัวได้ดีขึ้นอีกครั้งเราพยายามตรวจสอบข้อผิดพลาดใด ๆ ในกรณีที่ฟังก์ชันไม่สำเร็จ เราจะใช้ฟังก์ชันการแจ้งเตือนเพื่อแสดงข้อผิดพลาดโดยใช้ฟังก์ชัน GetlastError เราตัดสินใจที่จะเก็บค่า Stop Loss และ Take Profit ไว้ในตัวแปร STP และ TKP ที่เราประกาศไว้ก่อนหน้านี้เราทำเช่นนี้ทำไม? เพราะค่าที่เก็บไว้ในพารามิเตอร์ INPUT เป็นแบบอ่านอย่างเดียวจึงไม่สามารถแก้ไขได้ดังนั้นเราจึงต้องการตรวจสอบให้แน่ใจว่าอีเอสามารถทำงานได้ดีกับโบรกเกอร์ทั้งหมดตัวเลขหรือตัวเลข r ตัวเลขจำนวนหลักทศนิยมที่กำหนดความถูกต้องของราคา ของกราฟปัจจุบันสำหรับแผนภูมิ 5 หลักหรือ 3 หลักเราคูณทั้ง Stop Loss และ Take Profit โดย 10.2 4 EA DEINTIALISATION SECTION เนื่องจากฟังก์ชันนี้เรียกว่าเมื่อใดก็ตามที่ EA ถูกปิดใช้งานหรือลบ f rom chart เราจะปล่อยปุ่มตัวชี้วัดทั้งหมดที่ถูกสร้างขึ้นในระหว่างขั้นตอนการเตรียมใช้งานที่นี่เราได้สร้างสองตัวจับหนึ่งตัวสำหรับตัวบ่งชี้ ADX และอีกตัวจัดการสำหรับตัวบ่งชี้ Moving Average เราจะใช้ฟังก์ชัน IndicatorRelease เพื่อให้บรรลุค่านี้ อาร์กิวเมนต์ตัวบ่งชี้ตัวบ่งชี้ handle. bool IndicatorRelease int indicatorhandle indicator handle ฟังก์ชั่นนี้จะเอาตัวจับสัญญาณบ่งชี้และปลดล็อคการคำนวณของตัวบ่งชี้หากไม่ได้ใช้งาน 2 5 THE EA ONTICK SECTION สิ่งแรกที่เราต้องทำคือ เพื่อตรวจสอบว่าเรามีแท่งเพียงพอในแผนภูมิปัจจุบันเราสามารถหาบาร์ทั้งหมดในประวัติศาสตร์ของแผนภูมิใด ๆ โดยใช้ฟังก์ชันบาร์ใช้พารามิเตอร์สองค่าสัญลักษณ์สามารถรับได้โดยใช้สัญลักษณ์หรือสัญลักษณ์ทั้งสองกลับสัญลักษณ์ปัจจุบันสำหรับแผนภูมิปัจจุบัน ที่แนบ EA ของเราและระยะเวลาหรือช่วงเวลาของแผนภูมิปัจจุบันสามารถรับได้โดยใช้ระยะเวลาหรือช่วงเวลานี้สองจะส่งคืนกรอบเวลาของแผนภูมิปัจจุบันที่ t EA ติดอยู่ถ้าแถบที่มีอยู่ทั้งหมดมีค่าน้อยกว่า 60 เราต้องการให้ EA ของเราผ่อนคลายจนกว่าเราจะมีแท่งเพียงพอที่มีอยู่ในแผนภูมิฟังก์ชัน Alert จะแสดงข้อความในหน้าต่างที่แยกต่างหากโดยจะใช้ค่าใด ๆ คั่นด้วยเครื่องหมายจุลภาคเป็นพารามิเตอร์อาร์กิวเมนต์ ในกรณีนี้เรามีเพียงค่าสตริงเดียวผลตอบแทนที่ได้จากการเริ่มต้นใช้งาน EA ของเราผู้เชี่ยวชาญที่ปรึกษาจะดำเนินการด้านการค้าที่จุดเริ่มต้นของแถบใหม่ดังนั้นจึงจำเป็นต้องแก้ปัญหาด้วยการระบุแถบใหม่ในคำสั่งซื้อ เราต้องการให้แน่ใจว่า EA ของเราไม่ได้ตรวจสอบการตั้งค่าแบบ Long Short ในขีดทุกครั้งเราต้องการให้ EA ของเราตรวจสอบตำแหน่ง Long Short เมื่อมีแถบใหม่เราเริ่มต้นด้วยการประกาศตัวแปร OldTime แบบคงที่แบบคงที่ซึ่งจะจัดเก็บ เวลาบาร์เราประกาศให้เป็นค่าคงที่เนื่องจากเราต้องการให้ค่าถูกเก็บไว้ในหน่วยความจำจนกว่าจะถึงการเรียกฟังก์ชันถัดไปของฟังก์ชัน OnTick จากนั้นเราจะสามารถเปรียบเทียบค่าของมันกับตัวแปร NewTime ที่มีชนิดข้อมูล datetime ซึ่งเป็นอาร์เรย์ o f หนึ่งองค์ประกอบที่จะถือเวลาแถบปัจจุบันใหม่นอกจากนี้เรายังประกาศตัวแปรประเภทข้อมูล bool IsNewBar และตั้งค่าเป็น false เนื่องจากเราต้องการให้ค่าเป็น TRUE เฉพาะเมื่อเรามีแถบใหม่เราใช้ฟังก์ชัน CopyTime เพื่อรับ เวลาของแถบปัจจุบันจะทำสำเนาช่วงเวลาแถบไปยัง NewTime อาร์เรย์กับองค์ประกอบหนึ่งถ้ามันประสบความสำเร็จเราเปรียบเทียบเวลาของแถบใหม่ที่มีแถบเวลาก่อนหน้านี้ถ้าเวลา aren t เท่ากับก็หมายความว่าเรามีใหม่ bar และเราตั้งตัวแปร IsNewBar เป็น TRUE และบันทึกค่าของช่วงเวลาปัจจุบันของแถบไปเป็นตัวแปร OldTime ตัวแปร IsNewBar ระบุว่าเรามีแถบใหม่ถ้าเป็น FALSE เราจะดำเนินการฟังก์ชัน OnTick ให้เสร็จสิ้นลองดู ที่ code. it ตรวจสอบการดำเนินการในโหมดการแก้ปัญหาจะพิมพ์ข้อความเกี่ยวกับแถบเวลาเมื่อโหมดดีบักเราจะพิจารณาเพิ่มเติมสิ่งต่อไปที่เราต้องการทำที่นี่คือการตรวจสอบว่าเรามีแถบเพียงพอที่จะทำงานกับ ทำไมต้องทำซ้ำเราเพียงต้องการให้แน่ใจว่า EA ทำงานได้อย่างถูกต้องเท่านั้น สังเกตว่าในขณะที่ฟังก์ชัน OnInit เรียกว่าเพียงครั้งเดียวเมื่อ EA แนบกับแผนภูมิฟังก์ชั่น OnTick เรียกว่าทุกครั้งที่มีการติ๊กราคาใหม่คุณสังเกตว่าเราได้ทำมันอีกครั้งแตกต่างกันที่นี่เราตัดสินใจที่จะเก็บ บาร์ทั้งหมดในประวัติศาสตร์ที่เราได้รับจาก expression. in ในตัวแปรใหม่ Mybars ประกาศในฟังก์ชัน OnTick ตัวแปรประเภทนี้เป็นตัวแปรท้องถิ่นซึ่งแตกต่างจากตัวแปรที่เราประกาศในส่วน INPUT PARAMETERS ของโค้ดของเราในขณะที่ตัวแปรประกาศ ณ ส่วนพารามิเตอร์การป้อนข้อมูลของโค้ดของเรามีให้กับฟังก์ชันทั้งหมดภายในโค้ดของเราที่อาจจำเป็นต้องใช้ตัวแปรที่ประกาศภายในฟังก์ชันหนึ่งมีจำนวน จำกัด และพร้อมใช้งานฟังก์ชันดังกล่าวเพียงอย่างเดียวไม่สามารถใช้งานได้ภายนอกฟังก์ชันดังกล่าวเราได้ประกาศต่อไป ตัวแปรบางประเภทของโครงสร้าง MQL5 ซึ่งจะใช้ในส่วนนี้ของ EA MQL5 ของเรามีจำนวนของโครงสร้างที่สร้างขึ้นซึ่งทำให้สิ่งที่ง่ายสวยสำหรับนักพัฒนาซอฟต์แวร์ของ EA Let s ใช้โครงสร้างด้านหลัง er อื่น ๆ นี่คือโครงสร้างที่ใช้สำหรับการจัดเก็บราคาล่าสุดของ symbols. struct MqlTick เวลา datetime เวลาของการอัพเดทราคาล่าสุดคู่ราคาเสนอราคาปัจจุบันราคาประมูลดับเบิ้ลถามราคาปัจจุบันสอบถามราคาคู่สุดท้ายราคาของข้อเสนอสุดท้ายปริมาณการซื้อขายลดลง ปัจจุบันราคาล่าสุดตัวแปรที่ประกาศว่าเป็นประเภท MqlTick สามารถใช้เพื่อหาค่าปัจจุบันของ Ask, Bid, Last และ Volume เมื่อคุณเรียกใช้ฟังก์ชัน SymbolInfoTick ดังนั้นเราจึงประกาศว่าเป็นค่าล่าสุดเป็น MqlTick เพื่อให้เราสามารถใช้งานได้ จะได้รับราคา Ask and Bid โครงสร้างนี้ใช้ในการดำเนินการคำขอทางการค้าทั้งหมดสำหรับการดำเนินการด้านการค้าซึ่งประกอบด้วยโครงสร้างทั้งหมดฟิลด์ที่จำเป็นสำหรับการดำเนินการจัดการการค้า MqlTradeRequest ENUMTRADEREQUESTACTIONS การดำเนินการประเภทการดำเนินงานทางการค้า ulong magic Expert Advisor ID magic number จำนวนการสั่งซื้อ order string string สัญลักษณ์การค้า double volume ปริมาณที่ต้องการสำหรับการจัดการในราคาคู่ราคา double stoplimit StopLimit level of the order double sl Stop ระดับการสูญเสียของคำสั่ง double tp รับระดับผลกำไรของใบสั่งผ่อนด์เบี่ยงเบนความคลาดเคลื่อนสูงสุดที่เป็นไปได้จากราคาที่ขอ ENUMORDERTYPE ชนิดคำสั่งซื้อ ENUMORDERTYPEFILLING typefilling ประเภทการสั่งซื้อ ENUMORDERTYPETIME typetime เวลาการสั่งซื้อเวลาหมดอายุของวันหมดอายุของใบสั่งซื้อ ORDERTIMESPECIFIED type comment สตริงความสามารถในการส่งคำสั่งซื้อขายของ MqlTradeRequest สามารถใช้ในการส่งใบสั่งสำหรับการดำเนินการทางการค้าของเราได้ที่นี่เราได้ประกาศ mrequest เป็น MqlTradeRequest type ผลการดำเนินการทางการค้าใด ๆ จะถูกส่งกลับเป็นโครงสร้างแบบพิเศษที่กำหนดไว้ล่วงหน้าของ MqlTradeResult type ตัวแปรใด ๆ ที่ประกาศว่าเป็นประเภท MqlTradeResult จะสามารถเข้าถึงคำขอการค้าได้ results. struct MqlTradeResult uint retcode รหัสการดำเนินการส่งมอบ ulong deal แจกไพ่ ticket ถ้าดำเนินการ ulong order สั่งซื้อตั๋วถ้ามีการวางปริมาณไดรฟ์ข้อมูลคู่ยืนยันโดย broker double price ราคาตกลงยืนยันราคา b y broker double bid ราคาปัจจุบันราคาประมูลคู่ถามราคาปัจจุบันสอบถามสต๊อกสต๊อกนายหน้าซื้อขายหลักทรัพย์เป็นค่าดำเนินการโดยปกติจะมีรายละเอียดการดำเนินการดังนี้ราคาเปิดปิดสูงต่ำช่วงเวลาปริมาณของแต่ละบาร์และส่วนต่างราคา สัญลักษณ์จะถูกเก็บไว้ในโครงสร้างนี้อาร์เรย์ใด ๆ ที่ประกาศว่าเป็นประเภท MqlRates สามารถใช้เพื่อเก็บราคาปริมาณและประวัติการแพร่กระจายสำหรับ symbol. struct MqlRates taletime time เวลาช่วงเวลาเริ่มต้น double open ราคาเปิดสองเท่าสูงราคาสูงสุดของ ระยะเวลา double low ราคาต่ำสุดของงวด double ปิดราคาปิด tickvolume Tick ปริมาณการแพร่กระจาย int spread long realvolume ปริมาณการค้าที่นี่เราได้ประกาศ array mrate ซึ่งจะใช้ในการเก็บข้อมูลเหล่านี้ต่อไปเราจะเลือกอาร์เรย์ทั้งหมดที่เรา จะใช้เพื่อเก็บรายละเอียดบาร์เป็นชุดเพื่อให้แน่ใจว่าค่าที่จะถูกคัดลอกไปยังอาร์เรย์จะได้รับการจัดทำดัชนีเช่น timeseries นั่นคือ 0, 1, 2, 3 เพื่อให้สอดคล้องกับแถบ ind ex ดังนั้นเราจึงใช้อาร์เรย์ ArraySetAsSeries ArraySetAsSeries อาร์เรย์อาร์เรย์เป็นโมฆะโดยการอ้างอิง bool set true แสดงลำดับย้อนกลับของการจัดทำดัชนีควรสังเกตว่านี่สามารถทำได้ครั้งเดียวในส่วนเริ่มต้นของโค้ดของเรา แต่ฉันได้ตัดสินใจที่จะแสดง ณ จุดนี้เพื่อประโยชน์ของคำอธิบายของเราขณะนี้เราใช้ฟังก์ชัน SymbolInfoTick เพื่อขอรับใบเสนอราคาราคาล่าสุดฟังก์ชั่นนี้จะใช้เวลาสองอาร์กิวเมนต์สัญลักษณ์แผนภูมิและโครงสร้างตัวแปร MqlTick latestprice อีกครั้งถ้ามีข้อผิดพลาดเรารายงานมันต่อไปเราคัดลอก ข้อมูลเกี่ยวกับแถบล่าสุด 3 แถบในอาร์เรย์ประเภท Mqlrates ของเราโดยใช้ฟังก์ชัน CopyRates ฟังก์ชัน CopyRates ใช้เพื่อรับข้อมูลประวัติของโครงสร้าง MqlRates ของระยะเวลาที่ระบุในปริมาณที่ระบุลงในอาร์เรย์ประเภท MqlRates. Copy Copy string string ชื่อสัญลักษณ์ Symbol ระยะเวลา ENUMTIMEFRAMES period int startpos start position int count data count to copy MqlRates ratesarray target array to copy. The symbol name is obtained by usi ng symbol the current period timeframe is obtained by using period For the start position, we will start from the current bar, Bar 0 and we will count only three Bars, Bars 0, 1, and 2 The result will be store in our array, mrate. The mrate array now contains all the price, time, volumes and spread information for bars 0 1 and 2 Therefore to get the details of any bar, we will use the following. for example, we can have the following information about each bar. Bar 1 Start time Bar 1 Open price Bar 0 current bar high price, etc. Next we, copied all the indicator values into the dynamic arrays we have declared using the CopyBuffer function. int CopyBuffer int indicatorhandle , indicator handle int buffernum , indicator buffer number int startpos , start position int count , amount to copy double buffer target array to copy. The indicator handle is the handle we created in the OnInit section Concerning buffer numbers, the ADX indicator has three 3 buffers. The Moving Average indicator has only one 1 buffer. We copy from the present bar 0 to the past two bars So amount of records to copy is 3 bars 0, 1 and 2 The buffer is the target dynamic arrays we had earlier declared adxVal, plsDI, minDI and maVal. As you can see here again, we try to capture any error that may occur in the copying process If there is error, no need to go further. It is important to note that the CopyBuffer and the CopyRates function returns the total number of records copied on su ccess while it returns -1 incase of an error That is why we are checking for a value less than 0 zero in the error checking functions here. At this point we want to check if we already have a Buy or Sell position opened, in order words, we want to make sure we have only ONE Sell or Buy trade opened at a time We do not want to open a new Buy if we already have one, and we do not want to open a new Sell if we already have one opened. To achieve we will first of all declare two bool data type variables Buyopened and Sellopened which will hold a TRUE value if we already have a position opened for either Buy or Sell. We use the trade function PositionSelect to know if we have an open position This function returns TRUE if we have a position opened already and FALSE if we have none. It takes, as the major argument parameter, the symbol currency pair we want to check Here, we use symbol because we are checking the current symbol currency-pair. If this expression returns TRUE, then we want to check if the position opened is a Buy or a Sell We use the PositionGetInteger function for this it gives us the type of position opened when we use it with the POSITIONTYPE modifier It returns the Position type identifier which can either be POSITIONTYPEBUY or POSITIONTYPESELL. In our case, we used it to determine which of the position we already have opened If it is a Sell, we store a TRUE value in Sellopened and if it is a Buy, we store a TRUE value in Buyopened We will be able to use these two variables later when we are checking for Sell or Buy conditions later in our code. It is now time to store the close price for the bar we will be using for our Buy Sell setup Remember we declared a variable for that earlier. Having done this, we will now proceed to the next step. It is now time to start checking for a Buy opportunity. Let us analyze the expression above as it represents the strategy we designed earlier We are declaring a bool type variable for each of our conditions that must be met bef ore an order can be placed A bool type variable can only contain TRUE or FALSE So, our Buy strategy has been broken down into four conditions If any of the conditions is met or satisfied, then a value of TRUE is stored in our bool type variable, otherwise, a value of FALSE will be stored Let us look at them one by one. Here we are looking at the MA-8 values on Bars 0, 1 and 2 If value of MA-8 on the current bar is greater than its value on the previous Bar 1 and also the MA-8 value on Bar 1 is greater than its value on Bar 2 it means that MA-8 is increasing upwards This satisfies one of our conditions for a Buy setup. This expression is checking to see if Bar 1 Close price is higher than the value of MA-8 at the same period Bar 1 period If the price is higher, then our second condition has also been satisfied, then we can check for other conditions However, if the two conditions we have just considered were not met, then there will be no need to check other conditions That is why we deci de to include the next expressions within these two initial conditions expressions. Now we want to check if the current value of ADX ADX value on Bar 0 is greater than the Minimum ADX value declared in the input parameters If this expression is true, that is, the current value of ADX is greater than the Minimum required value we also want to be sure that the plusDI value is greater than the minusDI value This is what we achieved in the next expression. If all these conditions are met, that is, if they return true, then we want to be sure that we do not open a new Buy position if we already have one It is now time to check the value of the Buyopened variable we declared earlier in our code. If Buyopened is true, we do not want to open another Buy position, so, we display an alert to inform us and then return so that our EA will now wait for the next Tick However, if Buyopened is FALSE, then we prepare our records using the MqlTradeRequest type variable mrequest which we declared earlier to send our order. The action here, which is the trade operation type, is TRADEACTIONDEAL because we are placing a trade order for an immediate execution If we are modifying an order, then we will use TRADEACTIONMODIFY To delete an order we will use TRADEACTIONREMOVE We used our MqlTick type latestprice to get the latest Ask price The order Stop loss price is obtained by subtracting our StopLoss in points from the Ask price while the order take profit price is obtained by adding our TakeProfit in points to the Ask price You will also observe that we used the NormalizeDouble function for the Ask price, the StopLoss and TakeProfit values, it is good practice to always normalize these prices to the number of digits of currency pair before sending it to the trade server. The symbol is the current symbol Symbol or Symbol The order type is the type of order we are placing, here we are placing a buy order ORDERTYPEBUY For a Sell order, it will be ORDERTYPESELL. The order typefilling is the order e xecution type ORDERFILLINGFOK means that the deal can be executed exclusively with a specified volume at the equal or better price than the order specified price If there is no sufficient volume of offers on the order symbol, the order will not be executed. The OrderSend function takes two arguments, the MqlTradeRequest type variable and the MqlTradeResult type variable. As you can see, we used our MqlTradeRequest type variable and the MqlTradeResult type variable in placing our order using OrderSend. Having sent our order, we will now use the MqlTradeResult type variable to check the result of our order If our order is executed successfully, we want to be informed, and if not, we want to know too With the MqlTradeResult type variable mresult we can access the Operation return code and also the order ticket number if the order is placed. The return code 10009 shows that the OrderSend request was completed successfully, while 10008 shows that our order has been placed That is why we have ch ecked for any of these two return codes If we have any of them, we are sure that our order has been completed or it has been placed. To check for a Sell Opportunity, we check for the opposite of what we did for Buy Opportunity except for our ADX that must be greater than the Minimum value specified. Just as we did in the buy section, we are declaring a bool type variable for each of our conditions that must be met before an order can be placed A bool type variable can only contain TRUE or FALSE So, our Sell strategy has been broken down into four conditions If any of the conditions is met or satisfied, then a value of TRUE is stored in our bool type variable, otherwise, a value of FALSE will be stored Let us look at them one by one as we did for the Buy section. Here we are looking at the MA-8 values on Bars 0, 1 and 2 If value of MA-8 on the current bar is less than its value on the previous Bar 1 and also the MA-8 value on Bar 1 is less than its value on Bar 2 it means that MA-8 is decr easing downwards This satisfies one of our conditions for a Sell setup. This expression is checking to see if Bar 1 Close price is lower than the value of MA-8 at the same period Bar 1 period If the price is lower, then our second condition has also been satisfied, then we can check for other conditions However, if the two conditions we have just considered were not met, then there will be no need to check other conditions That is why we decide to include the next expressions within these two initial conditions expressions. Now we want to check if the current value of ADX ADX value on Bar 0 is greater than the Minimum ADX value declared in the input parameters If this expression is true, that is, the current value of ADX is greater than the Minimum required value we also want to be sure that the MinusDI value is greater than the plusDI value This is what we achieved in the next expression. If these conditions are met, that is, if they return true, then we want to be sure that we do not op en a new Buy position if we already have one It is now time to check the value of the Buyopened variable we declared earlier in our code. If Sellopened is true, we do not want to open another Sell position, so, we display an alert to inform us and then return so that our EA will now wait for the next Tick However, if Sellopened is FALSE, then we setup our Sell trade request as we did for Buying order. The major difference here is the way we calculated our stop loss price and take profit price Also since we are selling, we sell at the Bid price that is why we used our MqlTick type variable latestprice to get the latest bid price The other type here, as explained earlier, is ORDERTYPESELL. Also here, we used the NormalizeDouble function for the Bid price, the StopLoss and TakeProfit values, it is good practice to always normalize these prices to the number of digits of currency pair before sending it to the trade server. Just as we did for our Buy order, we must also check if our Sell order is successful or not So we used the same expression as in our Buy order.3 Debugging and Testing our Expert Advisor. At this point, we need to test our EA to know it our strategy works or not Also, it is possible that there are one or two errors in our EA code This will be discovered in the next step. Debugging our code helps us to see how our code performs line by line if we set breakpoints and there and then we can notice any error or bug in our code and quickly make the necessary corrections before using our code in real trade. Here, we are going to go through the step by step process of debugging our Expert Advisor, first of all, by setting breakpoints and secondly, without breakpoints To do this, Make sure you have not closed the Editor First of all, let us select the chart we want to use to test our EA On the Editor Menu bar, click on Tools and click on Options as shown below. Figure 8 Setting Debugging options. Once the Options window appears, select the currency pair, and the period timeframe to use and click the OK button. Before we start the debugger, let us set breakpoints Breakpoints allow us to monitor the behavior performance of our code at certain selected locations or lines Rather than running through all the code at once, the debugger will stop whenever it see a breakpoint, waiting for your net action By this we will be able to analyze our code and monitor its behavior as it reaches every set break-points We will also be able to evaluate the values of some of our variables to see if things are actually the way we envisaged. To insert a breakpoint, go to the line in your code where you want to set the breakpoint By the left hand side, on the gray field near the border of the code line, double-click and you will see a small round blue button with a white square inside it Or on the alternative, place the cursor of your mouse anywhere on the code line where you want the breakpoint to appear and press F9 To remove the breakpoint, press F9 again or double-click o n it. Figure 10 Setting a breakpoint. For our code, we are going to set breakpoint on five different lines. I will also label them form 1 to 5 for the sake of explanation. To continue, set breakpoint at the seven code lines as shown in the figure below Breakpoint 1 is the one we have created above. Figure 11 Setting additional breakpoints. Once we have finished setting our breakpoints, we are now set to start debugging our code. To start the debugger, press F5 or click the green button on the Toolbar of the MetaEditor. Figure 12 Starting the Debugger. The first thing the editor does is to compile the code, if there is any error at the point, it will display it and if no error, it will let you know that the code compiled successfully. Figure 13 Compilation Report. Please note that the fact that the code compiled successfully does not mean there may not be errors in your code Depending on how your code is written, there may be runtime errors For example, if any of our expressions does not evaluate correctly due to any little oversight, the code will compile correctly but may not run correctly Too much of the talk, let s see it in action. Once the debugger has finished compiling the code, it takes you to the trading terminal, and attach the EA to the chart you have specified on the MetaEditor Options settings At the same time, it shows you the Input parameters section of the EA Since we are not adjusting anything yet, just click the OK button. Figure 14 Expert Advisor Input Parameters for Debugging. You will now see the EA clearly on the top-right hand corner of the chart. Once it starts the OnTick it will stop as soon as it gets to our breakpoint 1.Figure 15 Debugger stops at the first breakpoint. You will notice a green arrow at that code line That tells you that previous code line had been executed we are now ready to execute the present line. Let me make some explanations before we proceed If you look at the Editor s Tool Bar, you will observe that the three buttons with curved arr ows which were earlier grayed out are now activated This is because we are now running the debugger These buttons commands are used to step through our code Step into, Step over or Step out. Figure 16 Step into command. The Step Into is used to go from one step of the program execution into the next step, entering into any called functions within that code line Click on the button or press F11 to invoke the command We will use this command in our Step-by-Step debugging of our code. Figure 17 Step over command. The Step over on the other hand does not enter into any called function within that code line Click on the button or press F10 to invoke the command. Figure 18 Step out command. To execute a program step that is one level higher, you click this button or press Shift F11.Also, at the lower part of the Editor, you will see the Toolbox window The Debug tab in this window has the following headings. File This displays the name of the file been called. Function This displays the present funct ion from the file been called. Line This displays the number of the code line in the file from which the function is called. Expression This is where you can type the name of any expression variable you are interested in monitoring from our code. Value This will display the value of the expression variable we typed at the Expression area. Type This will display the data type of the expression variable been monitored. Back to our debugging process. The next thing we want to do is now to type in the variables expressions from our code that we are interested in monitoring Make sure you only monitor the variables expressions that really matters in your code For our example, we will monitor the following. OldTime old bar time. NewTime 0 current bar time. IsNewBar flag that indicates the new bar. Mybars Total bars in History Our EA depends on it. You can add other ones like the ADX values, the MA-8 values, etc. To add the expression variable, double-click under the Expressions area or right-click under the Expressions area and select Add as shown in the figure above. Type the expression variable to monitor or watch. Figure 19 The expressions watching window. Type all the necessary variables expressions. Figure 20 Adding expressions or variables to watch. If the variable hasn t been declared yet, its type is Unknown identifier except the static variables. Now, lets move on. Figure 21 Step into command in action. Click the Step into button or press F11 and observe what happens Keep on pressing this button or F11 until you get to breakpoint no 2 continue until you get to breakpoint no 4 as shown below and observe the expressions watching window. Figure 22 Watching the expressions or variables. Figure 23 Watching the expressions or variables. Figure 24 Watching the expressions or variables. Once there is a new tick, it will return to the fist code line of the OnTick function And all the values of our variables expression will now be reset because this is a new tick except if any of them is declared as a static variable In our case we have one static variable OldTime. Figure 25 Values of variables on NewTick event. To go over the process again, continue pressing the F11 key and keep monitoring the variables at the expressions watching window You can stop the debugger and then remove all the breakpoints. As we see, in Debug mode it prints the message We have new bar here. Figure 26 Expert Advisor prints the message in Debug mode. Start the debugging process again but this time without breakpoints Keep watching at every tick and if any of our Buy Sell condition is met, it will place a trade and since we have written our code to tell us if an order is placed successful or otherwise, we will see an alert. Figure 27 Expert Advisor places trade during debugging. I think you can leave the EA to work for a few more minutes while you take a coffee Once you are back and you have made some money just kidding , then click the STOP Red button on the MetaEditor to stop debugging. Figure 28 Stopping the debugger. What we have actually done here is to see that our EA only checks for a trade at the opening of a new Bar and that our EA actually works There is still a lot of room for adjustments to our EA code. Let me make it clear, at this point that, the Trading terminal must be connected to the internet, otherwise, debugging will not work because the terminal will not be able to trade.3 2 TESTING OUR EA STRATEGY. At this point we now want to test our EA using the Strategy Tester built into the Trading Terminal To start the Strategy Tester, press CONTROL R or click the View menu on the Terminal Menu Bar and click on Strategy Tester as shown below. Figure 26 Starting the Strategy Testing. The Tester Strategy Tester is shown at the lower part of the terminal For you to see all the Tester s settings, you need to expand resize it To do this, move your mouse pointer to the point shown by the red arrow as shown below. Figure 27 The Strategy Tester window. The mouse pointer changes to a double-end a rrow, hold down the mouse and drag the line upwards Stop when you discover that you can see everything on the settings tab. Figure 28 The Strategy Tester Settings Tab. Select the EA you want to test. Select the Currency pair to use for the test. Select the Period Timeframe to use for the test. Select Custom Period and set the dates in 5.Set the dates for the custom period to be used for the test. Execution is Normal. Select the deposit amount in USD to be used for the test. Set Optimization to Disable We are not optimizing now, we just want to test. Click this button when you are ready to start test. Before we click the Start button, lets look at the other tabs on the Tester. The processor used by the Tester for the Test Depending on your Computer s processor type Mine is only one 1 core processor. Figure 29 The Strategy Tester Agents tab. Once the agent, you will see something similar to the figure below. Figure 30 The Strategy Tester Agents tab during a test. This is where all the events going on d uring the test period is displayed. Figure 31 The Strategy Tester Journal tab showing trade activities. This is where you can specify the input parameters for the EA. Figure 32 The Strategy Tester Inputs tab. If we are optimizing our EA, then we will need to set the values in the circled area. The Start is the values you want the Tester to begin with. The Step is the increment rate for the value you selected, and. The Stop is the value at which the Tester will stop incrementing the value for that parameter. However, in our case we are not optimizing our EA, so we will not need to touch that for now. Once everything is set, we now go back to the Settings tab and click the Start button Then the tester begins its work All you need to do now is to go and take another cup of coffee if you like, or, if you are like me, you may want to monitor every event, then turn to the Journal tab. Once you begin to see messages about orders been sent on the Journal Tab, you may then wish to turn to a NEW tab named Graph which has just been created Once you switch to the Graph tab, you will see the graph keep on increasing or decreasing as the case may be depending on the outcome of your trades. Figure 33 The graph result for the Expert Advisor Test. Once the test is completed, you will see another tab called Results Switch to the Results tab and you will see the summary of the test we have just carried out. Figure 34 The Strategy Tester Results tab showing test results summary. You can see the total Gross Profit, Net Profit, total trades total loss trades and many more Its really interesting to see that we have about USD 1,450 0 within the period we selected for our test At least we have some profit. Let me make something very clear to you here You will discover that the settings for the EA parameters that you see in the Strategy tester is different from the initial settings in the Input parameters of the EA I have just demonstrated to you that you can change any of those input parameters to get the best out of your EA Instead of using a period of 8 each for the Moving Average and ADX, I changed it to 10 for Moving Average and 14 for ADX I also change the Stop Loss from 30 to 35 Last but not the least, I decided to use 2 Hour timeframe Remember, this is the Strategy Tester. If you want to view a complete report of the test, then right-click on anywhere in the Results tab, you will see a menu From this menu, Select Save as Report. Figure 35 Saving the result of the test. The save dialog window will appear, type a name for your report if you want, otherwise leave the default name and click the save button The whole report will be saved in HTML format for you. To view the chart for the test that was carried out, click Open Chart and you will see the chart displayed. Figure 36 The chart showing the test. That s it, we have successfully written and tested our EA and we now have a result to work with You can now go back to the strategy tester Settings tab and make the test for other Timefram es Period. I want you to carry out the test using different currency pairs, different timeframes, different Stop Loss, different Take profit and see how the EA performs You can even try new Moving Average and ADX values As I said earlier, that is the essence of the Strategy tester I will also like you to share your results with me. In this step by step guide, we have been able to look at the basic steps required in writing a simple Expert Advisor based on a developed trading strategy We have also looked at how we check our EA for errors using the debugger We also discussed how to test the performance of our EA using the Strategy Tester With this, we have been able to see the power and robustness of the new MQL5 language Our EA is not yet perfect or complete as many more adjustments must still be made in order to used it for real trading. There is still more to learn and I want you to read the article over again together with the MQL5 manual, and try everything you have learn in this artic le, I can assure you that you will be a great EA developer in no distant future. Hello Mr Olowoyo Thanks you very much for your extremelly interesting article about the way to build and EA It is simples for beginners and really helpful I am really new in the coding of EA but I realize it is extremelly necessary to test different strategies I have downloaded you EA and try to compile it but I get immediately 50 errors In the previous comments I did not see such problems reported by the users Please find enclosed a extract of the error table I will appreciate very to receive some help Jean Philippe. Hi Samuel your guide was awesome and really cleared the air but I have some problems in calling other indicators in my EA can you tell me how add MACD and VIDyA signals in my EA I need to calculate the Signal and Main amount of MACD for example but don t know how to call them in my EA That would be a great help if you tell me how to do that you are awesome. I am trying to compile the code provid ed in this tutorial but getting the error iADX wrong parameter count at the following line adxHandle iADX NULL,0,ADXPeriod The code seems fine to me How do I fix the error Could anyone help. Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising If you continue browsing the site, you agree to the use of cookies on this website See our User Agreement and Privacy Policy. Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising If you continue browsing the site, you agree to the use of cookies on this website See our Privacy Policy and User Agreement for details. Explore all your favorite topics in the SlideShare app Get the SlideShare app to Save for Later even offline. Continue to the mobile site. Double tap to zoom out. Forex trading for dummies 2016 updated. Share this SlideShare. LinkedIn Corporation 2017.Forex Day Trading - Why Us. Learn to trade Forex like a pro with our free train ing program You will learn how to trade with our powerful, proprietary trading systems and benefit from our unique mental training MP3 s. You ll also have the opportunity to trade for our retail and institutional clients as a money manager, prop trader, or hedge fund manager. It s the accelerated approach to a successful trading career. Forex Day Trading offers some unique services to our Investors and traders Here are some. Accelerated Trading Career Opportunity with FastTrack Enjoy professional trading tools and training via our FastTrack FX Pro Trader program For both beginner and advanced traders who want to trade for a living or more effectively. Attractive IB Program An introducing broker makes money by offering forex services to potential traders Qualified individuals and institutions welcomed. Maximum Safety of Funds via Trust For the first time ever, ANY size client can open a trust account This provides the ultimate environment for safety of funds, something that almost no brokerag e firm offers. Professionally Managed Accounts Created for investors who don t have time to trade their own account or want to add diversification to their investment portfolios. Free MP3 to Tune Your Mind for Trading Success Request a Free Demo from our main menu and download our proprietary Forex Mental Tuner MP3 which conditions your mind for trading success while you sleep. Advantages of Trading Forex. Trading the foreign exchange Forex or FX market has a number of advantages over stock and futures trading. Trading 24 Hours a Day From Sunday afternoon to Friday afternoon US time. Low Minimum Investment Trading currencies requires a lot less starting capital than trading stocks You can start with just 100 USD. Attractive IB Opportunities Offer forex services to traders and get compensated We offer one of the most beneficial IB programs in our Industry.1000 1 Leverage FX trading offers greater buying power than day trading stocks, which offers 4 1 maximum leverage. Tight Trading Spreads Frac tion of 1 pip Sub 1-pip spreads on some of the major currency pairs the majors. Simpler to Trade than Stocks There are only a few major currencies in forex, whereas in the equities market there are tens of thousands of possible stocks to trade. Free Trading Platform with Real-time Charts and News Free trading platform based on MetaTrader technology with streaming, real-time charts, news and commentary relevant to the currency market. No Re-Quotes on MT4 Platform During normal market volatility in the foreign exchange market. No Trading Restrictions in Falling Markets There are no restrictions to sell currencies short, unlike stocks, which have artificial restrictions in place when sold short or when the market drops by a given amount. Forex Market Latest News. The Euro was unable to sustain a recovery attempt on Tuesday and came under fresh selling pressure as the dollar gained renewed support after stronger than expected data The Australian Reserve Bank interest rate decision was one of the least Continue reading. Monday s trading maintained the familiar pattern seen after a Friday payroll release with generally lacklustre conditions and narrow ranges, amplified by the normal dip in trading volumes during August The dollar overall was still hampered by profit taking and corrective Continue reading. Friday s economic data was not strong enough to trigger further dollar buying with the currency subjected to profit taking after a strong week Equity markets generally remained on the defensive following sharp Wall Street losses overnight and risk conditions overall Continue reading. Start Your FX Business.

Comments