MetaTrader4
FE फिबो विस्तार: MetaTrader 4 के लिए एक अद्भुत संकेतक
नमस्ते सभी ट्रेडर्स को! आज हम बात करेंगे FE फिबो विस्तार के बारे में, जिसे मैंने दो ऑब्जेक्ट्स (P[2]) का उपयोग करके बनाया है। ये ऑब्जेक्ट्स उनके गुणों का प्रतिनिधित्व करते हैं, जो ऊपर या नीचे की दिशा में होते हैं। क्लास का स्वरूप: class ___ {public: int aa,bb,cc; double A, B, C; ___(): aa(0),bb(0),cc(0), A(0.0),B(0.0),C(0.0) {} ~___() {} } P[2]; हर दिशा के लिए, हमें तीन कीमतों की आवश्यकता होती है: A, B और C, जो ऊपरी, निचली और उनके बीच की कीमतें होती हैं। aa, bb, और cc उन बार स्थानों का प्रतिनिधित्व करते हैं जहाँ पहले की कीमतें A, B और C होती हैं। इसके बाद, मैंने फ्रैक्टल फॉर्मूला और थोड़े संशोधन का उपयोग करके तीन बिंदुओं को निर्धारित किया - ऊपरी, निचली और उनके बीच की कीमत, साथ ही इसकी दिशाएँ। हाल की बार स्थान से लूप का उपयोग: //--- int i=0; int m=0,n=0; bool stop=false; double hi=0.0,lo=0.0;//--- A=0.0; B=0.0; C=0.0; for(m=0,n=0,i=0; i<Bars-5&&!stop; i++) { hi=( iHigh(_Symbol,0,i+2)>=iHigh(_Symbol,0,i+0) && iHigh(_Symbol,0,i+2)>=iHigh(_Symbol,0,i+1) && iHigh(_Symbol,0,i+2)>=iHigh(_Symbol,0,i+3) && iHigh(_Symbol,0,i+2)>=iHigh(_Symbol,0,i+4)) ?iHigh(_Symbol,0,i+2):0.0; lo=( iLow(_Symbol,0,i+2)<=iLow(_Symbol,0,i+0) && iLow(_Symbol,0,i+2)<=iLow(_Symbol,0,i+1) && iLow(_Symbol,0,i+2)<=iLow(_Symbol,0,i+3) && iLow(_Symbol,0,i+2)<=iLow(_Symbol,0,i+4)) ?iLow(_Symbol,0,i+2):0.0; //--- //--- //-------------------------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------------------------- if(hi!=0.0)// ------------up------------ { if(P[1].C!=0.0) { if(n==2) { if(P[1].B<hi&&P[1].C<P[1].B) { P[1].B=hi; //this modify B[1] before A[1] exist P[1].bb=i+2; } if(n==1) { if(P[1].C<hi) { P[1].B=hi; //this B[1] dn P[1].bb=i+2; n++; } else { n--; P[1].C=0.0; } } } //--- if(P[0].C==0.0) { if(m<1) { P[0].C=hi; //innitial C[0] up P[0].cc=i+2; m++; } } else { if(m==2) { if(P[0].C<hi) { P[0].A=hi; //this A[0] up P[0].aa=i+2; m=0; stop=true; } } if(m==1) { if(P[0].C<hi) { P[0].C=hi; //this modify C[0] before B[0] exist P[0].cc=i+2; } } } //--- } //else if(lo!=0.0)// ------------dn------------ { if(P[0].C!=0.0) { if(m==2) { if(P[0].B>lo&&P[0].C>P[0].B) { P[0].B=lo; //this modify B[0]before A[0] exist P[0].bb=i+2; } } if(m==1) { if(P[0].C>lo) { P[0].B=lo; //this B[0] up P[0].bb=i+2; m++; } else { m--; P[0].C=0.0; } } } //--- if(P[1].C==0.0) { if(n<1) { P[1].C=lo; //innitial C[1] dn P[1].cc=i+2; n++; } } else { if(n==2) { if(P[1].C>lo) { P[1].A=lo; //this A[1] dn P[1].aa=i+2; n=0; stop=true; } } if(n==1) { if(P[1].C>lo) { P[1].C=lo; //this modify C[1] before B[1] exist P[1].cc=i+2; } } } //--- } //else // //--- //--- //--- if((P[0].C==0.0&&P[1].C==0.0)||(hi==0.0&&lo==0.0)) { continue; } }// loop अगर यह तीन बिंदुओं को UP या DOWN दिशा में खोज लेता है, तो लूप टूट जाता है। मैंने पहले तीन बिंदुओं को निकालने की आवश्यकता है। if(P[0].A!=0.0&&P[0
2020.11.11