اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex

اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex (https://fx-arabia.com/vb/index.php)
-   منتدى المؤشرات و الاكسبيرتات (https://fx-arabia.com/vb/forumdisplay.php?f=6)
-   -   سؤال برمجي بسيط لو سمحتم و تكرمتم للأستاذ اسلام العوامي (https://fx-arabia.com/vb/showthread.php?t=53554)

عمر عمر 13-05-2016 08:31 PM

سؤال برمجي بسيط لو سمحتم و تكرمتم للأستاذ اسلام العوامي
 
السلام عليكم و رحمة الله تعلى و بركاته

عندي سؤال برمجي لو سمحت و تكرمت بالإجابة يا استاذ اسلام العوامي

قمت بإتسخدام طريقة الجداول ذات بعد واحد أو مصفوفات ذات بعد واحد
Array[n] i
لترتيب قيم متغيرات بطريقة تصاعدية أو تنازلية
كود ملأ الجدول و ترتيبه انتهيت منه بدون مشاكل

المشكلة بعد الإنتهاء من الترتيب أريد الأن أن اضهر ذالك الجدول المملوء أو اطبعه على الشارت مع تحديد احداثيات x و y
جربت طريقة
Comment
لكنها سيئة حيث أنني عندما أضعها مرتين مثلا تحت بعض, تحذف القيمة السابقة و تضهر الجديدة فقط

أما طريقة
ObjectCreate
فلم أعرف كيف استخدمها مع الجداول


أرجو كتابت الكود كاملا مع الشرح
و سأكون شاكرا لك و أجرك عند الله استاذ اسلام العوامي

اسلام العوامى 14-05-2016 11:12 AM

رد: سؤال برمجي بسيط لو سمحتم و تكرمتم للأستاذ اسلام العوامي
 
اقتباس:

المشاركة الأصلية كتبت بواسطة عمر عمر (المشاركة 870197)
السلام عليكم و رحمة الله تعلى و بركاته

عندي سؤال برمجي لو سمحت و تكرمت بالإجابة يا استاذ اسلام العوامي

قمت بإتسخدام طريقة الجداول ذات بعد واحد أو مصفوفات ذات بعد واحد
Array[n] i
لترتيب قيم متغيرات بطريقة تصاعدية أو تنازلية
كود ملأ الجدول و ترتيبه انتهيت منه بدون مشاكل

المشكلة بعد الإنتهاء من الترتيب أريد الأن أن اضهر ذالك الجدول المملوء أو اطبعه على الشارت مع تحديد احداثيات x و y
جربت طريقة
Comment
لكنها سيئة حيث أنني عندما أضعها مرتين مثلا تحت بعض, تحذف القيمة السابقة و تضهر الجديدة فقط

أما طريقة
ObjectCreate
فلم أعرف كيف استخدمها مع الجداول


أرجو كتابت الكود كاملا مع الشرح
و سأكون شاكرا لك و أجرك عند الله استاذ اسلام العوامي

،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،اهلا بك اخي الفاضل ، يمكن عمل حلقة تكرارية واستخدام امر ObjectCreate داخل الحلقة لعمل المطلوب ، وسأقوم بارفاق مثال بعد قليل،،،

،،،تقبل تحياتي،،،

اسلام العوامى 14-05-2016 03:25 PM

رد: سؤال برمجي بسيط لو سمحتم و تكرمتم للأستاذ اسلام العوامي
 
،،،مثال علي المطلوب،،،


كود:


int start()  {
      int x,y;
    int xdist = 250;
    int ydist = 100; 
    color col; 
    string diff;   
      for(x=0;x<=2;x++) 
    for(y=0;y<=7;y++)      { 
    if (MarketInfo(symb[y], MODE_POINT) == 0.00001) pointvalue = 0.0001;
      else if (MarketInfo(symb[y], MODE_POINT) == 0.001) pointvalue = 0.01;
      else pointvalue = MarketInfo(symb[y], MODE_POINT); 
        double diffsma7_20H1 = iMA(symb[y],PERIOD_H1,7,0,MODE_LWMA,PRICE_CLOSE,0)-                              iMA(symb[y],PERIOD_H1,20,0,MODE_LWMA,PRICE_CLOSE,0);     
 double diffsma7_20H4 = iMA(symb[y],PERIOD_H4,7,0,MODE_LWMA,PRICE_CLOSE,0)-                              iMA(symb[y],PERIOD_H4,20,0,MODE_LWMA,PRICE_CLOSE,0);   
  double diffsma7_20D1 = iMA(symb[y],PERIOD_D1,7,0,MODE_LWMA,PRICE_CLOSE,0)-                              iMA(symb[y],PERIOD_D1,20,0,MODE_LWMA,PRICE_CLOSE,0);           
      string diffH1 = DoubleToStr((diffsma7_20H1/pointvalue),1); 
    string diffH4 = DoubleToStr((diffsma7_20H4/pointvalue),1);
      string diffD1 = DoubleToStr((diffsma7_20D1/pointvalue),1);
            switch(x)      {
      case 0: diff = diffH1;
              if(diffsma7_20H1 < 0)col = Red;
 else col=Green; break; 
    case 1: diff = diffH4;
xdist+= 250; 
            if(diffsma7_20H4 < 0)col = Red;
else col=Green; break;   
  case 2: diff = diffD1;
xdist+= 250;       
      if(diffsma7_20D1 < 0)col = Red; else col=Green; break;      }
            ObjectCreate("diff"+x+y,OBJ_LABEL,0,0,0,0); 
    ObjectSet("diff"+x+y, OBJPROP_XDISTANCE,xdist);
     
ObjectSet("diff"+x+y, OBJPROP_YDISTANCE,ydist);     

ObjectSetText("diff"+x+y,diff,10, "Times New Roman", col); 
    ydist+= 65;        } 
 return(0);  }


عمر عمر 14-05-2016 06:33 PM

رد: سؤال برمجي بسيط لو سمحتم و تكرمتم للأستاذ اسلام العوامي
 
أهلا استاذي اسلام العوامي
أولا أشكرك جزيل الشكر على ردك الكريم و السريع و على عطائك الكبير و سعة صدرك
ربنا يكرمك و يجعل مساعدتك لي في ميزان حسناتك مشكور جدا
أنا من المعجبين بك و تعلمت منك الكثير

ثانيا للأسف لم افهم مثالك فهو كبير و معقد و خارج عن الموضوع

راح اعطيك مثالي و هو بسيط , و أرجو أن تضيف له كود الذي يضهر المحتوى في الشارت



كود:





int a=10;
  int b=20;
  int c=5;
  int d=-65;
 

  int Array[4];
  int i;
  int j;
  int t;


  Array[0] = a;
  Array[1] = b; 
  Array[2] = c; 
  Array[3] = d; 


 
  for(i=0;i<=3;i++)
      for(j=i;j<=3;j++)
        if(Array[i]<Array[j])
            {
            t=Array[i];
            Array[i]=Array[j];
            Array[j]=t;
          }




و هنا شرح للكود و المثال الذي كتبته بالتفصيل



كود:





// هنا عرفت المتغيرات و اعطيتها قيم
  int a=10;
  int b=20;
  int c=5;
  int d=-65;
 
// هنا قمت بتعريف بالجدول الذي فيه اربع خانات
  int Array[4];
// هنا عرفت المؤشر أو العداد أو الدليل   
  int i;
// هنا عرفت الدليل الثاتي   
  int j;
// هنا عرفت الخانة المساعدة في تبديل الخانات 
  int t;


// هنا ملأت الجدول بالمتغيرات     
  Array[0] = a;
  Array[1] = b; 
  Array[2] = c; 
  Array[3] = d; 


// هنا أنشأت الحلقة الأولى 
  for(i=0;i<=3;i++)
  // هنا أنشئت الحلقة الثانية
      for(j=i;j<=3;j++)
     
      // هنا وضعت شرط المقارنة و الترتيب و التبديل
        if(Array[i]<Array[j])
            {
            t=Array[i];
            Array[i]=Array[j];
            Array[j]=t;
          }
         


أريد أن يضهر في الشارت صورة مثل الصورة التالية

http://b.top4top.net/p_13473fe1.png

جربت أمر
Comment
بالطريقة التالية

كود:


Comment(Array_B[0]," ",Array[0],"\n",Array_B[1]," ",Array[1],"\n",Array_B[2]," ",Array[2],"\n",Array_B[3]," ",Array[3]);

و قام بترتيب القيم و اضهارها في الشارت بالشكل التالي

http://d.top4top.net/p_134o2j11.png

لكن الطريقة ليست عملية لأنني اضطر الى كتابات كل الخانات و ايضا لا يمكنني التحكم في الألوان و الحجم و ايضا اذا استخدمت الأمر مرة ثانية في الكود تمحى الكتابة القديمة و تضهر الجديدة فقط

في لغة ال C و C++ بتم كتابت الأمر التالي فقط فتضهر القيم مرتبة و هو كاتالي

كود:






print ( Array[i] );




بدون كتابت كل الخانات !!

---

و كيف يمكنني تلوين القيمة الأولى الأكبر في الترتيب باللون الأخظر و القيمة الأخيرة الأصغر بالون الأحمر

أرجو أن تكون اضافة كود الطباعة على الشارت في مثالي الذي قدمته


أرجو أن لا أكون قد أطلت أو اثفلت عليك
في انتضار ردك الكريم


الساعة الآن 04:41 PM

Powered by vBulletin® Copyright ©2000 - 2024

جميع الحقوق محفوظة الى اف اكس ارابيا www.fx-arabia.com