النتائج 1 إلى 5 من 5
  1. #1
    الصورة الرمزية بن عبدالله
    بن عبدالله غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2010
    الإقامة
    في بيت المقدس واكناف بيت المقدس
    المشاركات
    710

    افتراضي مؤشر يظهر عدد النقاط بين قمة وقاع وبالعكس

    السلام عليكم ورحمة الله وبركاته
    ابحث عن مؤشر يعطيني عدد النقاط (range) بين قمة وقاع او بالعكس بين قاع وقمة
    بحيث ادخل تاريخ القمة وتاريخ القاع والمؤشر يعطيني عدد النقاط بين التاريخين
    اتمنى المساعدة وبارك الله فيكم

  2. #2
    الصورة الرمزية بن عبدالله
    بن عبدالله غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2010
    الإقامة
    في بيت المقدس واكناف بيت المقدس
    المشاركات
    710

    افتراضي

    السلام عليكم ورحمة الله وبركاته
    بعد محاولات عديده مني لعمل المؤشر المطلوب وصلت الى الكود التالي وهو يحتاج الى بعض التعديل لعدم اكتماله 100%

    وقد استعرت بعض الاكواد الجاهزة من مؤشرات الاخ مستر دولار فاتمنى ان لا يغضب

    قناعتي دائما ان هذا القسم وجد ليعلم الاعضاء البرمجة بلغة الميتاتريدر وليس ليكون قسم طلبات جاهزة وبناءا عليه فانا احاول الاعتماد على نفسي والتعلم ولو بشكل بطيئ
    فكرة المؤشر هو رسم مربع على الشارت وتسميته box1 ثم اختيار طريقة الحساب هل هي من القاع للقمة او القمة للقاع وبناءا عليه يقوم المؤشر بحساب عدد النقاط بين التاريخين
    الان بقي علي بعض اللمسات الاخيرة (على ما اعتقد) وانهي هذا المؤشر فاتمنى المساعدة وشكرا
    كود:
    //+------------------------------------------------------------------+ //| points counter.mq4 //| Copyright © 2011, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2011, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" #property indicator_chart_window extern string PriceType=" 1=HighLow / 2=LowHigh "; extern int Type=1; extern datetime StartTime=D'2011.03.24 10:00'; extern datetime EndTime=D'2011.03.24 18:00'; extern bool UseAutoDateTime=true; extern string BoxName="Box1"; double point; int init() { if(Digits<4){point=0.01;} else{point=0.0001;} return(0); } //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { ObjectDelete("Diff"); ObjectDelete("Diff"); return (0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { if(UseAutoDateTime){ double a=ObjectGet(BoxName,OBJPROP_TIME1); double b=ObjectGet(BoxName,OBJPROP_TIME2); StartTime=MathMin(a,b); EndTime=MathMax(a,b); } { if (Type==1){ double x=MathAbs(High[StartTime]-Low [EndTime])/point;} ObjectCreate("Diff", OBJ_LABEL, 0, 0, 0); ObjectSetText("Diff","x",14, "Arial", Green); ObjectSet("Diff", OBJPROP_XDISTANCE,20); ObjectSet("Diff", OBJPROP_YDISTANCE, 1); ObjectSet("Diff", OBJPROP_CORNER, 1); if (Type==2) double y=MathAbs(High[EndTime]-Low [StartTime])/point;} ObjectCreate("Diff", OBJ_LABEL, 0, 0, 0); ObjectSetText("Diff","y" ,14, "Arial", Red); ObjectSet("Diff", OBJPROP_XDISTANCE, 20); ObjectSet("Diff", OBJPROP_YDISTANCE, 18); ObjectSet("Diff", OBJPROP_CORNER, 1); return (0); }

  3. #3
    الصورة الرمزية بن عبدالله
    بن عبدالله غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2010
    الإقامة
    في بيت المقدس واكناف بيت المقدس
    المشاركات
    710

    افتراضي


  4. #4
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,864

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة بن عبدالله مشاهدة المشاركة
    السلام عليكم ورحمة الله وبركاته
    بعد محاولات عديده مني لعمل المؤشر المطلوب وصلت الى الكود التالي وهو يحتاج الى بعض التعديل لعدم اكتماله 100%

    وقد استعرت بعض الاكواد الجاهزة من مؤشرات الاخ مستر دولار فاتمنى ان لا يغضب

    قناعتي دائما ان هذا القسم وجد ليعلم الاعضاء البرمجة بلغة الميتاتريدر وليس ليكون قسم طلبات جاهزة وبناءا عليه فانا احاول الاعتماد على نفسي والتعلم ولو بشكل بطيئ
    فكرة المؤشر هو رسم مربع على الشارت وتسميته box1 ثم اختيار طريقة الحساب هل هي من القاع للقمة او القمة للقاع وبناءا عليه يقوم المؤشر بحساب عدد النقاط بين التاريخين
    الان بقي علي بعض اللمسات الاخيرة (على ما اعتقد) وانهي هذا المؤشر فاتمنى المساعدة وشكرا
    كود:
    //+------------------------------------------------------------------+ //| points counter.mq4 //| Copyright © 2011, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2011, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" #property indicator_chart_window extern string PriceType=" 1=HighLow / 2=LowHigh "; extern int Type=1; extern datetime StartTime=D'2011.03.24 10:00'; extern datetime EndTime=D'2011.03.24 18:00'; extern bool UseAutoDateTime=true; extern string BoxName="Box1"; double point; int init() { if(Digits<4){point=0.01;} else{point=0.0001;} return(0); } //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { ObjectDelete("Diff"); ObjectDelete("Diff"); return (0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { if(UseAutoDateTime){ double a=ObjectGet(BoxName,OBJPROP_TIME1); double b=ObjectGet(BoxName,OBJPROP_TIME2); StartTime=MathMin(a,b); EndTime=MathMax(a,b); } { if (Type==1){ double x=MathAbs(High[StartTime]-Low [EndTime])/point;} ObjectCreate("Diff", OBJ_LABEL, 0, 0, 0); ObjectSetText("Diff","x",14, "Arial", Green); ObjectSet("Diff", OBJPROP_XDISTANCE,20); ObjectSet("Diff", OBJPROP_YDISTANCE, 1); ObjectSet("Diff", OBJPROP_CORNER, 1); if (Type==2) double y=MathAbs(High[EndTime]-Low [StartTime])/point;} ObjectCreate("Diff", OBJ_LABEL, 0, 0, 0); ObjectSetText("Diff","y" ,14, "Arial", Red); ObjectSet("Diff", OBJPROP_XDISTANCE, 20); ObjectSet("Diff", OBJPROP_YDISTANCE, 18); ObjectSet("Diff", OBJPROP_CORNER, 1); return (0); }
    وعليكم السلام ورحمة الله وبركاته
    الأخطاء في المؤشر كالآتي
    أولا بالنسبه لتحديد الهاي واللو فكتابتها بهذا الشكل غير صحيح
    كود PHP:
    High[StartTime
    فالمتغير StartTime هو الآن ما زال متغير تاريخ يجب أن تعرف رقم الشمعه التي يأخذها هذا التاريخ ثم يصبح الهاي بالشكل التالي
    كود PHP:
    High[CandleNumber
    لذلك سوف تجعلها بهذا الشكل
    كود PHP:
    High[iBarShift(Symbol(),0,StartTime,false)] 
    ونفس الشيء بالنسبه لحساب اللو

    أيضا لا أرى داعي لإستخدام متغير الحساب من الهاي إلى اللو أو من اللو إلى الهاي لأن جميعهم سيؤدو إلى نفس الطريقه ونفس الغرض إنما أنت وضعتها كمجرد زيادات فقط

    تفضل المؤشر في المرفقات بعد التعديل
    الملفات المرفقة الملفات المرفقة
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  5. #5
    الصورة الرمزية بن عبدالله
    بن عبدالله غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2010
    الإقامة
    في بيت المقدس واكناف بيت المقدس
    المشاركات
    710

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    الأخطاء في المؤشر كالآتي
    أولا بالنسبه لتحديد الهاي واللو فكتابتها بهذا الشكل غير صحيح
    كود PHP:
    High[StartTime
    فالمتغير StartTime هو الآن ما زال متغير تاريخ يجب أن تعرف رقم الشمعه التي يأخذها هذا التاريخ ثم يصبح الهاي بالشكل التالي
    كود PHP:
    High[CandleNumber
    لذلك سوف تجعلها بهذا الشكل
    كود PHP:
    High[iBarShift(Symbol(),0,StartTime,false)] 
    ونفس الشيء بالنسبه لحساب اللو

    أيضا لا أرى داعي لإستخدام متغير الحساب من الهاي إلى اللو أو من اللو إلى الهاي لأن جميعهم سيؤدو إلى نفس الطريقه ونفس الغرض إنما أنت وضعتها كمجرد زيادات فقط

    تفضل المؤشر في المرفقات بعد التعديل
    السلام عليكم ورحمة الله وبركاته
    الحقيقة اني لا اجد كلمة توفيك حقك من الشكر على ما تقدمه من مساعدة
    اسأل الله العظيم ان يجازيك الخير ويبارك لك في اهلك ومالك وعلمك
    تقبل تحياتي وشكري


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17