رد: طلب مساعدة في كود مؤشر
اقتباس:
المشاركة الأصلية كتبت بواسطة ahmed fathi
انا لم اقصد ان هناك مشكلة فى تعريف المصفوفة عامة
ولكن لماذا اعادة تعريفها داخل الدالة؟
كنت اطالع الكود الان
انت تبحث عن ارقام من خانة واحدة (one digit) فلما المصفوفة مليئة بارقام لها اكثر من خانة 100 300
الأخ الكريم أحمد فتحي
السلام عليكم
الشكر الجزيل لتقديم المساعدة بالنسبة لسؤالك
في مشاركة سابقة كتبت
ملحوظة : arraycount هو متغير يعبر عن عدد عناصر المصفوفة اعتقد انك يمكنك معرفةعدد عناصر المصفوفة
فكتبت الدالة
كود:
ArraySize(array[1439])
التي تخرج عدد العناصر
بالنسبة للمصفوفة و الأرقام بثلاث و أربعة خانات أعتبرهم فلاتر
هي المسئولة عن ترتيب العناصر في المصفوفة و إلا الكود سيستخرج أول ترتيب لأربع عناصر نبحث عنها
حتى ولو كانت في غير المكان المناسب بالإضافة أن المصفوفة أصلا محسوبة بنفس الطريقة لم يتغير فيها شيء
أتمنى أن أكون قد استطعت توصيل الفكرة
رد: طلب مساعدة في كود مؤشر
اقتباس:
المشاركة الأصلية كتبت بواسطة ahmed fathi
بصراحة لم افهم الاقام التى يظهرها المؤشر:0016:
لو انك شرحت لى الية العمل بخصوص هذا المصفوفة (وخصوصا سؤالى فى المشاركة السابقة) اكون شاكرا جدا :asvc:
المؤشر بالمرفقات
آلية العمل كالتالي
بعد حساب الأربعة الأرقام ( خانات الزوج كمثال EUR/USD فهي أربعة )
و هي في الكود يرمز لها كالتالي
da1 & da2 & da3 & da4 محسوبة للشمعة قبل الأخيرة
db1 & db2 & db3 & db4 محسوبة للشمعة الأخيرة
المطلوب من الوظيفة إيجاد ترتيب العناصر الأربعة بالتوالي بالشرط الذي وضحته سابقا
وهو البحث فقط في العناصر المتبقية من البحث السابق
و بالنسبة للأربع الأرقام الآتية سيكون طبعا نفس الوظيفة التي تخرج الترتيب
بالنسبة للكود دائما يخرج 4207 أضن يجب استعمال متغير ثاني كمثال هذا الكود
لو في استطاعة لصياغته ليناسب المؤشر حتى يخرج لنا القيم الصحيحة
لأني حاولت معه لكن لم أستطع لعدم تمكني من البرمجة
كود:
int SearchResults ()
{
int Search[4];
SearchResults( order_da1, order_da2, order_da3, order_da4)
{
Search[0]=order_da1;
Search[1]=order_da2;
Search[2]=order_da3;
Search[3]=order_da4;
}
}
int SearchResults SearchArray ( array[], size_t size, SearchResults Elements)
{
SearchResults Results(-1, -1, -1, -1);
for(int i=0; i<4; i++)
{
for( n<int size; n++)
{
if(array[n]==int Elements.Search[i])
{
Results.Search[i]=n;
break;
}
}
}
return (Results);
}
أو هذا الكود
كود:
int function (int search_1 , int search_2 )
{
{
int array[1439],search_1,search_2,var_1=0,var_2=0,i,j;
for(i=0;i<1439;i++)
{
array[i]=array[1439];
}
for(i=0;i<1439;i++)
{
if(search_1==array[i])
{
search_1=i;
for(j=i+1;j<=1439;j++)
{
if(search_2==array[j])
{
search_2=j;
break;
}
else
var_2--;
}
break;
}
else
var_1++;
}
for(i=0;i<1439;i++)
{
if(search_2==array[i])
search_2=i;
else
var_2--;
}
}
breack
return 0;
}
شكرا لك ثانية أخي أحمد
جزاكم الله خير الجزاء و وفقكم لما يحبه و يرضاه
1 مرفق
رد: طلب مساعدة في كود مؤشر
رد على نقطة انه يخرج قيمة ثابتة:
لا يحدث هذا عندى فهو يعطى قيم مختلفة تتغير ايضا ان قمت بتغير التايم فريم كما فى الشارت المرفق
ساعود للكود لمحاولة فهمه اكثر
ملاحظة : كنت من فترة عزمت على قرار تعلم ال ام كيو ال ولكن دوما اصاب بالكسل
انت اعطيتنى الفرصة كى التزم نحو كود وبالتالى مراجعة قواعد اللغة لذا انا المستفيد الاكبر فى الحقيقة فشكرا لك
رد: طلب مساعدة في كود مؤشر
مرحبا ثانية أخي أحمد
بالنسبة للقيم في آخر كود مرفق
على أساس أنه السوق مغلق لن تتغير القيم
لكن على الأقل تتغير مع الإطار الزمني
الأهم من هذا كمثال إغلاق الساعة في EURCHF
(اخترتها لأن قيمها الأخيرة ليس فيها العدد 0 الكود سيعدل إن شاء الله ليستجيب للقيم المقسومة على 10)
هو 1.4631 الشمعة السابقة 1.4633
القيم بعد حسابها يدويا هي
السابقة
8+5+12+163=188
الأخيرة
8+5+12+7=32
المؤشر يكتب
القيم
4205
4205
طبعا القيمة الأخيرة ستكون 0 تعادل طرح الأولى من الثانية
و كلها قيم خاطئة حاليا
بالنسبة لتعلم MQL موفق إن شاء الله
يمكنك البداية بدروس الأستاذ الفاضل وضاح عطار في المنتدى
بالنسبة للمؤشر هل يوجد تعديل مناسب للكود المرفق في ردي الأخير ليناسبه
اعتذر أخي عن إزعاجك لكن هذا طمعا في مزيد من كرمك
تقبل سلامي