3_Level_ZZ_Semafor Indicator For MT5
Table Of Contents:
- 3_Level_ZZ_Semafor Indicator For MT5
- การติดตั้ง 3_Level_ZZ_Semafor Indicator For MT5
- พารามิเตอร์ของ 3_Level_ZZ_Semafor Indicator For MT5
- บัฟเฟอร์ของ 3_Level_ZZ_Semafor Indicator For MT5
- ส่วนหลักของรหัส
3_Level_ZZ_Semafor Indicator For MT5 เป็นรุ่นปรับปรุงของตัวบ่งชี้ซิกแซกที่ดึงค่า 3 ซิกแซกบนแผนภูมิ ซิกแซกทั้ง 3 มีระยะเวลาต่างกันสำหรับการคำนวณ ดังนั้นหนึ่งขนาดเล็กหนึ่งกลางและหนึ่งซิกแซกใหญ่เป็นแคลเซียม แทนการวาดเส้นคดเคี้ยวไปมาบนแผนภูมิ (ซึ่งจะทำให้แผนภูมิยุ่งเหยิง) ตัวบ่งชี้นี้จะดึงจุดที่จุดคดเคี้ยวไปมา จุดมีขนาดแตกต่างกันเพื่อให้คุณสามารถแยกความแตกต่างของซิกแซกที่แตกต่างกัน
การติดตั้ง 3_Level_ZZ_Semafor Indicator For MT5
หลังจากคุณดาวน์โหลดตัวบ่งชี้ผ่านแบบฟอร์มด้านบนคุณจะต้องทำการแตกไฟล์ zip จากนั้นคุณต้องคัดลอกไฟล์ 3_level_zz_semafor.mq5 ลงในโฟลเดอร์ MQL5Indicators ของการติดตั้ง MT5 ของคุณ หลังจากนั้นโปรดรีสตาร์ท MT5 จากนั้นคุณจะเห็นตัวบ่งชี้ในรายการตัวบ่งชี้
พารามิเตอร์ของ 3_Level_ZZ_Semafor Indicator For MT5
กระบวนการ 3_Level_ZZ_Semafor Indicator For MT5 มีพารามิเตอร์ 15 เพื่อกำหนดค่า
input int Period1=5; input int Deviation1=1; input int Backstep1=3; input int HighSymbol1=159; input int LowSymbol1=159; input int Period2=13; input int Deviation2=8; input int Backstep2=5; input int HighSymbol2=108; input int LowSymbol2=108; input int Period3=34; input int Deviation3=21; input int Backstep3=12; input int HighSymbol3=163; input int LowSymbol3=163;
บัฟเฟอร์ของ 3_Level_ZZ_Semafor Indicator For MT5
3_Level_ZZ_Semafor Indicator For MT5 ให้บัฟเฟอร์ 6
SetIndexBuffer(0,LowBuffer1,INDICATOR_DATA); SetIndexBuffer(1,HighBuffer1,INDICATOR_DATA); SetIndexBuffer(2,LowBuffer2,INDICATOR_DATA); SetIndexBuffer(3,HighBuffer2,INDICATOR_DATA); SetIndexBuffer(4,LowBuffer3,INDICATOR_DATA); SetIndexBuffer(5,HighBuffer3,INDICATOR_DATA);
ส่วนหลักของรหัส
int OnCalculate(const int rates_total, // number of bars in history at the current tick const int prev_calculated,// number of bars calculated at previous call const datetime &time[], const double &open[], const double& high[], // price array of maximums of price for the indicator calculation const double& low[], // price array of minimums of price for the indicator calculation const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //---- checking the number of bars to be enough for the calculation if(rates_total lt StartBar) return(0); //---- declarations of local variables int limit,to_copy1,to_copy2,to_copy3; //---- calculation of the first starting index for the bars recalculation loop if(prev_calculated gt rates_total || prev_calculated lt =0) // checking for the first start of calculation of an indicator { limit=rates_total-StartBar; // starting index for calculation of all bars to_copy1=rates_total; to_copy2=rates_total; to_copy3=rates_total; } else { limit=rates_total-prev_calculated; to_copy1=limit+StartBar1; to_copy2=limit+StartBar2; to_copy3=limit+StartBar3; } //---- copy the newly appeared data in the indicator buffers if(CopyBuffer(Handle1,1,0,to_copy1,HighBuffer1) lt =0) return(0); if(CopyBuffer(Handle1,2,0,to_copy1,LowBuffer1) lt =0) return(0); if(CopyBuffer(Handle2,1,0,to_copy2,HighBuffer2) lt =0) return(0); if(CopyBuffer(Handle2,2,0,to_copy2,LowBuffer2) lt =0) return(0); if(CopyBuffer(Handle3,1,0,to_copy3,HighBuffer3) lt =0) return(0); if(CopyBuffer(Handle3,2,0,to_copy3,LowBuffer3) lt =0) return(0); //---- return(rates_total); } //+------------------------------------------------------------------+