السلام عليكم
ان كان لدي مؤشر واريد ان اجعل له فترة صلاحية ماهو الكود المستخدم
وارجو ان يكون الشرح بمثال
وجزاكم الله خيرا
Printable View
السلام عليكم
ان كان لدي مؤشر واريد ان اجعل له فترة صلاحية ماهو الكود المستخدم
وارجو ان يكون الشرح بمثال
وجزاكم الله خيرا
جرب إستخدام الكود هاده و ممكن تستخدمه بأكثر من طريقة
كود PHP:
int eyear=2012;
int emonth=1;
int eday=1;
if ((Year()>=eyear) && Month()>=emonth) && Day()>eday))
{
DeleteBuyPendingOrders(MagicNumber);
DeleteSellPendingOrders(MagicNumber);
CloseBuyOrders(MagicNumber);
CloseSellOrders(MagicNumber);
}
شكرا اخي وجزاك الله خيرا
سأقوم بتجربته
لم يعمل الكود :doh:
ارفق المؤشر...وما رح يقصروا مع الاخوه هنا...
اخي الكريم انا اعرف الان الاخوة جزاهم الله خيرا لم يقصروا
لكني اريد ان اتعلم
اوك ارفق المؤشر وقارن بين الاثنين وتعلم..
هذا مثال لمؤشر الهيكن اشاي
وضعت كود فترة الصلاحيه لكنه مازال يعمل
كود:int start()
{
if(Year()>=2008 && Month()>2) return(0);
double haOpen, haHigh, haLow, haClose;
if(Bars<=10) return(0);
ExtCountedBars=IndicatorCounted();
//---- check for possible errors
if (ExtCountedBars<0) return(-1);
//---- last counted bar will be recounted
if (ExtCountedBars>0) ExtCountedBars--;
int pos=Bars-ExtCountedBars-1;
while(pos>=0)
{
haOpen=(ExtMapBuffer3[pos+1]+ExtMapBuffer4[pos+1])/2;
haClose=(Open[pos]+High[pos]+Low[pos]+Close[pos])/4;
haHigh=MathMax(High[pos], MathMax(haOpen, haClose));
haLow=MathMin(Low[pos], MathMin(haOpen, haClose));
if (haOpen<haClose)
{
ExtMapBuffer1[pos]=haLow;
ExtMapBuffer2[pos]=haHigh;
}
else
{
ExtMapBuffer1[pos]=haHigh;
ExtMapBuffer2[pos]=haLow;
}
ExtMapBuffer3[pos]=haOpen;
ExtMapBuffer4[pos]=haClose;
pos--;
}
//----
return(0);
}
//+------------------------------------------------------------------+
الكود الذي وضعته صحيح لكن لاحظ الآتي
إذا راجعت الشروط التي قمت بوضعها وقارنتها فيجب أن يتحقق شرطان إذا كان العام أكبر من 2008 وهذا بسيط وكان الشهر أكبر من 2 فسوف يوقف عمل المؤشركود PHP:
if(Year()>=2008 && Month()>2) return(0);
لكن لنفرض أن العام 2010 لكن الشهر هو 1 في هذه الحاله لم تتحقق الشروط بالتالي سيعمل المؤشر بدون مشاكل وهذا هو الخطأ الذي وقعت فيه
لذلك يمكنك تعديل الكود بالشكل التالي بما أنك تريد إيقاف عمل المؤشر إذا كان العام أكبر من 2008
أو يساوي 2008 والشهر أكبر من 2
كود PHP:
if(Year()>2008 ||(Year()==2008&& Month()>2)) return(0);
جزاك الله خيرا اخي الكريم
الان لو اريد ان اضع تاريخ صلاحيه لمؤشر لشهر الثالث 2011
هل الكود يكون بهذا الشكل
كود:if(Year()>2011 ||(Year()==2011&& Month()>3)) return(0);
اشكرك جدا والله لاأعرف ماذا اقول لك
الله يوفقك دنيا واخرة ويسهل امرك
لي سؤال اخير واسف ان اثقلت عليك بالاسئله
ماهو الفرق بين الكود الاول والثاني
وكود:if(Year()>=2011 && Month()>3) return(0);
كود:if(Year()>2011 ||(Year()==2011&& Month()>3)) return(0);
كما شرحت لك سابقا في الكود الأول يجب أن يتحقق شرطان
إذا كان العام أكبر من أو يساوي 2011 والشرط الثاني أن الشهر أكبر من 3 في هذه الحاله تتحقق الشروط لكن لنفرض أن العام هو 2012 في هذه الحاله تحقق الشرط الأول لكن لنفرض أن الشهر هو 1 في هذه الحاله لم يتحقق الشرط الثاني وبالتالي لن ينفذ
الأمر return
بعكس الكود الثاني فهو سينفذ الأمر return في حال تحقق اي من الشرطين إذا كان العام أكبر من 2011 أو إذا كان العام 2011 والشهر أكبر من 3
وضحت الفكرة
شكرا لاهتمامك اخى الكريم
وجعلة الله فى ميزان حسناتك