Friday 18 August 2017

Forex ซื้อขาย Metatrader ตัวชี้วัด และ ผู้เชี่ยวชาญ ที่ปรึกษา กวดวิชา


ตัวบ่งชี้การสอนเพื่อที่ปรึกษาผู้เชี่ยวชาญกรุณากรุณาคนใดสำหรับการแปลงตัวบ่งชี้ที่กำหนดเองรหัส EA รหัสขอบคุณ ตัวบ่งชี้คุณสมบัติ 1 ตัวบ่งชี้คุณสมบัติบ่งชี้สถานที่ให้บริการ 5 ตัวบ่งชี้คุณสมบัติ 1 ตัวชี้วัดคุณสมบัติ DimGray 2 ตัวบ่งชี้คุณสมบัติสีแดง 3 ตัวบ่งชี้คุณสมบัติของสี LimeGreen4 ตัวบ่งชี้คุณสมบัติสีแดง 5 ตัวชี้วัดคุณสมบัติสีฟ้า 1 STYLEDOT สตริงภายนอกสตริงภายนอก TimeFrame กรอบเวลาปัจจุบันของเวลาภายนอก int ความยาวคลื่น 56 ภายนอก int ราคา PRICEWEIGHTED ภายนอกคู่แถบ 2Deviations 2.5 extern bool แทรกแซง extern bool จริง extern bool alertsOnHighLow จริง extern bool alertsOneHighLow จริง extern bool alertsMessage จริง extern bool alertsSound false extern bool alertsEmail เท็จคู่ tmBuffer ดับเบิ้ลอัพบัฟเฟอร์ double dnBuffer double wuBuffer ดับเบิลดับบลิวดับเบิลคลิกดับเบิลดับเบิ้ลอัพดับเบิลคลิก dnArrow string IndicatorFileName bool คำนวณเทมเพลต bool returnBars false int timeFrame int init () timeFrame stringToTimeFrame TimeFrame) HalfLength MathMax (HalfLength, 1) IndicatorBuffers (7) SetIndexBuffer (0, tmBuffer) SetIndexDrawBegin (0, HalfLength) SetIndexBuffer (1, upB uffer) SetIndexDrawBegin (1, HalfLength) SetIndexBuffer (2, dnBuffer) SetIndexDrawBegin (2, HalfLength) SetIndexBuffer (3, dnArrow) SetIndexStyle (3, DRAWARROW) SetIndexArrow (5,242) SetIndexBuffer (4, upArrow) SetIndexStyle (4, DRAWARROW) SetIndexArrow ( (0) int deinit () เริ่มต้น int () int countedbarsIndicatorCounted () int i จำกัด ถ้า (countedbarslt0) return (-1) if (countedbarsgt0) setIndexBuffer (5, wuBuffer) SetIndexBuffer (6, wdBuffer) IndicatorFileName WindowExpertName ) countedbars-- limitMathMin (Bars-1, Bars-countedbarsHalfLength) if (returnsBars) if (calculate tma) if (timeFrame gt Period ()) จำกัด MathMax (ขีด จำกัด MathMin (บาร์ -1, iCustom (NULL, timeFrame, IndicatorFileName, quotreturn (i จำกัด i i 0) i (i, i 0, i 0, i 0, i 0, i 0, 0, 0, 0, 0, 0, 0, 0, 0, , quotardculat eTmaquot, HalfLength, ราคา, วงดนตรี, 0, กะ 1) upBufferi iCustom (NULL, timeFrame, IndicatorFileNam e, quotcalculat eTmaquot, HalfLength, ราคา, แถบเลื่อน, 1, shift1) dnBufferi iCustom (NULL, timeFrame, IndicatorFileName, quotcalculat eTmaquot, HalfLength, ราคา, การลดระดับ, 2, กะ 1) upArrowi EMPTYVALUE dnArrowi EMPTYVALUE ถ้า (Highi1gtupBufferi1 ampamp Closei1gtOpeni1 ampamp CloseiltOpeni) upArrowi HighiiATR (NULL, 0,20, i) ถ้า (Lowi1ltdnBufferi1 ampamp Closei1ltOpeni1 ampamp CloseigtOpeni) dnArrowi Highi-iATR (NULL, 0,20, i) ถ้า (ระยะเวลาเฟรมระยะเวลา () shift1iBarShift (NULL, timeFrame, Timei-1)) ดำเนินการต่อ ถ้า (Interpolate) ดำเนินต่อไป (int n 1 ใน lt Bars ampamp Timein gt time1 n) ต่อปัจจัยสองครั้ง 1.0 n สำหรับ (int k 1 k lt nk) tmBufferik kfactortmBufferin (1.0-kfactor) tmBufferi upBufferik kfactorupBufferin (1.0-kfactor) upBufferi dnBufferik kfactordnBufferin (1.0-kfactor) dnBufferi if (alertsOn) if (alertsOnCurrent) int forBar 0 else forBar 1 if (alertsOnHighLow) if (HighforBar gt upBufferforBar ampamp HighforBar1 lt upBufferforBar1) doAlert (quothigh เจาะด้านบน barquot) ถ้า (CloseforBar gt upBufferforBar ampamp CloseforBar1 lt upBufferforBar1) doAlert (ใส่ไว้ด้านบน barquot) ถ้า (CloseforBar lt dnBufferforBar ampamp CloseforBar1 gt dnBufferforBar1) doAlert (ใส่ลงในช่วงล่างต่ำกว่า void calculateTma (int limit) int i, j, k คู่ FullLength 2.0HalfLength1.0 สำหรับ (ilimit igt0 i--) double sum (HalfLength1) iMA (NULL, 0,1,0, MODESMA, Price, i) double sumw (HalfLength1) สำหรับ (j1, kHalfLength jltHalfLength j, k -) sum kiMA (NULL, 0,1,0, MODESMA, Price, ij) sumw k if (jlti) sum kiMA (NULL, 0,1,0, MODESMA, Price, ij) sumw k tmBufferi sumsumw double diff iMA (NULL, 0,1,0, MODESMA, Price, i) - tmBufferi ถ้า (igt (Bars-HalfLength-1)) ดำเนินการต่อถ้า (i (บาร์ - HalfLength - 1)) upBufferi tmBufferi dnBufferi tmBufferi if (diffgt0) wuBufferi MathPow (ต่าง, 2) wdBufferi 0 else wdBufferi MathPow (ต่าง, 2) wuBufferi 0 ดำเนินการต่อถ้า (diffgt0) wuBufferi ( wuBufferi1 (FullLength-1) MathPow (diff, 2)) FullLength wdBufferi wdBufferi1 (FullLength-1) FullLength อื่น wdBufferi (wdBufferi1 (FullLength-1) MathPow (diff, 2)) FullLength wuBufferi1 (ความยาวคลื่น FullLength-1) FullLength upBufferi แถบ tmBufferiDeviationsMathSqrt (wuBufferi) dnBufferi tmBufferi - BandsDeviationsMathSqrt (wdBufferi) เป็นโมฆะ doAlert (สตริง doWhat) สตริงแบบคงที่ก่อนหน้านี้อาร์เรย์สตริงที่เป็นค่าคงที่ก่อนหน้านี้ถ้า previousTime Time0 ข้อความ StringConcatenate (Symbol (), quot at TimeToStr (TimeLocal () TIMESECONDS), THA ข้อความ) if (alertsEmail) SendMail (StringConcatenate (Symbol (), quotTMA quot) ข้อความ) if (alertSound) PlaySound (quotalert2.wavquot) int stringToTimeFrame (string tfs) for (int l StringLen (tfs) -1 l gt 0 l-) int char StringGetChar (tfs, l) ถ้า ((char gt 96 ampamp char lt 123) (char gt 223 ampamp char ls 256)) tfs StringSetChar (tfs, 1, char - 32) else if (char gt -33 ampamp char lt 0) tfs StringSetChar (tfs, 1, char 224) int tf0 if (tfsquotM1quot tfsquot1quot) tfPERIODM1 ถ้า (tfsquotM5quot tfsquot5quot) tfPERIODM5 ถ้า (tfsquotM15quot tfsquot15quot) tfPERIODM15 ถ้า (tfsquotM30quot tfsquot30quot) ถ้า tfPERIODM30 (tfsquotH1quot tfsquot60quot) tfPERIODH1 ถ้า (tfsquotH4quot tfsquot240quot) tfPERIODH4 ถ้า (tfsquotD1quot tfsquot1440quot) tfPERIODD1 ถ้า (tfsquotW1quot tfsquot10080quot) tfPERIODW1 ถ้า (tfsquotMNquot tfsquot43200quot) tfPERIODMN1 ถ้า (tf0 tfltPeriod ()) tfPeriod () ผลตอบแทน (TF) นี่คือสอง ส่วนหนึ่งของรหัส MQL4 การสนทนาเกี่ยวกับวิธีสร้างความเรียบง่าย e ที่ปรึกษาผู้เชี่ยวชาญของ Metatrader ใช้ RSI ที่ซื้อขายเพียงครั้งเดียวต่อบาร์ ในตอนท้ายของตอนที่ 2 สามารถดาวน์โหลดแม่แบบ RSI EA ที่ทำงานได้อย่างสมบูรณ์ นอกจากนี้รหัสจะอ้างอิงกราฟช่วงเวลาที่แตกต่างกันสำหรับ RSI ดังนั้นหากคุณสนใจที่จะเรียนรู้วิธีการอ้างอิงกรอบเวลาที่แตกต่างจากภายในอีเอสกวดวิชานี้ควรพิสูจน์ข้อมูล บทแนะนำรหัส MQL4 นี้เป็นหัวข้อต่อไปนี้เพื่อสร้างการซื้อขายเพียง 1 รายการต่อบาร์ในที่ปรึกษาผู้เชี่ยวชาญ MT4 ของ forex บทความนี้จะขยายแนวคิดแบบง่ายๆและโค้ดปัจจุบันซึ่งอาจใช้เป็นเทมเพลตในแอพพลิเคชันที่ปรึกษาผู้เชี่ยวชาญหลาย ๆ แบบและมีตัวบ่งชี้ที่หลากหลายรวมทั้ง RSI ตามที่ได้กล่าวไว้ในบทแนะนำ MQL4 ก่อนหน้าคีย์ที่ใช้ในการซื้อขายเพียงครั้งเดียวต่อบาร์คือการห่อหุ้มตรรกะการซื้อขายภายในบล็อกเงื่อนไขที่ใช้ตัวแปรระดับโมดูลเพื่อติดตามหมายเลขบาร์โดยใช้ตัวแปรบาร์ MQL4 มีตัวบ่งชี้ที่มีอยู่หลายตัวซึ่งอาจใช้ในการสร้างระบบ การใช้ RSI ใน MQL4 ฟังก์ชัน iBarShift จะส่งกลับค่าการเปลี่ยนแท่งสำหรับช่วงเวลาที่กำหนด ในโค้ดด้านล่างแถบปัจจุบัน Time0 จะถูกอ้างอิง หากใช้รหัสนี้ในแผนภูมิอื่นที่ไม่ใช่กราฟ 1 ชั่วโมงลำดับแถบอาจไม่สามารถคาดการณ์ได้ IBarShift ช่วยในการกำหนดแถบที่ถูกต้องหรือแถบที่อยู่ใกล้ที่สุดหากตั้งค่าเทอมสุดท้ายเป็น false ค่าที่ส่งคืนอาจถูกป้อนได้ทุกที่ที่จำเป็นต้องใช้พารามิเตอร์ shift เช่นในฟังก์ชัน iRSI RSI หรือ Relative Strength Index อาจถูกอ้างถึงในรหัส MQL4 และมีการประกาศดังต่อไปนี้: double iRSI (สัญลักษณ์สตริง int timeframe ช่วง int int ที่ใช้ประโยชน์ int shift) คำที่หนึ่งคือสัญลักษณ์และหากหมายถึงสัญลักษณ์ปัจจุบัน อาจถูกป้อนเป็น NULL หรือ Symbol () หรือแม้กระทั่งประสบความสำเร็จเป็น 0 (แม้ว่าการปฏิบัติที่ดีที่สุดแนะว่าคุณควรใช้ NULL แทน 0) ทั้งหมดที่มีความหมายเทียบเท่า ระยะที่สองคือระยะเวลาและอาจถูกป้อนเป็น 0 สำหรับช่วงเวลาของแผนภูมิที่เลือกในปัจจุบันหรือเป็นค่าการแจงนับไทม์ไลน์ที่กำหนดไว้ล่วงหน้าอย่างใดอย่างหนึ่ง (โปรดดูที่ไฟล์ความช่วยเหลือของคุณภายใต้ iRSI สำหรับรายละเอียดเพิ่มเติม) ในตัวอย่างนี้ตัวแปร PERIODH1 ใช้สำหรับอ้างอิงข้อมูลจากแผนภูมิ 1 ชั่วโมง ระยะเวลาที่สามหมายถึงความยาวของ RSI ที่ใช้ตัวแปร RSILength (ด้านล่าง) usedprice หมายถึงราคาของบาร์ใกล้เคียงกับ (PRICECLOSE) หรือสูง (PRICEHIGH) shift หมายถึงจำนวนบาร์ที่จะเปลี่ยน RSI สำหรับการคำนวณ ตัวอย่างเช่นในการคำนวณ RSI จาก 5 บาร์ที่ผ่านมาคุณจะใช้ 5 ในระยะ 5 สำหรับตัวอย่างนี้ไม่มีการใช้ shift ดังนั้นจะใช้ 0 (ด้านล่าง) หลังจากสร้างอินพุตภายนอกสำหรับ RSILength และอินพุทสองอินพุทสำหรับเกณฑ์ซื้อและขายสำหรับค่า RSI ที่ 70 และ 30 ตามลำดับโค้ดจะมีลักษณะดังนี้ extern int RSILength 14 extern int BuyThreshold 70 int ภายนอก SellThreshold 30 extern double Lots 0.01Forex Blog 4 เปิดโฟลเดอร์ MQL4 (หรือ MQL5 ถ้าคุณกำลังติดตั้งตัวบ่งชี้ MT5): 5. เปิดโฟลเดอร์ตัวบ่งชี้: 6. วางไฟล์ตัวบ่งชี้ที่นี่: 7. ถ้าเป็นไฟล์ที่คอมไพล์แล้ว (.ex4 หรือ. ex5) จากนั้นปรับ สิ่งที่คุณต้องทำก็คือกลับไปที่ MetaTrader ของคุณคลิกขวาที่ Indicators ใน Navigator subwindow แล้วคลิก Refresh ตัวบ่งชี้ใหม่จะปรากฏใน Navigator subwindow เดียวกัน: 8. ถ้าไม่ใช่ไฟล์ที่คอมไพล์ แต่เป็นไฟล์ต้นฉบับ (.mq4 หรือ. mq5) จากนั้นคุณต้องดับเบิลคลิกที่ไอคอน 8212 จะเปิดขึ้นใน MQL Editor ( รวมอยู่ในแพคเกจ MetaTrader) ตอนนี้กด F7 หรือคลิกปุ่มคอมไพล์: โดยปกติแล้วจะไม่มีข้อผิดพลาดใด ๆ ในระหว่างการคอมไพล์ อย่างไรก็ตามหากมีข้อผิดพลาดปรากฏขึ้นในหน้าต่างย่อยของ Toolbox คุณสามารถลองแก้ไขหรือติดต่อผู้พัฒนา indicator8217 เพื่อช่วยแก้ปัญหานี้ได้ โดยปกติแล้วจะใช้ความรู้และทักษะการเขียนโค้ด MQL บางอย่างเพื่อแก้ไขข้อผิดพลาดดังกล่าว ไม่มีข้อผิดพลาดในการแสดงผลเช่นนี้: ข้อผิดพลาดในการรวบรวมข้อมูลมีลักษณะดังนี้: 9. หลังจากที่คุณคอมไพล์หรือคัดลอกไฟล์ MetaTrader ที่เป็นไฟล์ปฏิบัติการ (.ex4 หรือ. ex5) คุณสามารถเริ่มใช้ตัวบ่งชี้ในแพลตฟอร์มของคุณได้ สิ่งที่คุณต้องทำก็คือแนบไปกับแผนภูมิ: ถ้าคุณรู้ว่าคุณกำลังทำอะไรอยู่คุณอาจต้องการเปลี่ยนพารามิเตอร์ป้อนข้อมูล indicator8217 ด้วยเช่นกัน: ตกลง ตอนนี้คุณสามารถเพลิดเพลินกับตัวบ่งชี้ MetaTrader ใหม่ของคุณและหวังว่าผลการซื้อขาย Forex จะดีขึ้น 8212 ราย หากคุณมีคำถามใด ๆ เกี่ยวกับการติดตั้งตัวบ่งชี้ที่กำหนดเองใน MetaTrader โปรดขอใช้แบบฟอร์มด้านความคิดเห็นด้านล่างนี้

No comments:

Post a Comment