عرض مشاركة واحدة
قديم 28-05-2016, 05:51 PM   المشاركة رقم: 5
الكاتب
عمر عمر
عضو جديد

البيانات
تاريخ التسجيل: May 2016
رقم العضوية: 31088
العمر: 34
المشاركات: 11
بمعدل : 0.00 يوميا

الإتصالات
الحالة:
عمر عمر غير متواجد حالياً
وسائل الإتصال:

كاتب الموضوع : عمر عمر المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: سؤال أو مشكل برمجي في التعامل مع قيمتين

المشاركة الأصلية كتبت بواسطة اسلام العوامى نقره لعرض الصورة في صفحة مستقلة



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

،،،نعم اخي الفاضل قرأت الاشكال المطروح جيدا ولكن يبدو انك لم تقرأ ردي جيدا ، قم بتعريف المتغير في اول الكود بعد المتغيرات الخارجية ، وقم بازالته من داخل Ontick لان الاكسبيرت في كل حركة سعرية يقوم بتصفير قيمة المتغير ويري هل تحقق الشرط ام لا ولكن اذا قمت بتعريفه في اول الكود بعد المتغيرات الخارجية او كتسمية صحيحة في Global area وجعلت المتغير static سيظل محتفظ بقيمته الاخيرة،،،

،،،تحياتي،،،
تمام

قمت بتعريفه في الأعلى خارج الأون تيك و بقي نفس المشكل

كود:
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property indicator_chart_window

static string R;
double P = iRSI(Symbol(),5,14,PRICE_CLOSE,1);

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---

if(P>60)
{
R = "UP";
}

if(P<40)
{
R = "DOWN";
}



Comment(R);
   
//--- return value of prev_calculated for next call
   return(rates_total);
  }


كما ترى في الكود عرفته في الأعلى تمام

و لمايكون فوق 60 يعطيني up
و لما يكون تحت ال 40 يعطيني down

و لما يكون بينهما لا يزال لا يعطيني شيئ لا تزال المشكلة للأسف الشديد

نقره لعرض الصورة في صفحة مستقلة نقره لعرض الصورة في صفحة مستقلة نقره لعرض الصورة في صفحة مستقلة

نقره لعرض الصورة في صفحة مستقلة نقره لعرض الصورة في صفحة مستقلة نقره لعرض الصورة في صفحة مستقلة



عرض البوم صور عمر عمر  
رد مع اقتباس
  #5  
قديم 28-05-2016, 05:51 PM
عمر عمر عمر عمر غير متواجد حالياً
عضو جديد
افتراضي رد: سؤال أو مشكل برمجي في التعامل مع قيمتين

المشاركة الأصلية كتبت بواسطة اسلام العوامى نقره لعرض الصورة في صفحة مستقلة



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

،،،نعم اخي الفاضل قرأت الاشكال المطروح جيدا ولكن يبدو انك لم تقرأ ردي جيدا ، قم بتعريف المتغير في اول الكود بعد المتغيرات الخارجية ، وقم بازالته من داخل Ontick لان الاكسبيرت في كل حركة سعرية يقوم بتصفير قيمة المتغير ويري هل تحقق الشرط ام لا ولكن اذا قمت بتعريفه في اول الكود بعد المتغيرات الخارجية او كتسمية صحيحة في Global area وجعلت المتغير static سيظل محتفظ بقيمته الاخيرة،،،

،،،تحياتي،،،
تمام

قمت بتعريفه في الأعلى خارج الأون تيك و بقي نفس المشكل

كود:
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property indicator_chart_window

static string R;
double P = iRSI(Symbol(),5,14,PRICE_CLOSE,1);

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---

if(P>60)
{
R = "UP";
}

if(P<40)
{
R = "DOWN";
}



Comment(R);
   
//--- return value of prev_calculated for next call
   return(rates_total);
  }


كما ترى في الكود عرفته في الأعلى تمام

و لمايكون فوق 60 يعطيني up
و لما يكون تحت ال 40 يعطيني down

و لما يكون بينهما لا يزال لا يعطيني شيئ لا تزال المشكلة للأسف الشديد

نقره لعرض الصورة في صفحة مستقلة نقره لعرض الصورة في صفحة مستقلة نقره لعرض الصورة في صفحة مستقلة

نقره لعرض الصورة في صفحة مستقلة نقره لعرض الصورة في صفحة مستقلة نقره لعرض الصورة في صفحة مستقلة




رد مع اقتباس