Saturday 15 July 2017

Build ของคุณเอง โดยอัตโนมัติ Trading ระบบ


MetaTrader 5 - ตัวอย่างวิธีการสร้างหุ่นยนต์เทรดดิ้งในเวลาไม่นานเพื่อสร้างหุ่นยนต์การค้าคุณต้องใช้ระบบการซื้อขายการซื้อขายในตลาดการเงินเกี่ยวข้องกับความเสี่ยงมากมายรวมทั้งปัจจัยที่สำคัญที่สุด - ความเสี่ยงในการตัดสินใจซื้อขายผิดพลาด ความฝันของพ่อค้าทุกคนคือการหาหุ่นยนต์การค้า ซึ่งมักมีรูปร่างที่ดีและไม่อยู่ภายใต้จุดอ่อนของมนุษย์ - ความกลัวความโลภและความอดทน ผู้ใช้ใหม่แต่ละคนต้องการที่จะได้รับหรือสร้างระบบการซื้อขายที่ชัดเจนและเข้มงวดที่สามารถนำเสนอในรูปแบบของอัลกอริทึมและสามารถกำจัดการดำเนินงานประจำได้อย่างสมบูรณ์ เป็นไปได้หรือไม่ระบบการซื้อขายเป็นเงื่อนไขที่จำเป็นสำหรับการเข้าสู่ตลาดและระบบดังกล่าวควรทำกำไรได้แน่นอน เมื่อผู้มาใหม่เข้ามาในตลาดพวกเขามักจะถูกครอบงำด้วยข้อมูลจำนวนมากที่เข้าใจยาก ฟอรัมหนังสือและฟอรัมผู้ค้าสามารถให้ความช่วยเหลือได้ในกรณีดังกล่าว แต่น่าเสียดายที่ผู้เขียนไม่ได้เป็นผู้ค้าที่ประสบความสำเร็จและไม่ใช่ผู้ค้าที่ประสบความสำเร็จทั้งหมดในการเขียนหนังสือ แหล่งข้อมูลเว็บพิเศษจำนวนมากถูกสร้างขึ้นเพื่อทำกำไรให้กับเจ้าของเท่านั้นเนื่องจากเป็นการยากที่จะทำการค้าขายเงินของคุณเองมากกว่าที่จะคาดการณ์และสอนระบบการซื้อขาย พ่อค้าแต่ละคนควรผ่านทุกขั้นตอนของการสร้างระบบการค้าได้อย่างอิสระ มีคำพูดที่เป็นที่นิยมว่าไม่สำคัญว่าคุณใช้ระบบเพื่อการค้าสิ่งสำคัญคือคุณควรทำการค้าตามระบบดังกล่าว มิฉะนั้นการซื้อขายในตลาดจะกลายเป็นเดิมพันที่มีผลที่สามารถคาดเดาได้ การซื้อขายหุ่นยนต์และตลาด Forex Forex เชื่อว่ามีสภาพคล่องที่ดี นอกจากนี้ยังช่วยให้การซื้อขายได้ตลอด 24 ชั่วโมงซึ่งแตกต่างจากตลาดอื่น ๆ อีกมากมาย ดังนั้นผู้ค้าจำนวนมากพยายามสร้างหุ่นยนต์การค้าพิเศษสำหรับตลาด Forex เนื่องจากมีเครื่องมือการซื้อขายจำนวนมาก อย่างไรก็ตามผู้คลางแคลงอ้างว่าคู่สกุลเงินทุกสกุลมีความสัมพันธ์กันอย่างมากกับความผันผวนที่ต่ำมากในตลาด แต่คู่ต่อสู้ของพวกเขาตอบว่าคู่สกุลเงินแต่ละสกุลมีคุณสมบัติของตัวเองและความผันผวนต่ำจะได้รับการชดเชยด้วยการยกระดับใหญ่ ไม่ว่าในกรณีใดเครื่องมือ Forex น่าสนใจสำหรับการสร้างหุ่นยนต์การค้าและผู้สนับสนุนส่วนใหญ่ของการซื้อขายอัตโนมัติจะช่วยเพิ่มทักษะในคู่สกุลเงิน เทอร์มินัลการเทรด MetaTrader 4 และ MetaTrader 5 ได้รับการออกแบบมาเป็นพิเศษเพื่อให้ง่ายต่อการพัฒนาระบบการซื้อขายอัตโนมัติ แต่ในขณะเดียวกันอินเทอร์เฟซของพวกเขาก็สะดวกสำหรับการซื้อขายด้วยตนเอง วิธีการเริ่มต้นการทำ Trading Robot มีหลายวิธีในการสร้างระบบการซื้อขายอัตโนมัติ เราจะอธิบายเพียงไม่กี่คนที่สำคัญ วิธีแรกอยู่บนพื้นฐานทางคณิตศาสตร์ นักพัฒนาซอฟต์แวร์พยายามที่จะสร้างสมการที่สามารถพิจารณาหลายปัจจัยได้ วิธีนี้ขึ้นอยู่กับความเชื่อมั่นของ บริษัท ว่าการเคลื่อนไหวของราคาถูกจัดการโดยใช้แบบจำลองที่สามารถหาได้โดยใช้ข้อมูลทางประวัติศาสตร์ที่มีอยู่ ในกรณีส่วนใหญ่ลูกศิษย์ของวิธีการดังกล่าวรู้คณิตศาสตร์มากเกินไป แต่รู้อะไรเกี่ยวกับไม่สนใจในตลาด ตลาดเป็นสิ่งที่เป็นนามธรรมซึ่งเป็นเกมทางปัญญาสำหรับพวกเขา วิธีนี้มักจะนำไปสู่หลายปีของการศึกษาและการพัฒนาในขณะที่ผลที่แน่นอนในรูปแบบของระบบการซื้อขายอัตโนมัติที่ทำงานไม่ได้เป็นสิ่งสำคัญดังนั้น แนวทางที่สองคือการศึกษากฎหมายตลาด ไม่มีความพยายามใด ๆ ที่จะเข้าใจว่าทำไมราคาจึงขึ้นหรือลงเมื่อตัวเลขการวิเคราะห์ทางเทคนิคต่างๆปรากฏอยู่ในแผนภูมิ ข้อได้เปรียบของวิธีนี้ก็คือต้องใช้ความรู้พิเศษเกี่ยวกับคณิตศาสตร์และไม่มีสมมติฐานเกี่ยวกับแรงผลักดันของตลาด เป็นที่ชัดเจนและสะดวกในการศึกษาการซื้อขาย เป็นที่นิยมมากที่สุดในบรรดาผู้ค้าที่ได้รับการยอมรับในสากล ข้อเสียของวิธีนี้คือความจำเป็นในการติดตามสัญลักษณ์ที่จำเป็นทั้งหมดอย่างต่อเนื่อง ไม่ช้าก็เร็วเทรดเดอร์จะเริ่มพิจารณาการทำงานอัตโนมัติของกระบวนการซื้อขายหลักทรัพย์และปัญหาที่สำคัญที่สุดจะปรากฏขึ้นที่ขั้นตอนของความซับซ้อนในการกำหนดกฎการซื้อขายเมื่อพยายามแสดงออกในรูปแบบของอัลกอริทึม ในบางกรณีผู้ค้าที่พยายามจะสั่งซื้อหุ่นยนต์การค้าไม่สามารถอธิบายกฎการซื้อขายและหาจุดร่วมกับโปรแกรมเมอร์ วิธีที่สามขึ้นอยู่กับความพยายามที่จะสร้างกล่องสีดำขึ้นอยู่กับโครงข่ายประสาทด้วยการใช้เครื่องมือสำเร็จรูปที่มีอยู่ในซอฟท์แวร์พิเศษและชุดคณิตศาสตร์ การสร้างระบบการซื้อขายอัตโนมัติที่มีองค์ประกอบของปัญญาประดิษฐ์เป็นงานที่น่าตื่นเต้นและท้าทายแม้กระทั่งสำหรับผู้ที่มาใหม่เนื่องจากไม่จำเป็นต้องมีพื้นฐานทางคณิตศาสตร์ลึกและไม่มีประสบการณ์การเขียนโปรแกรมใด ๆ ทั้งสิ้น พ่อค้าควรรู้พื้นฐานของตัวชี้วัดทางเทคนิคมีความสามารถในการเตรียมข้อมูลราคาที่จำเป็นและประสบการณ์ในแพคเกจที่แน่นอนบางอย่างสำหรับการทำงานกับเครือข่ายประสาท ข้อเสียเปรียบหลักของวิธีนี้คือหุ่นยนต์การค้าที่ได้ใช้เครื่องมือเฉพาะสำหรับการทำงานร่วมกับโครงข่ายประสาทเทียมเป็นกล่องดำจริงๆ ผู้ค้าไม่ทราบหลักการทำงานของมันและโดยทั่วไปแล้วมันเป็นไปไม่ได้ที่จะคาดเดาว่าเฟสตลาดจะเป็นปัญหามากที่สุดสำหรับหุ่นยนต์ โปรแกรมเมอร์มักเลือกวิธีที่สี่ที่พวกเขาเริ่มต้นสร้างหุ่นยนต์การค้าตั้งแต่ต้นโดยไม่ใช้เวลาในการซื้อขายด้วยตนเอง ทำไมต้องค้าด้วยตัวเองคุณสามารถใช้หุ่นยนต์ได้ภายใน 2-3 เดือนและเก็บเกี่ยวผลประโยชน์จากความพยายามของคุณได้แล้ว แต่ไม่มีความเจ็บปวดไม่มีกำไร ในกรณีส่วนใหญ่โปรแกรมเมอร์จะเริ่มต้นสร้างโครงสร้างพื้นฐานที่จำเป็นทั้งหมดโดยใช้ภาษาการเขียนโปรแกรมที่คุ้นเคยไม่ใช่แค่ทำให้หุ่นยนต์การค้าได้รับและประมวลผลข้อมูลราคาแสดงภาพแผนภูมิและตัวบ่งชี้วิธีกำหนดกลยุทธ์การทดสอบข้อมูลทางประวัติศาสตร์เป็นต้น พวกเขาได้รับประสบการณ์มากในกระบวนการ แต่ในกรณีส่วนใหญ่ประสบการณ์ดังกล่าวไม่ได้ทำให้พวกเขาใกล้ชิดกับการสร้างเป้าหมายขั้นสุดท้ายของระบบการซื้อขายอัตโนมัติ แม้ว่าจะมีการสร้างหุ่นยนต์การค้า แต่ก็ไม่มีการรับประกันว่าจะสร้างผลกำไรได้ และถ้าผู้เขียนโปรแกรมต้องการเขียนระบบการค้าอื่นการปรับโครงสร้างอย่างละเอียดและข้อผิดพลาดเกี่ยวกับการเขียนโปรแกรมใหม่เป็นสิ่งที่หลีกเลี่ยงได้ นอกจากนี้ยังมีแนวทางที่ห้าในการซื้อระบบการซื้อขายสำเร็จรูปในรูปแบบของหุ่นยนต์การค้า ในกรณีนี้ผู้ค้าทำหน้าที่เป็นผู้ดำเนินการหรือเครื่องรับสัญญาณ วิธีนี้ช่วยประหยัดเวลาได้มาก (ไม่จำเป็นต้องเรียนรู้สิ่งใหม่ ๆ มากมาย) และช่วยให้ผู้ค้าสามารถเข้าสู่โลกแห่งการซื้อขายอัตโนมัติได้อย่างรวดเร็ว ข้อเสียเปรียบหลักของวิธีนี้เกิดขึ้นจากข้อได้เปรียบของคุณคุณไม่ทราบหลักการทำงานของหุ่นยนต์การค้าของคุณและโครงสร้างของมัน และแม้ว่าผู้ขายจะให้คำอธิบายโดยละเอียดเกี่ยวกับระบบการซื้อขายที่ได้รับการรับรองแล้ว แต่คุณจะไม่แน่ใจในตัว อย่างไรก็ตามวิธีการดังกล่าวไม่สามารถให้การรับประกันได้อย่างสมบูรณ์ยกเว้นเงินฝากธนาคาร แต่นั่นไม่ใช่ทางออกที่เหมาะสมสำหรับผู้ที่สนใจการซื้อขายในตลาดและวิธีการเพิ่มสินทรัพย์ส่วนตัว วิธีที่ดีที่สุดในการซื้อขายอัตโนมัติสำหรับผู้ประกอบการแต่ละแนวทางที่อธิบายไว้ห้าข้อมีข้อได้เปรียบและตรงกับประเภทของผู้ประกอบการที่แน่นอน ไม่น่าเป็นไปได้ว่าคุณจะเลือกวิธีการแรก (คำอธิบายการวิเคราะห์ตลาด) โดยไม่มีพื้นฐานทางคณิตศาสตร์ที่ดี เป็นไปได้อย่างเท่าเทียมกันไม่น่าที่คุณจะเริ่มต้นจากการทำหุ่นยนต์การค้าขึ้นอยู่กับเครือข่ายประสาท อย่างไรก็ตามทั้งสองวิธีนี้น่าตื่นเต้นมากและให้การออกกำลังกายทางปัญญาที่ดี ด้านล่างเราจะพูดถึงเฉพาะแนวทางที่สองซึ่งถือว่าเป็นคลาสสิกแล้ว นั่นคือวิธีการที่มักเลือกโดยผู้ติดตามรายใหม่ของการซื้อขายอัตโนมัติเนื่องจากการวิเคราะห์ทางเทคนิคยังคงเป็นประเด็นสำคัญในการเรียนรู้พื้นฐานการซื้อขาย ประโยชน์อีกประการหนึ่งของแนวทางที่สองก็คือหลังจากที่คุณใช้เวลาในการซื้อขายด้วยตนเองและได้รับความรู้สึกของตลาดแล้วคุณจะมีความเข้าใจเครื่องมือวิเคราะห์ทางเทคนิคอยู่แล้ว นอกจากนี้คุณยังสามารถวางแผนกลยุทธ์การซื้อขายหรือสร้างเครือข่ายประสาทเทียมในระดับที่สูงขึ้น ขั้นตอนแรกในการทำหุ่นเทรดดิ้งเพื่อสร้างระบบการซื้อขายอัตโนมัติคุณต้องมีทักษะในการเขียนโปรแกรมและความรู้เกี่ยวกับความซับซ้อนของการประมวลผลคำขอทางการค้า แต่ก่อนอื่นคุณสามารถเริ่มต้นจากผู้เชี่ยวชาญที่พร้อมทำคำแนะนำในการซื้อขายหุ่นยนต์จากห้องสมุด Code Base ฟรี ดาวน์โหลดผู้เชี่ยวชาญที่ปรึกษา (Trading Robot) และเปิดตัวในเครื่องมือทดสอบกลยุทธ์ของ MetaTrader 4 หรือ MetaTrader 5 ขั้วของไคลเอ็นต์ เลือกช่วงเวลาประวัติศาสตร์ที่แสดงถึงแนวโน้มที่แข็งแกร่งและช่วงเวลาที่มีแบน ดำเนินการเพิ่มประสิทธิภาพของพารามิเตอร์ป้อนข้อมูลของที่ปรึกษาผู้เชี่ยวชาญและตรวจสอบความแตกต่างของข้อมูลเหล่านี้ในช่วงเวลาสองช่วงนี้ เปิดผู้เชี่ยวชาญที่ปรึกษาด้วยพารามิเตอร์ที่เหมาะสมสำหรับแบนในช่วงเวลาที่มีแนวโน้มและมีพารามิเตอร์ที่เหมาะสมสำหรับแนวโน้มในช่วงเวลาที่แบน ตรวจสอบความแตกต่างของผลการซื้อขายการแจกแจงข้อเสนอและพารามิเตอร์ทางสถิติอื่น ๆ ดังนั้นคุณจะทราบได้ว่าพฤติกรรมของระบบการซื้อขายของคุณมีความแตกต่างกันอย่างไรเมื่อสถานการณ์ตลาดเปลี่ยนไป ลองใช้กลยุทธ์การซื้อขายมาตรฐานหลายวิธีโดยใช้วิธีการนี้ในส่วนต่างๆของประวัติศาสตร์และสัญลักษณ์ต่างๆ การทดลองใช้นี้จะป้องกันไม่ให้มีระบบการซื้อขายสำหรับช่วงเวลาที่แน่นอนและให้ความรู้ความเข้าใจเกี่ยวกับระบบแนวโน้มและการตอบโต้ ขั้นตอนต่อไปคือการสร้างระบบการซื้อขายที่ซับซ้อนมากขึ้นโดยใช้การรวมกันของสัญญาณง่ายๆที่มีอยู่แล้วจากชุดตัวช่วยสร้าง MQL5 คุณสามารถทดสอบและพัฒนาสัญชาตญาณการซื้อขายของคุณเพื่อคัดแยกสัญญาณที่ไม่ดีของระบบหนึ่งโดยใช้ตัวกรองตามระบบอื่นโดยไม่ใช้โปรแกรม สิ่งสำคัญที่นี่ไม่ได้มีมากเกินไป ระบบการซื้อขายมีพารามิเตอร์การป้อนข้อมูลที่มากขึ้นและง่ายต่อการติดตั้ง มีการอภิปรายเกี่ยวกับความแตกต่างระหว่างการเพิ่มประสิทธิภาพและการติดตั้ง ไม่มีโซลูชั่นที่ยอมรับกันอย่างแพร่หลายในที่นี้ แต่การมองเห็นผลการทดสอบประสิทธิภาพและความรู้สึกปกติของคุณเองสามารถช่วยคุณได้ เรียนรู้เพื่อระบุพารามิเตอร์การป้อนข้อมูลที่สำคัญที่สุดที่มีผลต่อระบบการค้าของคุณจากข้อมูลชุดข้อมูลทั้งหมด อย่าใส่ใจกับพารามิเตอร์รองที่ใช้เวลาในการเพิ่มประสิทธิภาพ แต่ไม่ส่งผลกระทบต่อตรรกะที่มากของระบบ โปรดจำไว้ว่าระบบการซื้อขายที่ดีจะแสดงให้เห็นถึงการเคลื่อนไหวของพารามิเตอร์รองโดยอิสระ แต่จะไม่แสดงถึงความผันผวนอย่างมากในกรณีที่การเปลี่ยนแปลงของตลาดไม่สำคัญ คุณสามารถใช้เวลาได้มากในขั้นตอนนี้ตามที่คุณต้องการจนกว่าคุณจะแน่ใจได้ว่าคุณสามารถเข้าใจกลยุทธ์การซื้อขายใด ๆ ในการทดสอบผลการทดสอบและการเพิ่มประสิทธิภาพ ความรู้เกี่ยวกับจุดแข็งและจุดอ่อนของระบบมาตรฐานจะช่วยให้คุณเตรียมพร้อมในการสร้างหุ่นยนต์การค้าของตัวเองได้ดียิ่งขึ้น การเขียนโปรแกรมหุ่นยนต์เทรดดิ้งสมมติว่าคุณได้เรียนรู้การเรียนรู้ภาษา MQL4 หรือ MQL5 แล้วตอนนี้คุณพร้อมที่จะเขียน Expert Advisor ตัวแรกของคุณสำหรับเทอร์มินัลไคลเอ็นต์ของ MetaTrader สามารถทำได้หลายกรณี ขั้นแรกคุณสามารถตรวจสอบหุ่นยนต์การค้าสำเร็จรูปหลายแบบที่อธิบายไว้ในบทความเพื่อทำความเข้าใจความซับซ้อนของการเขียนโปรแกรมได้ดียิ่งขึ้น ประการที่สองคุณสามารถถามคำถามเกี่ยวกับ MQL4munity หรือ MQL5munity หากคุณมีปัญหาที่ยังไม่ได้รับการแก้ไข ผู้เข้าร่วมชุมชนที่มีประสบการณ์จะช่วยผู้มาใหม่ที่แสดงความสนใจอย่างจริงใจในเรื่องนี้ ประการที่สามคุณสามารถสั่งการถ่ายภาพหรือการพัฒนาที่ปรึกษาผู้เชี่ยวชาญหรือตัวบ่งชี้ในบริการงาน ถ้าคุณไม่สามารถเขียนโปรแกรมที่จำเป็นด้วยตัวคุณเอง แต่แม้ว่าคุณจะสั่งซื้อผ่านทางบริการอิสระคุณควรมีความคิดเกี่ยวกับการทดสอบกลยุทธ์เพื่อหาภาษาทั่วไปกับนักพัฒนาซอฟต์แวร์ นอกจากนี้ความรู้พื้นฐานของภาษาเขียนโปรแกรมช่วยให้คุณสามารถใช้การแก้ไขเล็กน้อยและการเปลี่ยนแปลงลงในโค้ดหลังจากที่ทำงานเสร็จเรียบร้อยแล้ว เพราะเป็นเรื่องที่ไม่สะดวกในการติดต่อโปรแกรมเมอร์เพื่อแก้ไขปัญหาเล็ก ๆ ที่คุณพบ มันจะง่ายขึ้นและเร็วขึ้นเพื่อแก้ไขด้วยตัวคุณเอง ไม่ต้องรีไซเคิลล้อวิธีหากลยุทธ์การซื้อขายของคุณเองหรืออย่างน้อยที่สุดในทิศทางที่คุณควรมุ่งเน้นการค้นหาของคุณผู้ค้าทั้งหมดจะปกป้องระบบการค้าของตนเองหากมี ผู้มาใหม่ทุกคนต้องการสร้างระบบที่มีกำไรหรือรับทำสำเร็จรูป ในเวลาเดียวกันการแก้ปัญหาใด ๆ ที่ดูเหมือนจะง่ายเกินไปเมื่อเทียบกับแนวคิดใหม่เกี่ยวกับระบบการซื้อขายของแท้ ผู้ชายกองทัพทั่วโลกมีแนวโน้มที่จะมีระดับความลับที่มากเกินไป มีเรื่องตลกมากมายเกี่ยวกับเรื่องดังกล่าวรวมถึงเรื่องต่อไปนี้: ความลับทางทหารไม่ได้อยู่ในสิ่งที่คุณกำลังเรียนอยู่ - เจ้าหน้าที่บอกกับนักเรียนโรงเรียนทหาร - แต่ในความเป็นจริงว่าคุณกำลังศึกษาอยู่ สถานการณ์ในระบบการซื้อขายมีความคล้ายคลึงกันมาก: ผู้ค้าส่วนใหญ่ใช้แนวคิดการค้าที่เรียบง่ายและเป็นที่รู้จักโดยมีการปรับเปลี่ยนเล็กน้อยตัวอย่างเช่นการเพิ่ม Trailing Stop หรือการยืนยันจากตัวบ่งชี้แนวโน้ม มีฟอรัมผู้ซื้อขายจำนวนมากที่มีการเข้าถึงแบบ จำกัด ซึ่งผู้เข้าร่วมมีส่วนร่วมในการพัฒนาหรือปรับปรุงระบบการซื้อขายลับบางอย่าง สิ่งที่น่าสนใจที่สุดก็คือระบบดังกล่าวไม่ได้มีอะไรพิเศษเลย โดยปกติจะเป็นแนวคิดที่รู้จักกันเป็นอย่างดี (เช่นการค้าที่มีแนวโน้ม) เป็นพื้นฐาน จากนั้นก็จะสมบูรณ์แบบด้วยตัวบ่งชี้ใหม่ ๆ ที่ไม่รู้จักกับสาธารณชนทั่วไป ดังนั้นคุณจึงสามารถใช้รหัสแหล่งที่มาของหุ่นยนต์การค้าได้อย่างง่ายดายและลองใช้รหัสแหล่งที่มาของหุ่นยนต์เหล่านี้อย่างถูกต้องพร้อมกับสัญลักษณ์และกรอบเวลาต่างๆ อีกหนึ่งคำนิยมที่ได้กล่าวถึง: คุณไม่ชอบแมวคุณเพียงแค่ไม่ทราบวิธีการปรุงอาหารพวกเขาเป็นเรื่องยากที่จะเชื่อ แต่ความน่าจะเป็นที่คุณจะพัฒนาอะไรใหม่ ๆ มีน้อยมาก สิ่งสำคัญที่นี่คือการสร้างระบบโดยใช้ส่วนผสมที่มีอยู่ อย่าคิดว่าอัจฉริยะบางคนสามารถเข้าถึงระบบลับบางอย่างจากห้องทดลองของนาซ่าได้ นั่นคือความลับของจอก เพียงไม่กี่จะทำให้มันผ่านทำไมไม่มีใครใช้ความคิดการค้าถ้าพวกเขาอยู่ในแขนจริงคำตอบอาจอยู่ในจิตวิทยาของมนุษย์ พนักงานของธนาคารหลายแห่งและกองทุนรวมที่ลงทุนขนาดใหญ่รวมถึงผู้ค้าที่ทำข้อเสนอตามกฎที่เข้มงวดและอยู่ในปริมาณที่ จำกัด แต่ด้วยเหตุผลบางประการผู้ค้าสถาบันเพียงไม่กี่รายจะออกจาก บริษัท ของตนและเริ่มซื้อขายโดยใช้เงินของตัวเอง ปรากฎว่าคุณต้องไม่เพียง แต่เป็นกลยุทธ์การซื้อขายเท่านั้น แต่ยังมีระเบียบวินัยเหล็กที่จะปฏิบัติตาม พ่อค้าจำนวนมากพบว่าเสียใจที่มีปัญหาทางจิตเช่นเดียวกับที่อธิบายไว้ในหนังสือ หลังจากตระหนักว่าศัตรูที่เลวร้ายที่สุดของผู้ค้าเป็นตัวเองผู้มาใหม่จะเริ่มคิดเกี่ยวกับการสร้างหุ่นยนต์การค้าเพื่อขจัดภาระทางจิตวิทยา แม้ว่าฉันจะเบี่ยงเบนไปจากหัวข้อเล็กน้อย แต่ฉันควรพูดถึงพ่อค้าชาวเติร์กในตำนานซึ่งประสบความสำเร็จในการซื้อขายในหลายตลาดในปลายศตวรรษที่ 20 อ่านวิธีการของเต่าและคุณจะเห็นว่าสิ่งที่สำคัญที่สุดสำหรับผู้ประกอบการค้าเป็นวินัยในตนเองและไม่ได้มีระบบลับสุดยอดบางอย่าง อนิจจาผู้ที่มาใหม่ส่วนใหญ่จะไม่สามารถทำตามกลยุทธ์ที่ให้ผลกำไรแม้ว่าจะได้รับฟรี ปัญหาคือว่ากลยุทธ์การซื้อขายที่เหมาะสมที่สุดสำหรับการซื้อขายด้วยตนเองแทบจะไม่ได้รับการกรงเล็บและแปลเป็นภาษาเขียนโปรแกรม กลยุทธ์ที่สามารถกาหนดได้ง่าย (ตัวอย่างเช่นผู้ที่เกี่ยวข้องกับการตัดถนนเฉลี่ยสองจุด) ง่ายเกินไปและต้องได้รับการปรับแต่งและปรับปรุงเพื่อให้สามารถใช้งานได้จริง ดังนั้นความคิดที่เรียบง่ายจึงค่อยๆซับซ้อนขึ้นโดยพารามิเตอร์ภายนอกจำนวนมากที่ป้องกันหุ่นยนต์การค้าจากรายการที่ผิดพลาดและข้อผิดพลาดที่มองเห็นได้ชัดเจนสำหรับนักพัฒนาซอฟต์แวร์ ปัญหาการเพิ่มประสิทธิภาพของหุ่นยนต์การค้าเกิดขึ้น กระบวนการนี้ไม่ควรจะกลายเป็นการ overoptimization และเหมาะสมสำหรับช่วงเวลาที่เฉพาะเจาะจง เพื่อแก้ปัญหานี้การทดสอบไปข้างหน้าโดยใช้พารามิเตอร์ระบบที่ได้รับมีการใช้งานในเครื่องเทอร์มินัล MetaTrader 5 หากผลลัพธ์การทดสอบไปข้างหน้าไม่แตกต่างจากที่ได้รับในส่วนการเพิ่มประสิทธิภาพมีความเป็นไปได้ที่หุ่นยนต์การค้าจะมีเสถียรภาพเพียงพอสำหรับระยะเวลาหนึ่งหลังจากเปิดตัวบัญชีซื้อขายหลักทรัพย์ ระยะเวลาในการเพิ่มประสิทธิภาพพารามิเตอร์และมูลค่าที่แท้จริงของเวลานั้นขึ้นอยู่กับระบบการซื้อขายบางประเภท ดังนั้นการเพิ่มประสิทธิภาพของหุ่นยนต์การค้าก่อนที่จะเปิดตัวในบัญชีการค้าของการแจ้งเตือนของการคลี่คลายสลิง - มากขึ้นอย่างรอบคอบที่เรามี unwound และกระพือกระสุนจากสลิงที่ไกลออกไปจะบินและแม่นยำมากขึ้นวิถีจะเป็น หุ่นยนต์เทรดดิ้งที่ได้รับการพัฒนาขึ้นอย่างทั่วถึงจะให้ผลบวกในบัญชีการค้าเป็นเวลานานกว่าหุ่นยนต์การค้าที่ได้รับอันเป็นผลมาจากการติดตั้ง เราสามารถพูดได้ว่าจอกเป็นแนวคิดการทำงานและการปรับค่าพารามิเตอร์ที่ถูกต้องในบางช่วงเวลาในช่วงเวลาของการเปลี่ยนแปลงสภาวะตลาด สิ่งนี้สามารถอธิบายได้จากผลการแข่งขัน Automated Trading Championship ซึ่งจัดขึ้นเป็นเวลาหลายปีแล้ว ที่ปรึกษาผู้เชี่ยวชาญของผู้เข้าร่วมทั้งหมดผ่านการทดสอบโดยอัตโนมัติในช่วงเวลาตั้งแต่เดือนมกราคมถึงปลายเดือนกรกฎาคม ข้อกำหนดหลักสำหรับการผ่านการทดสอบอัตโนมัติคือกำไรที่ได้รับเป็นเวลาแปดเดือนของการทดสอบ แต่น้อยกว่าครึ่งหนึ่งของหุ่นยนต์การค้าเข้ารับการรักษาแชมป์ยังคงมีผลกำไรหลังจากที่คุณเดือนของการทำงานเป็นอิสระ นอกจากนี้คุณยังสามารถลองใช้ทักษะในการทำและปรับหุ่นยนต์การค้าของคุณเพื่อเข้าร่วมการแข่งขันชิงแชมป์และรับผลการทดสอบล่วงหน้าจากผู้เชี่ยวชาญของคุณ นอกจากนี้การมีส่วนร่วมเป็นอิสระและรางวัลที่ได้รับเป็นที่น่าประทับใจ เราหวังว่าจะได้พบคุณที่นั่นบทสรุปผู้ค้ามืออาชีพในตลาดหลักทรัพย์มักใช้เวลาหลายชั่วโมงนั่งอยู่ที่คอมพิวเตอร์และรอสักครู่เพื่อดำเนินการ แน่นอนพวกเขาไม่สามารถอยู่ในสภาพดีได้ตลอดเวลา ผู้ค้าส่วนใหญ่สรุปได้ว่าการกระทำของตนละเมิดกฎการซื้อขายของตนเอง ระบบการซื้อขายบางระบบอาจไม่ได้รับการกรงเล็บอย่างสมบูรณ์ แต่แม้แต่ระบบดังกล่าวก็สามารถใช้เครื่องมือเพิ่มเติมเช่นตัวบ่งชี้ระบบวิเคราะห์และตัวกรองสัญญาณเท็จได้ เราไม่ได้ให้คำแนะนำพิเศษเกี่ยวกับการเรียนรู้ภาษา MQL4 หรือ MQL5 เนื่องจากมีบทความที่เป็นประโยชน์อื่น ๆ อีกมากมายเกี่ยวกับเรื่องดังกล่าว จุดประสงค์ของบทความนี้คือเพื่อให้แนวคิดเบื้องต้นเกี่ยวกับวิธีเริ่มต้นสร้างหุ่นยนต์การค้าสำหรับเทอร์มินัล MetaTrader 4 และ MetaTrader 5 เราหวังว่าบทความนี้จะช่วยประหยัดเวลาสำหรับผู้มาใหม่และแสดงทิศทางที่ถูกต้องในงานที่ยากในการพัฒนาระบบการซื้อขายอัตโนมัติ คำเตือน: ลิขสิทธิ์ MQL5 จำกัด สงวนสิทธิ์ในการใช้วัสดุเหล่านี้ห้ามคัดลอกหรือพิมพ์ใหม่ของวัสดุเหล่านี้ทั้งหมดหรือบางส่วนห้ามใช้สร้างระบบการซื้อขายอัตโนมัติของคุณด้วยตัวเองใน Python วิธีการสร้างระบบการซื้อขายอัตโนมัติของคุณโดยอัตโนมัติใน Python รายละเอียดหลักสูตร: ในสัมมนานี้คุณจะได้เรียนรู้วิธีการพัฒนาคู่ค้าสกุลเงิน CFD และระบบการซื้อขายอัตโนมัติโดยใช้ Python และแพลตฟอร์ม Oanda ในตอนท้ายของการสัมมนาคุณจะสามารถ: ทำความเข้าใจเกี่ยวกับกวางของ Python และระบบนิเวศของตนใช้แพลตฟอร์ม Oanda และ API Extract live rates ของตลาดดาวน์โหลดรายการเครื่องมือทางการค้า (คู่สกุลเงิน CFD และสินค้าโภคภัณฑ์) บน Oanda แพลตฟอร์มรับข้อมูลบัญชีการใช้มาร์จินใบสั่งซื้อแบบเปิด รายละเอียดหลักสูตร: ในสัมมนานี้คุณจะได้เรียนรู้วิธีการพัฒนาคู่ค้าสกุลเงิน CFD และระบบการซื้อขายอัตโนมัติแบบใช้สินค้าโดยใช้ Python และแพลตฟอร์ม Oanda ในตอนท้ายของการสัมมนาคุณจะสามารถ: ทำความเข้าใจเกี่ยวกับกวางของ Python และระบบนิเวศของตนใช้แพลตฟอร์ม Oanda และ API Extract live rates ของตลาดดาวน์โหลดรายการเครื่องมือทางการค้า (คู่สกุลเงิน CFD และสินค้าโภคภัณฑ์) บน Oanda (ดูแก้ไขหรือปิด) ดาวน์โหลดประวัติการทำธุรกรรม (การตรวจสอบปรับเปลี่ยนหรือปิด) ดาวน์โหลดประวัติการทำธุรกรรมเพื่อแก้ไขปัญหาการทำธุรกรรม การวิเคราะห์เพิ่มเติม Stream อัตราตลาดสดสัมมนานี้นำเสนอโดย Anthony Ng, NYP วิทยากร Anthony Ng: เป็นอาจารย์อาวุโสที่ Nanyang Polytechnic การสอนการธนาคารการคลังการลงทุนและการจัดการพอร์ตโฟลิโอ เขาช่วยให้ Quantopian ดำเนินการ Workshop การค้าขั้นตอนปฏิบัติในสิงคโปร์และได้นำเสนอใน QuantCon Singapore 2016 เมื่อเร็ว ๆ นี้ในหัวข้อ Time Series Momentum หลงใหลกับการเงินวิทยาศาสตร์ข้อมูลและหลามแอนโธนีชอบการวิจัยการสอนและการแบ่งปันในหัวข้อเหล่านี้ แอนโธนีศึกษาครุศาสตรมหาบัณฑิตสาขาวิศวกรรมทางการเงินที่ NUS Singapore คุณสามารถเข้าถึงหรือติดตามเขาได้ที่: 8 ผู้เข้าร่วมประชุม (30 เชิญ) MetaTrader 5 - ตัวอย่างสร้างหุ่นเทรดดิ้งของคุณเองใน 6 ขั้นตอนอีกครั้งหนึ่งเกี่ยวกับ MQL5 Wizard โลกรอบตัวเรากำลังมีการเปลี่ยนแปลงอย่างรวดเร็วและเราพยายามติดตามให้ทัน เราไม่มีเวลาเรียนรู้อะไรใหม่ ๆ และนี่เป็นทัศนคติปกติของมนุษย์ธรรมดา ผู้ค้าเป็นเหมือนคนอื่น ๆ พวกเขาต้องการได้ผลลัพธ์สูงสุดสำหรับความพยายามขั้นต่ำ เป็นพิเศษสำหรับผู้ค้า MetaEditor 5 มี MQL5 Wizard ที่ยอดเยี่ยม มีหลายบทความที่อธิบายถึงวิธีการสร้างระบบการซื้อขายอัตโนมัติโดยใช้วิซาร์ดรวมทั้งตัวช่วยสร้าง MQL5 ของรุ่น Dummies และรุ่นจากนักพัฒนาซอฟต์แวร์ - MQL5 Wizard: New Version ทุกอย่างดูดี - หุ่นยนต์การค้าสร้างขึ้นใน 5 คลิกเมาส์คุณสามารถทดสอบได้ในเครื่องมือทดสอบกลยุทธ์และเพิ่มประสิทธิภาพพารามิเตอร์ของระบบการซื้อขายคุณสามารถให้การค้าหุ่นยนต์ที่เกิดขึ้นในบัญชีของคุณโดยไม่จำเป็นต้องทำอะไรด้วยตัวเอง . แต่ปัญหาเกิดขึ้นเมื่อนักพัฒนาซอฟต์แวร์ traderMQL5 ต้องการสร้างบางสิ่งบางอย่างของตัวเองซึ่งเป็นเอกลักษณ์เฉพาะซึ่งไม่เคยมีการอธิบายมาก่อนและจะเขียนโมดูลการซื้อขายสัญญาณของตัวเอง พ่อค้าเปิดเอกสาร MQL5 ไปที่ห้องสมุดมาตรฐานและหวาดกลัวเพื่อดู Five Terrible Classes แท้จริงตัวช่วยสร้าง MQL5 ช่วยลดความยุ่งยากในการสร้าง Expert Advisors แต่ก่อนอื่นคุณต้องเรียนรู้ว่าจะใช้อะไรเป็นข้อมูลป้อนข้อมูล เมื่อต้องการสร้างที่ปรึกษาผู้เชี่ยวชาญโดยอัตโนมัติโดยใช้ตัวช่วยสร้าง MQL5 ตรวจสอบให้แน่ใจว่าส่วนประกอบต่างๆสอดคล้องกับคลาสพื้นฐานห้าส่วนของชั้นเรียนพื้นฐานของที่ปรึกษาผู้เชี่ยวชาญ: CExpertBase เป็นคลาสพื้นฐานสำหรับสี่ชั้นเรียนอื่น ๆ CExpert คือคลาสสำหรับการสร้างหุ่นยนต์การค้าซึ่งเป็นคลาสที่ค้าขาย CExpertSignal เป็นคลาสสำหรับการสร้างโมดูลของสัญญาณการซื้อขายบทความเกี่ยวกับชั้นนี้ CExpertTrailing เป็นคลาสสำหรับการติดตาม Stop Loss ที่ป้องกันไว้ CExpertMoney เป็นชั้นการจัดการเงิน นี่คือแรงทั้งหมดของวิธีการที่ดีและน่ากลัวที่เรียกว่าการเขียนโปรแกรมเชิงวัตถุ (OOP) แต่อย่ากลัวเลยตอนนี้เกือบทุกคนมีโทรศัพท์มือถือที่มีฟังก์ชั่นมากมายและแทบไม่มีใครรู้ว่ามันทำงานอย่างไร เราไม่จำเป็นต้องศึกษาเรื่องทั้งหมดนี้เราจะพูดถึงเฉพาะฟังก์ชั่นบางอย่างของคลาส CExpertSignal เท่านั้น ในบทความนี้เราจะผ่านขั้นตอนของการสร้างโมดูลของสัญญาณการซื้อขาย และคุณจะเห็นวิธีการทำเช่นนี้โดยไม่ต้องเรียนรู้ OOP หรือชั้นเรียน แต่ถ้าคุณต้องการคุณสามารถไปอีกเล็กน้อยแล้ว 1. การสร้าง Class จาก Scratch เราจะไม่ปรับเปลี่ยนโมดูลที่มีอยู่ของสัญญาณการซื้อขายใด ๆ ตามความต้องการของเราเพราะเป็นวิธีที่ทำให้เกิดความสับสน ดังนั้นเราจะเขียนชั้นเรียนของเราเอง แต่ก่อนอื่นเราจะใช้ Navigator เพื่อสร้างโฟลเดอร์ใหม่เพื่อจัดเก็บสัญญาณของเราใน MQL5IncludeExpert คลิกขวาที่โฟลเดอร์ที่เราสร้างขึ้นเลือกไฟล์ใหม่และสร้างคลาสใหม่สำหรับโมดูลของเราในการซื้อขายสัญญาณ กรอกข้อมูลในฟิลด์: Class Name - ชื่อชั้นเรียน นี้จะเป็นโมดูลสำหรับการสร้างสัญญาณที่จุดตัดของสองค่าเฉลี่ยเคลื่อนที่เพื่อให้ชื่อ MACross Base Name คือคลาสที่มาจากชั้นเรียนของเรา และเราควรได้รับมาจากคลาสพื้นฐาน CExpertSignal คลิก Finish และร่างโมดูลของเราพร้อมแล้ว อยู่ทางตะวันออกทั้งหมด เราจำเป็นต้องเพิ่มคำประกาศ include ลงในไฟล์ผลลัพธ์เพื่อให้คอมไพเลอร์รู้จักที่จะหาคลาสพื้นฐาน CExpertSignal ตรวจสอบชั้นที่เกิด (ต้องไม่มีข้อผิดพลาดในการคอมไพล์) และคลิก F7 ไม่มีข้อผิดพลาดและเราสามารถก้าวต่อไปได้ 2. ชั้นเรียนของเราว่างเปล่าไม่มีข้อผิดพลาดใด ๆ และเราสามารถทดสอบได้ - ให้ลองสร้างที่ปรึกษาผู้เชี่ยวชาญใหม่ใน MQL5 Wizard ขึ้นอยู่กับข้อมูลนี้ เราเข้าถึงขั้นตอนการเลือกโมดูลของสัญญาณการซื้อขายและดู ว่าโมดูลของเราไม่อยู่ที่นั่น เราจะไม่เพิ่มข้อบ่งชี้ใด ๆ สำหรับ MQL5 Wizard เพื่อทำความเข้าใจว่าชั้นเรียนของเราอาจมีประโยชน์ ช่วยแก้ไขปัญหานี้ ถ้าคุณดูโมดูลของแพคเกจมาตรฐานคุณจะเห็นว่าแต่ละไฟล์มีส่วนหัวที่จุดเริ่มต้นของไฟล์ นี่เป็นหมายเลขอ้างอิงของโมดูลที่รวบรวมตามกฎบางอย่าง และกฎง่ายมาก เปิดตัวอย่างเช่นรหัสแหล่งที่มาของโมดูลของสัญญาณการซื้อขาย AMA (ดูคำอธิบายลอจิกในสัญญาณของค่าเฉลี่ยเคลื่อนที่ที่ปรับได้) และเรียกใช้ตัวช่วยสร้าง MQL5 เลือกโมดูลนี้ เปรียบเทียบ: บล็อกสุดท้ายในหมายเลขอ้างอิงหมายถึงพารามิเตอร์ของโมดูลบรรทัดแรกประกอบด้วยชื่อของโมดูลที่จะแสดงในตัวช่วยสร้าง MQL5 อย่างที่คุณเห็นไม่มีอะไรซับซ้อน ดังนั้นหมายเลขอ้างอิงของแต่ละโมดูลประกอบด้วยรายการต่อไปนี้: ชื่อ - ชื่อโมดูลที่จะแสดงในตัวช่วยสร้าง MQL5 Type - รุ่นของโมดูลของสัญญาณ ต้องเป็น SignalAdvanced เสมอ ชื่อ - ชื่อของโมดูลหลังจากที่ได้รับเลือกไว้ใน MQL5 Wizard และใช้ในข้อคิดเห็นสำหรับการอธิบายพารามิเตอร์ภายในของ Expert Advisor ที่สร้างขึ้น (ระบุไว้อย่างชัดเจน) ShortName - คำนำหน้าสำหรับการตั้งชื่อพารามิเตอร์ภายนอกโดยอัตโนมัติใน Expert Advisor ที่สร้างขึ้น (ในรูปแบบ SignalltShortNamegtltParameterNamegt) Class - ชื่อของที่มีอยู่ในโมดูล เพจ - พารามิเตอร์เพื่อขอความช่วยเหลือสำหรับโมดูลนี้ (เฉพาะสำหรับโมดูลจากการจัดส่งแบบมาตรฐาน) ถัดไปมาอธิบายของพารามิเตอร์ในรูปแบบของ Parameterlistofvalues ​​ซึ่งระบุต่อไปนี้ (comma-separated): ชื่อของฟังก์ชันเพื่อกำหนดค่าของพารามิเตอร์เมื่อเริ่มต้น Expert Advisor ชนิดพารามิเตอร์สามารถนับได้ ค่าดีฟอลต์สำหรับพารามิเตอร์ ได้แก่ ค่าที่จะถูกตั้งค่าเป็นพารามิเตอร์หากคุณไม่ได้เปลี่ยนค่าใน MQL5 Wizard คำอธิบายของพารามิเตอร์ซึ่งคุณเห็นเมื่อคุณเริ่มต้นผู้เชี่ยวชาญที่ปรึกษาที่สร้างขึ้นในตัวช่วยสร้าง MQL5 ตอนนี้การรู้ทั้งหมดนี้ช่วยให้สามารถสร้างโมดูลการซื้อขายสัญญาณของเราได้ ดังนั้นเราจึงเขียนโมดูลเพื่อรับสัญญาณการซื้อขายที่จุดตัดของค่าเฉลี่ยเคลื่อนที่สองค่า เราต้องตั้งค่าพารามิเตอร์ภายนอกอย่างน้อยสี่ค่า ได้แก่ FastPeriod - ระยะเวลาของ Fast Movement เฉลี่ย FastMethod - ประเภทของการปรับให้เรียบของค่าเฉลี่ยเคลื่อนที่เร็ว SlowPeriod - ช่วงของค่าเฉลี่ยเคลื่อนที่ช้า SlowMethod - ประเภทของการปรับให้เรียบของค่าเฉลี่ยเคลื่อนที่ช้า นอกจากนี้คุณยังสามารถเพิ่มการเปลี่ยนแปลงและประเภทของราคาเพื่อคำนวณค่าเฉลี่ยเคลื่อนที่แต่ละรายการได้ แต่จะไม่มีการเปลี่ยนแปลงอะไรที่เป็นพื้นฐาน ดังนั้นรุ่นปัจจุบันมีดังต่อไปนี้: โมดูลจัดการพร้อมและเราได้อธิบายต่อไปนี้: ชื่อที่แสดงในตัวช่วยสร้าง MQL5 - สัญญาณที่จุดตัดของค่าเฉลี่ยเคลื่อนที่ที่สอง สี่พารามิเตอร์ภายนอกเพื่อกำหนดค่าสัญญาณการซื้อขาย FastPeriod - ระยะเวลาของค่าเฉลี่ยเคลื่อนที่เร็วโดยมีค่าเริ่มต้นเท่ากับ 13 FastMethod - ประเภทของการปรับให้เรียบของค่าเฉลี่ยเคลื่อนที่เร็วเรียบง่ายโดยค่าเริ่มต้น SlowPeriod - ระยะเวลาของค่าเฉลี่ยเคลื่อนที่ช้าโดยมีค่าเริ่มต้นเท่ากับ 21. SlowMethod - ประเภทของการปรับให้เรียบของค่าเฉลี่ยเคลื่อนที่ช้าเรียบง่ายโดยค่าเริ่มต้น บันทึกการเปลี่ยนแปลงและคอมไพล์ ไม่ควรมีข้อผิดพลาดใด ๆ เรียกใช้ตัวช่วยสร้าง MQL5 เพื่อตรวจสอบ คุณเห็นโมดูลของเราพร้อมสำหรับการเลือกแล้วและแสดงพารามิเตอร์ทั้งหมดของเราขอแสดงความยินดีโมดูลการซื้อขายของเราดูดีมากตอนนี้ 3. วิธีการตั้งค่าพารามิเตอร์ตอนนี้ถึงเวลาที่ต้องใช้พารามิเตอร์ภายนอก เนื่องจากโมดูลการซื้อขายของเราแสดงโดย MACross ชั้นจากนั้นพารามิเตอร์จะต้องถูกเก็บไว้ภายในคลาสเดียวกันกับสมาชิกภาคเอกชน ให้เพิ่มสี่บรรทัด (เท่ากับจำนวนพารามิเตอร์) เพื่อประกาศคลาส ใดก็ตามเราอธิบายพารามิเตอร์ในการจัดการและรู้ต่อไปนี้: แต่อย่างไรค่าของพารามิเตอร์ภายนอกของโมดูลปรากฏในสมาชิกที่เหมาะสมของชั้น MACross ของเราทั้งหมดง่ายมากคุณจะต้องประกาศวิธีการสาธารณะที่มีชื่อเดียวกัน ในชั้นเรียนคือการเพิ่มสี่บรรทัดลงในส่วนสาธารณะ: เมื่อคุณสร้าง Expert Advisor บนพื้นฐานของโมดูลนี้โดยใช้ MQL5 Wizard และรันบนแผนภูมิสี่วิธีนี้จะถูกเรียกโดยอัตโนมัติเมื่อเริ่มต้น Expert Advisor ต่อไปนี้เป็นกฎง่ายๆกฎการสร้างพารามิเตอร์ในโมดูล - สำหรับพารามิเตอร์แต่ละตัวที่เราได้ประกาศไว้ในที่จับเราควรสร้างสมาชิกส่วนตัวในชั้นเรียนเพื่อจัดเก็บค่าและเป็นสมาชิกสาธารณะสำหรับตั้งค่าให้กับมัน . ชื่อเมธอดต้องตรงกับชื่อของพารามิเตอร์ และวินาทีสุดท้ายคือการตั้งค่าเริ่มต้นสำหรับพารามิเตอร์ของเราซึ่งจะใช้ในกรณีที่วิธีการตั้งค่าไม่ได้ถูกเรียกใช้ แต่ละตัวแปรที่ประกาศหรือสมาชิกชั้นต้องถูกเตรียมใช้งาน เทคนิคนี้ช่วยให้สามารถหลีกเลี่ยงข้อผิดพลาดที่หาได้ยากมาก สำหรับการเริ่มต้นโดยอัตโนมัติสิ่งที่เหมาะที่สุดสำหรับการรีดผ้าคือคอนเซ็ปต์คลาสเสมอมาก่อนที่จะถูกเรียกเมื่อสร้างวัตถุ สำหรับค่าดีฟอลต์เราจะใช้ค่าที่เขียนลงในที่จับโมดูล สมาชิกชั้นเรียนจะเริ่มต้นโดยใช้รายการเริ่มต้น อย่างที่คุณเห็นเรายังไม่ได้ใช้ตัวชี้วัดการเคลื่อนที่โดยเฉลี่ย เราพบกฎง่ายๆ - ตามที่ระบุไว้ในหมายเลขอ้างอิงของโมดูลหลายวิธีและสมาชิกควรอยู่ในคลาสที่ใช้โมดูล ไม่มีอะไรซับซ้อน แต่อย่าลืมกำหนดค่าดีฟอลต์ของพารามิเตอร์ใน constructor 4. ตรวจสอบความถูกต้องของพารามิเตอร์การป้อนข้อมูลเราได้สร้างพารามิเตอร์สำหรับโมดูลการซื้อขายของเราซึ่งเป็นวิธีการเขียนสำหรับการตั้งค่าให้กับพวกเขาและตอนนี้มาถึงเฟสที่สำคัญต่อไปแล้ว - ต้องตรวจสอบความถูกต้องของพารามิเตอร์ด้วย ในกรณีของเราเราต้องตรวจสอบระยะเวลาของค่าเฉลี่ยเคลื่อนที่และประเภทของการปรับให้เรียบ ในการนี้คุณควรเขียนเมธอด ValidationSettings () ของคุณเองในคลาส วิธีนี้ถูกกำหนดไว้ใน CExpertBase ระดับชั้นหลัก และในลูกหลานทั้งหมดของมันมันเป็นภาระหน้าที่ redefined แต่ถ้าคุณไม่ทราบอะไรเกี่ยวกับการเขียนโปรแกรมเชิงวัตถุเพียงจำไว้ว่า - ในชั้นเรียนของเราเราควรเขียนฟังก์ชัน ValidationSettings () ซึ่งไม่จำเป็นต้องใช้พารามิเตอร์ใด ๆ และส่งคืนค่าจริงหรือเท็จ ใดก็ตามเราสามารถเพิ่มการประกาศของเมธอด ValidationSettings () ได้จากนั้นเพิ่มเมธอดเนื้อหาในแบบฟอร์มต่อไปนี้: ก่อนอื่นจะเป็นชนิดส่งคืนจากนั้นให้ชื่อคลาส และทั้งหมดนี้ตามด้วยชื่อของวิธีการที่ประกาศก่อนหน้านี้ อย่าลืมว่าชื่อและประเภทของพารามิเตอร์ต้องตรงกับคำประกาศและคำอธิบายของเมธอดของคลาส อย่างไรก็ตามคอมไพเลอร์จะเตือนคุณเกี่ยวกับข้อผิดพลาดดังกล่าว โปรดสังเกตว่าก่อนหน้านี้เรียกว่าเมธอดชั้นฐานและพารามิเตอร์อินพุทจะถูกตรวจสอบ หากคุณไม่ได้เพิ่มบรรทัดนี้ที่ปรึกษาผู้เชี่ยวชาญที่สร้างขึ้นจะไม่สามารถเริ่มต้นโมดูลการซื้อขายของเราได้ 5. ตัวบ่งชี้ของเราอยู่ที่ใดเวลาของการทำงานกับตัวบ่งชี้เนื่องจากงานเตรียมการทั้งหมดที่มีพารามิเตอร์สำหรับพวกเขาเสร็จสมบูรณ์แล้ว แต่ละโมดูลของสัญญาณการซื้อขายมีวิธี InitIndicators () ซึ่งจะเรียกโดยอัตโนมัติเมื่อคุณเรียกใช้ Expert Advisor ที่สร้างขึ้น ในวิธีนี้เราต้องระบุตัวชี้วัดค่าเฉลี่ยเคลื่อนที่ของโมดูล First, declare the InitIndicators() method in the class and paste its draft: So there is nothing complicated, we declare the method and then simply create the method body, as we have done for the ValidationSettings() method. Above all, do not forget to insert the class name and the operator. in the function definition. We have a draft, which we can insert into a code to create moving averages. Lets do this properly - for each indicator we create a separate function in the class, which returns true if successful. The function can have any name, but let it reflect its purpose, so lets call the functions CreateFastMA() and CreateSlowMA(). Thats all, we only need to write code that generates the MA indicators and somehow integrates the handles of these indicators into the trading module, so that the module can use the values of these indicators. That is why a pointer to a variable of type CIndicators is passed as a parameter. The following is written in Documentation about it: The CIndicators is a class for collecting instances of timeseries and technical indicators classes. The CIndicators class provides creation of instanced of technical indicator classes, their storage and management (data synchronization, handle and memory management). This means that we must create our indicators and place them in this collection. Since only indicators of the CIndicator form and its children can be stored in the collection, we should use this fact. We will use CiCustom. which is the above mentioned child. For each moving average we declare an object of type CiCustom in the private part of the class: Of course, you can create your own indicator class, which will be derived from CIndicator. and implement all the necessary methods for use with the MQL5 Wizard. But in this case we want to show how you can use any custom indicator in the module of trading signals using CiCustom . Heres how it looks in the code: In the CreateFastMA() method, first check the pointer of the collection of indicators, and then add a pointer of the fast MA mfastma to this collection. Then declare the MqlParam structure, which is especially designed for storing parameters of custom indicators, and fill it with values. We use Custom Moving Average from the standard terminal delivery pack as the custom MA indicator. The name of the indicator must be indicated relative to the folder datafolderMQL5Indicators . Since Custom Moving Average. mq5 from the standard package is located in datafolderMQL5Indicators Examples, we specify its path including the Examples folder: If you look at the code for this indicator, you can see all the required data: The values of the structure contain the type-value pairs: parameter type - string (to transfer the name of the indicator) the name of the executable file of the custom indicator - Custom Moving Averages. exe parameter type - int (value of the period) period of the moving average parameter type - int (shift value) horizontal shift of the average in bars parameter type - int (enumeration value is an integer) method of averaging After filling the structure, the indicator is initialized by the Create() method of all the required parameters: symbol name and the timeframe on which it is calculated, the type of the indicator from the ENUMINDICATOR enumeration, the number of indicator parameters and the MqlParam structure with parameter values. And the last one is specifying the number of indicator buffers using the NumBuffers() method. The CreateSlowMA() method for creating the slow moving average is simple. When using custom indicators in the module, do not forget that the Expert Advisor generated by the MQL5 Wizard will also run in the tester. So at the beginning of our file we add the property property testerindicator that communicates to the tester the location of required indicators: If we use several different indicators, we should add this line for each of them. So, we have added the indicators. For more convenience, lets provide two methods of receiving MA values: As you can see, the methods are very simple, they used the GetData() method of the SIndicator parent class, which returns a value from the specified indicator buffer at the specified position. If you need classes for working with classical indicators of the standard package, they are available in section Classes for working with indicators. We are ready to proceed to the final stage. 6. Define the LongCondition and ShortCondition Methods Everything is ready to make our module work and generate trading signals. This functionality is provided by two methods that must be described in each child of CExpertSignal. LongCondition() checks the buy conditions and returns the strength of the Long signal from 0 to 100. ShortCondition() - checks the sell condition and returns the strength of the Short signal from 0 to 100 . If the function returns a null value, it means that there is no trading signal. If there are conditions for the signal, then you can estimate the strength of the signal and return any value not exceeding 100. Evaluation of the signal strength allows you to flexibly build trading systems based on several modules and market models. Read more about this in MQL5 Wizard: New Version . Since we are writing a simple module of trading signals, we can agree that the buy and sell signals are valued equally (100). Lets add necessary methods in the class declaration. Also, lets create the description of functions. This is how the buy signal is checked (its all the same with the sell signal): Note that we have declare the idx variable, to which the value returned by the StartIndex() function of the parent class CExpertBase is assigned. The StartIndex() function returns 0, if the Expert Advisor is designed to work on all ticks, and in this case the analysis starts with the current bar. If the Expert Advisor is designed to work at open prices, StartIndex() returns 1 and the analysis starts with the last formed bar. By default StartIndex() returns 1 . which means that the Expert Advisor generated by the MQL5 Wizard will only run at the opening of a new bar and will ignore incoming ticks during formation of the current bar. How to activate this mode and how it can be used will be described later in the finishing stroke. The module is ready for use, so lets create a trading robot in the MQL5 Wizard based on this module. Checking an Expert Advisor in the Tester To test the efficiency of our module, lets generate an Expert Advisor based on it in the MQL5 Wizard and run it on the chart. The Inputs tab of the appeared start window contains the parameters of the MACross module. All other parameters have also been added by the MQL5 Wizard while generating the EA based on the selected money management module and position maintenance module (Trailing Stop). Thus, we only had to write a module of trading signals and received a ready solution. This is the main advantage of using the MQL5 Wizard Now lets test the trading robot in the MetaTrader 5 Strategy Tester. Lets try to run a quick optimization of key parameters. In these settings of input parameters, more than half a million of passes is required for full optimization. Therefore, we choose fast optimization (genetic algorithm) and additionally utilize MQL5 Cloud Network to accelerate the optimization. The optimization has been done in 10 minutes and we have got the results. As you can see, creating a trading robot in MQL5 and optimization of input parameters have taken much less time than would be required for writing the position management servicing logic, debugging and searching for the best algorithms. You can skip this item or go back to it later when you are completely comfortable with the technique of writing a module of trading signals. If you open the source code of the Expert Advisor generated by the MQL5 Wizard, you will find the global variable ExpertEveryTick with the false value. Based on this variable, the StartIndex() function returns its value. It communicates to the Expert Advisor the mode it should run in. If you set ExpertEveryTick true and compile the code, the trading robot will analyze each incoming tick, and thus make decisions on the values of the current incomplete bar. Do this only if you understand how it works. Not all trading systems are designed to work inside the bar. You can also add a keyword input for the ExpertEveryTick parameter, and then you will have a new input parameter of the Expert Advisor. which you can set at the EA startup on a chart or in the tester: And now its time to summarize what we have done. 6 Steps to Create a Module of Trading Signals If you have mastered MQL5, then you no longer need to write an Expert Advisor from scratch. Just create a module of trading signals and, based on this module, automatically generate a trading robot with the enabled trailing and trade volume management modules. And even if you are not familiar with OOP or do not want to delve much into the structure of trade classes, you can just go through 6 steps: Create a new class using the MQL5 Wizard in a separate folder MQL5IncludeMySignals. Our module of trading signals will be stored there. Create a module handle that describes the parameters, their type and default values. Declare module parameters in the class and add methods for initialization in the constructor. Check the input parameters and do not forget to call ValidationSettings() of the CExpertSignal base class. Create indicator-objects and add a predefined initialization method InitIndicators(). Identify conditions of trading signals in the methods LongCondition() and ShortCondition(). Each step is simple and requires little skill in MQL5 programming. You only need to write your module once, following the instructions, and further verification of any trade idea will take no more than an hour, without tiring hours of coding and debugging. From Simple to Complex Remember that the trading strategy implemented by your trading robot created using the MQL5 Wizard, is as complex as the module of trading signals it uses. But before you start to build a complex trading system based on a set of rules for entry and exit, split it into several simple systems and check each one separately. Based on simple modules you can create complex trading strategies using the ready-made modules of trading signals, but this is a topic for another articleTrading Systems Coding Trading systems are simply sets of rules that traders use to determine their entries and exits from a position. การพัฒนาและใช้ระบบการซื้อขายสามารถช่วยให้ผู้ค้าบรรลุผลตอบแทนที่สม่ำเสมอในขณะที่จำกัดความเสี่ยง ในสถานการณ์ที่เหมาะผู้ค้าควรรู้สึกเหมือนหุ่นยนต์ดำเนินธุรกิจการค้าอย่างเป็นระบบและไม่มีอารมณ์ ดังนั้นคุณอาจถามตัวเอง: Whats หยุดหุ่นยนต์จากการซื้อขายระบบของฉันคำตอบ: ไม่มีอะไรกวดวิชานี้จะแนะนำคุณกับเครื่องมือและเทคนิคที่คุณสามารถใช้เพื่อสร้างระบบการค้าอัตโนมัติของคุณเอง วิธีการสร้างระบบการซื้อขายอัตโนมัติสร้างระบบการซื้อขายแบบอัตโนมัติที่สร้างขึ้นโดยการแปลงกฎระบบการซื้อขายของคุณเป็นรหัสที่คอมพิวเตอร์ของคุณสามารถเข้าใจได้ คอมพิวเตอร์ของคุณจะเรียกใช้กฎเหล่านี้ผ่านซอฟต์แวร์การซื้อขายของคุณซึ่งจะมองหาธุรกิจการค้าที่ปฏิบัติตามกฎของคุณ สุดท้ายธุรกิจการค้าจะถูกวางโดยอัตโนมัติกับโบรกเกอร์ของคุณ บทแนะนำนี้จะเน้นที่ส่วนที่สองและสามของกระบวนการนี้ซึ่งกฎของคุณจะถูกแปลงเป็นรหัสที่ซอฟต์แวร์การซื้อขายของคุณสามารถเข้าใจและใช้ได้ ซอฟต์แวร์เทรดดิ้งอะไรรองรับระบบการซื้อขายอัตโนมัติมีโปรแกรมการซื้อขายมากมายที่สนับสนุนระบบการซื้อขายอัตโนมัติ บางคนจะสร้างและวางธุรกิจการค้ากับโบรกเกอร์ของคุณโดยอัตโนมัติ คนอื่น ๆ จะค้นหาธุรกิจการค้าที่ตรงกับเกณฑ์ของคุณโดยอัตโนมัติ แต่คุณต้องสั่งซื้อด้วยตนเองด้วยตนเอง นอกจากนี้โปรแกรมซื้อขายอัตโนมัติโดยทั่วไปมักต้องการให้คุณใช้โบรกเกอร์เฉพาะที่สนับสนุนคุณสมบัติดังกล่าวคุณอาจต้องกรอกแบบฟอร์มการให้สิทธิ์เพิ่มเติม ข้อดีและข้อเสียระบบการค้าอัตโนมัติมีประโยชน์หลายประการ แต่ก็มีข้อเสียของพวกเขา เพราะหากมีระบบการซื้อขายที่ทำเงินโดยอัตโนมัติตลอดเวลาเขาหรือเธอจะเป็นเจ้าของเครื่องทำเงินข้อดี: ระบบอัตโนมัติจะใช้อารมณ์และการทำงานที่ไม่ว่างออกจากการซื้อขายซึ่งช่วยให้คุณสามารถมุ่งเน้นการปรับปรุง กลยุทธ์และกฎการจัดการเงินของคุณ 13 เมื่อระบบที่มีกำไรได้รับการพัฒนาแล้วจะต้องไม่มีการทำงานในส่วนของคุณจนกว่าจะหยุดพักหรือสภาวะตลาดต้องการการเปลี่ยนแปลง ข้อเสีย: ถ้าระบบไม่ได้รับการเข้ารหัสและทดสอบอย่างถูกต้องขาดทุนขนาดใหญ่อาจเกิดขึ้นได้อย่างรวดเร็ว 13 บางครั้งก็เป็นไปไม่ได้ที่จะใส่กฎบางอย่างลงในรหัสซึ่งทำให้ยากที่จะพัฒนาระบบการซื้อขายอัตโนมัติ ในแบบฝึกหัดนี้คุณจะได้เรียนรู้วิธีการวางแผนและออกแบบระบบการซื้อขายอัตโนมัติวิธีการแปลการออกแบบนี้เป็นรหัสที่คอมพิวเตอร์ของคุณจะเข้าใจวิธีทดสอบแผนการของคุณเพื่อให้มั่นใจถึงประสิทธิภาพที่ดีที่สุดและในที่สุดจะนำระบบของคุณไปใช้อย่างไร ผู้ค้าระบบแบ่งช่วงเวลาระหว่างการซื้อขายการพัฒนา backtesting การเพิ่มประสิทธิภาพและการทดสอบเพื่อสร้างระบบการซื้อขายที่เป็นไปได้และน่าจะเป็นไปได้สูง ซอฟต์แวร์เทรดอัตโนมัติแบบอัตโนมัติจะสแกนตลาดการค้าที่ดีตามข้อมูลของคุณ ค้นหาข้อมูลเพิ่มเติมเกี่ยวกับเครื่องมือ forex อันมีค่านี้ ระบบการซื้อขายสามารถประหยัดเวลาและนำอารมณ์ออกจากการซื้อขาย แต่การนำเอาทักษะและทรัพยากรมาใช้ - เรียนรู้เพิ่มเติมที่นี่ โบรกเกอร์ส่วนใหญ่จะให้ข้อมูลทางการค้าแก่คุณ แต่ก็มีความสำคัญในการติดตามด้วยตัวคุณเอง ซอฟต์แวร์ทำให้การซื้อขายทั้งวันเป็นไปอย่างรวดเร็วและอัตโนมัติ - ยิ่งมีเหตุผลมากขึ้นในการเลือกใช้ผลิตภัณฑ์ที่เหมาะสมกับความต้องการของคุณให้มากที่สุดเท่าที่จะเป็นไปได้ คำถามที่พบบ่อยคำว่า "คูเมืองเศรษฐกิจ" ที่ได้รับการประกาศเกียรติคุณและเป็นที่นิยมโดย Warren Buffett หมายถึงความสามารถในการทำธุรกิจเพื่อรักษาข้อได้เปรียบในการแข่งขัน เรียนรู้ความแตกต่างระหว่างการเป็นหุ้นส่วนทั่วไปและการเป็นหุ้นส่วนที่จำกัดความรับผิดในแต่ละประเภทมีลักษณะเฉพาะผลประโยชน์ ค้นพบประวัติความเป็นมาของ SampP 500 ซึ่งผู้เข้าร่วมตลาดที่มีความซับซ้อนถือว่าเป็นดัชนีที่ดีที่สุดในการทำความเข้าใจ ค้นหาว่าประเทศใดมีอัตราภาษีนำเข้าที่ จำกัด มากที่สุดสำหรับผลิตภัณฑ์จากต่างประเทศโดยอิงจากข้อมูลที่รวบรวมโดย คำถามที่พบบ่อยคำว่า "คูเมืองเศรษฐกิจ" ที่ได้รับการประกาศเกียรติคุณและเป็นที่นิยมโดย Warren Buffett หมายถึงความสามารถในการทำธุรกิจเพื่อรักษาข้อได้เปรียบในการแข่งขัน เรียนรู้ความแตกต่างระหว่างการเป็นหุ้นส่วนทั่วไปและการเป็นหุ้นส่วนที่จำกัดความรับผิดในแต่ละประเภทมีลักษณะเฉพาะผลประโยชน์ ค้นพบประวัติความเป็นมาของ SampP 500 ซึ่งผู้เข้าร่วมตลาดที่มีความซับซ้อนถือว่าเป็นดัชนีที่ดีที่สุดในการทำความเข้าใจ ค้นหาว่าประเทศใดมีอัตราภาษีนำเข้าที่ จำกัด มากที่สุดสำหรับผลิตภัณฑ์จากต่างประเทศโดยอิงจากข้อมูลที่รวบรวมโดย

No comments:

Post a Comment