بارك الله فيك اخي ولكن هذا الموضوع ايضا للاسئله البرمجيه
يعني افتح موضوع انافس هذا الموضوع
Printable View
اطلعت على الموضوع ولكن لدي مشكلة في استخراج الاندكس من المؤشر
الملف المرفق 406078
اليك نافدة الخصائص لهدا المؤشر اين هو الاندكس للترند لاين او خطوط الدعم و المقاومة مثلا ..... ؟
تقبل ودي
ماستر دولار ارجو لقد تسالت من قبل عن انقطاع الانترنت يجعل الاكسبيرت لا يتذكر الاوامر وقد تفضلت وقمت بالاجابه انه اجعل الاكسبيرت يبحث عن الماجيك نمبر للاوامر فهل مجرد كتابه فنكشن تبحث عن الماجيك فيتذكره وهل من ممكن كتابه فانكشن كمثال عنها واذا كان هناك اكثر من تيكيت للاوردرات مفعله هل بانقطاع الانترنت تفقد قيمها ام لا ارجو الاجابه
ماهو الفرق بين iHigh() و High[ ] و iHighest وبنفس هذه الفروقات بالنسبه لزمن Time() و Time[ ] و iTimest؟
اين الخطاء في هذا الكود وهو ترجمه لعباره اذا كان توقيت الهاي لشمعه قبل توقيت اللوللشمعه احتسبها شمعه
كود PHP:int start()
{
int CandlesCount=0;
for (int i=0;i<a;i++){
if((iTime(Symbol(),PERIOD_D1,High[i]))<(iTime(Symbol(),PERIOD_D1,Low[i])))CandlesCount++;
}
Comment(CandlesCount);
return(0);
}
ان شاء الله الكود سهل
أغلب المؤشرات التي تستخدم لرسم خطوط الدعم أو المقاومه و خطوط الترند لا تستخدم المخزن (buffer) لرسم الخطوط على الشارت بالتالي لا يمكن إستدعائها بإستخدام الداله iCustom
الحل في هذه الحاله هو كتابة كود المؤشر بداخل الإكسبرت نفسه وحفظها كمتغيرات
مثلا لو كان إكسبرت يرسم خطوط الدعم و المقاومه فمعادلات الدعم و المقاومه معروفه
مثل
ثم يمكنك التعامل مع المتغيرات S1,S2,S3 ,R1,R2,R3كود PHP:YesterdayHigh = iHigh(Symbol(),1440,1);
YesterdayLow = iLow(Symbol(),1440,1);
YesterdayClose = iClose(Symbol(),1440,1);
Pivot = ((YesterdayHigh + YesterdayLow + YesterdayClose)/3);
R1 = (2*Pivot)-YesterdayLow;
S1 = (2*Pivot)-YesterdayHigh;
R2 = Pivot+(R1-S1);
S2 = Pivot-(R1-S1);
R3 = (YesterdayHigh + (2*(Pivot-YesterdayLow)));
S3 = (YesterdayLow - (2*(YesterdayHigh-Pivot)));
أو يمكنك إستخدام الداله ObjectGet و ObjectGetValueByShift
لمعرفة قيم الخطوط المرسومه على الشارت
أولا بالنسبه ل High فهو يحفظ قيمة الهاي لشموع الشارت الحالي
فمثلا لو كان الشارت الحالي هو شارت الساعه فعندما تكتب
فهذا يعني الهاي للشمعه رقم 1 لشارت الساعهكود PHP:High[1]
لكن لنفرض أنك تريد معرفة الهاي لشارت آخر غير الشارت الحالي فتستخدم iHigh
مثال
فهذا يعني هاي الشمعه رقم 1 لشارت الربع ساعه ويمكنك أيضا إستخدامها للشارت الحاليكود PHP:iHigh(Symbol(),15,1);
فستعطي نفس قيمة Highكود PHP:iHigh(Symbol(),0,1);
أما iHighest فهي تبحث عن رقم الشمعه التي لها أعلى هاي خلال فترة محدده
مثلا تريد معرفة رقم الشمعه التي كان الهاي لها هو الأكبر خلال آخر 10 شمعات
مثال
كود PHP:iHighest(Symbol(),0,MODE_HIGH,10,1);
كأبسط مثال الداله التي تحسب عدد الصفقات المفتوحه
جرب أن تقوم بعمل إكسبرت وإجعله يفتح عدد صفقات معينه وإحسب قيم عد الصفقات المفتوحه ثم أغلق الميتاتريدر و أعد فتحه سوف تجد أن عدد الصفقات المفتوحه أيضا سيكون هو نفسه وهذا دليل على أن الإكسبرت بعد إغلاق الميتاتريدر وفتحه إستطاع أن يقرأ الصفقات ويقوم بعدها مره أخرىكود PHP:int TotalOrders(int type)
{
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()&&OrderType()==type){
cnt++;
}
}
}
return(cnt);
}
وهكذا أي داله أخرى تقوم بعملها ضع فيها شرط الماجيك نمبر
بالنسبه لرقم التيكيت للصفقات المفعله فهي لا تتغير
السلام عليكم ورحمة الله
ممكن مساعدة ياشباب
كيف اصلح هذا الخطا y" - unexpected token" فهو يظهر لى فى مؤشرات كثيرة بعد التحديثات الاخيرة للميتاتريدر
جزاكم الله خيرا
لدي استفسار اخر ماستر دولار وارجو الا اكون اثقلت عليك اريد فانكشن تقوم بتحديد اكبر لوت لامر من ضمن العديد من الاوامر لها نفس الماجيك ايا كان عددها
اين الخطاء في هذا الكود والفكره تقول اذا كان توقيت هاي الشمعه اقل اوقبل توقيت لوالشمعه نفسها احتسبها شمعه وكتب عدد الشموع التي حققت الشرط على الشارت.
كود PHP:int start()
{
int CandlesCount=0;
for (int i=0;i<a;i++){
if((iTime(Symbol(),PERIOD_D1,High[i]))<(iTime(Symbol(),PERIOD_D1,Low[i])))CandlesCount++;
}
Comment(CandlesCount);
return(0);
}
مرفق الاكسبيرت