& يعني القيمة تتغير اذا ذهبت للدالة الفرعية ثم خرجت منها عودة للدالة الاصلية التي استدعتها
من غير & القيمة لن تتغير مهما سويت من حسابات وتعديلات في الدالة الفرعية---مثلا b,a اعلاه لن تتغير
تستخدم & قبل المتغير مباشرة بين اقواس البارمترز
Printable View
& يعني القيمة تتغير اذا ذهبت للدالة الفرعية ثم خرجت منها عودة للدالة الاصلية التي استدعتها
من غير & القيمة لن تتغير مهما سويت من حسابات وتعديلات في الدالة الفرعية---مثلا b,a اعلاه لن تتغير
تستخدم & قبل المتغير مباشرة بين اقواس البارمترز
http://www12.0zz0.com/2017/10/31/20/628440883.png
كود PHP:void OnStart()
{
int a=5; // العرض
int b=10; // الطول
double Area; // المساحة
double circum; // المحيط
rectangleCalculation( a , b , Area , circum );
Print("المحيط = ",circum);
Print("المساحة = ",Area);
}
//+------------------------------------------------------------------+
void rectangleCalculation(int width , int hight , double AreaXX , double circumXX )
{
AreaXX = width * hight;
circumXX = width + width + hight + hight;
}
الكود اخر الرد الاخير ما يحتاج اقول لكم لازم يحفظ تحت scripts --- صرتوا فاهمين من رأس الكود اين يجب ان يوضع.
طبعا تذكرون المصفوفات--مستحبيل الدوال احادية القيمة المعادة تستخدم مع المصفوفات
لذا ايضا المصفوفات من خلال اخر طريقة مستخدمين & وقوسي المصفوفة
وبالتالي عناصر المصفوفة عرضة للتغير في الدالة الفرعية
اذا لا تريد ان تتغير احرص في الكود ان لاتستخدم اي شيء يغيرها او استخدم const----
const تثبيت بالقوة الجبرية
المصفوفات: لابد & سواء تريد قيم محسوبة او قيم لاتتغير
http://www3.0zz0.com/2017/10/31/21/688306682.png
علامة الرفرنس & لابد تستخدم مع المصفوفات
http://www2.0zz0.com/2017/10/31/21/919189955.png
انتهى كل مايخص return
مصفوفة=array
http://www8.0zz0.com/2017/10/31/21/620677103.png
فنحن لانها مصفوفة مضطرين نستخدم الرفرنس & ,وللاسف هذه الرفرنس تجعل القيم عرضة للتغير ونحن لا نريدها ان تتغير مع هذا الشر الذي لابد منه---لذا نستخدم const كمقاوم.
اهم ردود اليوم الرد رقم 45
يعني ممكن نقول const مثل strict --لو تضرب رأسك في ستين حيط لن تتغير القيمة--اداة راديكالية شيوعية
http://www3.0zz0.com/2017/10/31/21/444694314.png
السمحان للهلالي:
اريد ان اصمم مؤشر من الصفر دون الاستعانة بأي احد او اي مؤشر موجودد--ابدأ بصفحة بيضاء وفكرته تقاطع ماكد باعدادات معينة مع ماكد ايضا باعدادات اخرى؟
الهلالي: خلنا نبدأ من الصفر -- اعدادت التشارت نفسه قبل الحديث ااسااسا عن المؤشر نفسه.
فيلسوف البادية للسمحان والهلالي: ماهو اول شي نسويه؟؟
خبير المضاعفات من تصميم اسامة
اختبار للهلالي: وضعناه تحت ال strict مود
اذا تشددنا ماهو خطأ اسامة هنا؟
http://www11.0zz0.com/2017/10/31/22/591691489.png
كان يفترض استخدام ال overloading اذا نريد LastClosedOrderInfo تستمر كدالة لما له علاقة ببيانات اخر صفقة مغلقة.
او نستخدم الاكسبلست الكاستنق تحويله الى long ثم دبل او اي كاستنق مناسب.
فعلى مذهب الخوارج القدماء الذين يكفرون بالصغيرة :) فهذا امر كفري
http://www14.0zz0.com/2017/10/31/22/362870322.png
LastClosedOrderInfo لانها حسب بقية اسطر البرنامج مدخلاتها "Time" فقط يفترض تكون هكذا وبه يزول الخطأ وتحصل الكومبتبلتي--لاحظ حذفنا كل الجمل الشرطية لانها كلها ترفية لاحاجة لها.
من دالة الاستدعاء الاصلية المطلوب اعادة قيمة زمنية datetime فجعلنا هذه الدالة المستدعاة تعيد قيمة زمنية.
كود PHP:datetime LastClosedOrderInfo(string info,int type=-1)
{
for(int i=OrdersHistoryTotal()-1;i>=0;i--)
{
bool select=OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber && (OrderType()==type || type==-1))
{
return(OrderCloseTime());
}
}
return(0);
}
رغم انها لا تعطي انذار بسبب الكاستنق للنوع الاقل من قبل النوع الاعلى ولكن الافضل ان تكون هكذا--تدرك هذا اذا انتقلت ذهنيا الى mq5
http://www3.0zz0.com/2017/10/31/22/707463986.png
تبقى مشكلة الانذار---اعادة قيمة من نوع datetime من خلال دالة من نوع double ؟؟