![]() |
رد: دورة تعلم البرمجة باحتراف
الشكل المكملة للجملة if
كما لا حظنا في المثال السابقة استخدمنا جملتين if الاولي للشرط الاول والثانية للشرط الثاني ولاكن ممكن الاستغناء عن استعمال جملتين لما يكون لدين شرطين او اكثر متعلقين ببعضهم في هذه الحالة نستخدم [PHP]else[/PHP]عوض استخدام الشرط الثاني تطبيق عملي اكتب المثال السابق باستخدام التكملة else ملاحضة ليس خطئ ان تخطئ في التطبيق الخطئ ان لا تحاول التطبيق وكل الناس تخطئ في البداية ثم يصبح الامر من البديهيات بالنسبة لك ياريت الجميع يحاول |
رد: دورة تعلم البرمجة باحتراف
اشكر حضرتك جدا علي سرعة الرد
لكن كنت عايز اعرف ازاي اكتب ان الهاي ناقص اللو للشمعة الحالية اصغر من الهاي ناقص اللو للشمعة السابقة |
رد: دورة تعلم البرمجة باحتراف
اقتباس:
وان لم تفهم ساعيد لك الشرح حتي تفهم كيف تكتب هذا الشرط |
رد: دورة تعلم البرمجة باحتراف
اقتباس:
حاول تفهم اخي هذا الدرس ان تمكنت من فهمه سيسهل عليك كتابة الشرط |
رد: دورة تعلم البرمجة باحتراف
اقتباس:
حل المثال بتطبيق else نترك الشرط الاول عادي بنا اننا برمجناه يعني نعرف معني الكتابة التي وضعناها متي تكوزن الشمعة صاعدة ؟؟؟؟ تكون الشمعة صاعدة اذا كان اغلاق الشمعة اكبر من افتتاحها وهذا هو الشرط الاول الذي وضعناه اذا لم يتحقق الشرط الاول منطقيا اما الاغلاق مساوي للافتتاح وهذا سناخذه في اخر كتابه للجملة if نتجاهله الان واما ان يكون الاغلاق اصغر من الافتتاح وهذا الشرط يعني انا الشمعة نازلة عند استخدام esle نحن نقصد اما افعل الشرط الاول if else وفي حالة لم يتحقق الشرط الاول افعل كذا برمجيا [PHP]open=Open[1];[/PHP] [PHP]close=Close[1];[/PHP] [PHP]if(open<close)[/PHP] [PHP]Comment(bar up);[/PHP] [PHP]else[/PHP] [PHP]Comment(bar down);[/PHP] |
رد: دورة تعلم البرمجة باحتراف
اخر كتابه للجملة الشرطية if
اذا كان جواب الشرط له اكثر من احتمال هنا نقوم بتجزئة الجواب الي عدة مراحل ويتم هذا باستخدام [PHP]else if [/PHP]يعني اذا لم يتحقق الشرط الاول ناخذ فقط جزء من باقي جواب الشرط ونضع عليه امر تطبيق عملي للمثال السابق المثال السابق فيه ثلاث حلات الاولي الشمعة صاعدة برمجيا [PHP]open=Open[1];[/PHP][PHP]close=Close[1];[/PHP][PHP]if(open<close)[/PHP][PHP]Comment(bar up);[/PHP]ناخذ جزء فقط من جواب الشرط للشمعة النازلة [PHP]else if(open>close)[/PHP][PHP]Comment(bar down);[/PHP]ناخذ باقي جواب الشرط [PHP]else [/PHP][PHP]Comment("open=close" );[/PHP] |
رد: دورة تعلم البرمجة باحتراف
في انتضار الاسئلة التي لن تاتي بالطبع
الجملة الشرطية التالية هي الجملة [PHP]switch[/PHP] |
رد: دورة تعلم البرمجة باحتراف
السلام عليكم اخي الكريم ولله الان كيف شاهدة الموضع وجاري المتابعة من اول الصفحة وتحضير الاسئلة
|
رد: دورة تعلم البرمجة باحتراف
الله يرحم والديك اخي عندي سؤل ان قمت بعمل اكسبيرات للماكد ولكن اريد ان اعرف كيفية تعريف حجم اللوت و الستوب والهدف في الدلة start [PHP]#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net" extern int StopLoss=20; extern int TakeProfit=20; extern double Lot=0.10; extern int MagicNumber=15000; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- Open price //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { double m1,m2,m3,m4; double SL,TP; m1=iMACD("EURUSD",5,12,26,9,PRICE_CLOSE,MODE_SIGNA L,1); m2=iMACD("EURUSD",5,12,26,9,PRICE_CLOSE,MODE_SIGNA L,0); { if(m2<0&&m1>0) OrderSend(Symbol(),OP_BUY,Lot,Ask,33,TP,SL,"AYOOB" ,MagicNumber,0,Green); } if(m2>0&&m1<0){ OrderSend(Symbol(),OP_SELL,Lot,Bid,33,TP,SL,"AYOOB ",MagicNumber,0,Red); } } //---- return(0); [/PHP] |
رد: دورة تعلم البرمجة باحتراف
اقتباس:
اول شئ نضع هذا الكود في الدالة init للتعامل مع البروكر 4 و 5 ارقام [PHP] double point; int digits,Q; [/PHP] ثم [PHP] int init() { Firstlot=Lots ; if(Digits==5||Digits==3)Q=10; else Q=1; if(Digits==2) { point=0.01; digits=2; } if(Digits==4) { point=0.0001; digits=4; } if(Digits==3) { point=0.01; digits=3; } if(Digits==5) { point=0.0001; digits=5; } return(0); }[/PHP] |
رد: دورة تعلم البرمجة باحتراف
داخل الدالة start
نعرف متغيرين [PHP]double SL,TP;[/PHP] ثم داخل اقواس الشرط نضع [PHP]if(StopLoss==0){SL=0;}else{SL=Ask-StopLoss*point;}[/PHP] [PHP]if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*poi nt;}[/PHP] بالنسبة لعملية buy و نضع داخل اقواس الشرط الثاني [PHP]if(StopLoss==0){SL=0;}else{SL=Bid+StopLoss*point;}[/PHP] [PHP]if(TakeProfit==0){TP=0;}else{TP=Bid-TakeProfit*point;}[/PHP] |
رد: دورة تعلم البرمجة باحتراف
بالنسبة للوت انت عرفته في اول البرنامج ولا تحتاج تعريفه مرة اخري
|
رد: دورة تعلم البرمجة باحتراف
لو تريد شرح الاكواد بالتفصيل الممل انا حاضر
|
رد: دورة تعلم البرمجة باحتراف
قبل الدخول في الجملة الشرطية switch
نتطرق اولا الي الكلمة [PHP]Break;[/PHP] هذه الكلمة توضع لانهاء الشرط والخروج الفوري من الحلقة |
رد: دورة تعلم البرمجة باحتراف
اقتباس:
|
رد: دورة تعلم البرمجة باحتراف
اقتباس:
انا شرحت لك اخي كيف تضيف الستوب لوز والتيك بروفيت لا اعرف اين الاشكال بالتحديد |
رد: دورة تعلم البرمجة باحتراف
اقتباس:
|
رد: دورة تعلم البرمجة باحتراف
بارك لله فيك اخي هد هو الكواد وان شاء لله يكون صحيح
[PHP]extern int StopLoss=0; extern int TakeProfit=0; extern double Lot=0.1; extern int MagicNumber=14000; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- Open price //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { { double SL,TP; double MACD=iMACD("EURUSD",PERIOD_M15,12,26,9,MODE_CLOSE, MODE_MAIN,0); double MACD1=iMACD("EURUSD",PERIOD_M15,12,26,9,MODE_CLOSE ,MODE_MAIN,1); if(MACD<0&&MACD1>0){ if(StopLoss==0){SL=0;}else{SL=Ask-StopLoss*Point;} if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*Poi nt;} OrderSend(Symbol(),OP_BUY,Lot,Ask,33,SL,TP,"AYOOB" ,MagicNumber,0,Green); } if(MACD>0&&MACD1<0){ if(StopLoss==0)SL=0;}else{SL=Bid+StopLoss*Point;} if(TakeProfit==0){TP=0;}else{TP=Bid-TakeProfit*Point;} OrderSend(Symbol(),OP_SELL,Lot,Bid,33,SL,TP,"AYOOB ",MagicNumber,0,Red); } } //---- return(0); [/PHP] |
رد: دورة تعلم البرمجة باحتراف
السلام عليكم هد تطبيق لي مؤشر البيفوات :1 (77):
[PHP]double HI=iHigh(0,PERIOD_D1,1); double CL=iClose(0,PERIOD_D1,1); double LW=iLow(0,PERIOD_D1,1); double Pivot=(CL+HI+LW)/3; double R1=2*Pivot-LW; double S1=2*Pivot-HI; double R2=Pivot+(R1-S1); double R3=HI+2*(Pivot-LW); double S2=Pivot-(R1-S1); double S3=LW-2*(HI-Pivot); datetime t=iTime(0,PERIOD_D1,0); ObjectCreate("Pivot",OBJ_HLINE,0,t,Pivot); ObjectSet("Pivot",OBJPROP_COLOR,Yellow); ObjectCreate("R1",OBJ_HLINE,0,t,R1); ObjectSet("R1",OBJPROP_COLOR,Red); ObjectCreate("R2",OBJ_HLINE,0,t,R2); ObjectSet("R2",OBJPROP_COLOR,Red); ObjectCreate("R3",OBJ_HLINE,0,t,R3); ObjectSet("R3",OBJPROP_COLOR,Red); ObjectCreate("S1",OBJ_HLINE,0,t,S1); ObjectSet("S1",OBJPROP_COLOR,Green); ObjectCreate("S2",OBJ_HLINE,0,t,S2); ObjectSet("S2",OBJPROP_COLOR,Green); ObjectCreate("S3",OBJ_HLINE,0,t,S3); ObjectSet("S3",OBJPROP_COLOR,Green);[/PHP] |
رد: دورة تعلم البرمجة باحتراف
السلام عليكم وهد تطبيق لي درس اغلاق وافتتاح الشموع اد كان الافتتاح اكبر من الاغلاق قم بي عمل تنبية ومعة لافتة BUY واد كان الاغلاق اقل من الافتتاح قم بي عمل تنبية ومعة لافتة Sell واد كان الاغلاق يساوي الافتتاح قم بعمل لافتة ومعة open==close
[PHP]double D=Open[1]; double B=Close[1]; if(B>D) Alert("BUY"); if(B<D) Alert("SEll"); if(B==D) Alert("Open=Cloes"); }[/PHP] :1 (77): |
رد: دورة تعلم البرمجة باحتراف
اقتباس:
ارجع الي مشاركتي السابقة ستجد الحل 2- دقق في شروط فتح الصفقة اضن انك عكستها |
رد: دورة تعلم البرمجة باحتراف
اقتباس:
للاسف هو صحيح لاكن غير كامل لان الدالة alert تكرر التنبيه طالما الشرط محقق يعني التنبيه سيبقي يتكرر كل ما يتحرك السعر فيه طريقة لنجعلها تنبه مرة واحدة فقط ساذكرها لما نصل اليها عودة الي الدورة |
رد: دورة تعلم البرمجة باحتراف
بعدما تعرفنا علي الكلمة break
ندخل الي الجملة switch ةهي تشبه كثيرا الجملة if لاكنها اكثر اختصار منها الهيكل العام للدالة switch [PHP] switch() { } [/PHP]نكتب داخل اقواس switch المتغير مثلا x الذي نريد تنفيذ اوامر مختلفة علي حسب قيمه وداخل الحاضنتين نكتب قيم x مع الاوامر التي نريد |
رد: دورة تعلم البرمجة باحتراف
مثال علي الدالة switch
نريد عمل مؤشر يضهر علي الشارت الفريم المستخدم في حالت اخترنا فريم 15 دقيقة فقط ولا يضهر شئ في حالة الفريمات الاخري لتنفيذ هذا المؤشر نستخدم الدالة [PHP]Period()[/PHP] وهذه الدالة ترجع لنا تايم فريم الشارت الحالي فيكون استخدام switch كالتالي [PHP] switch(Period()) { case 15: Comment("time = 15"); break; default: Comment(""); }[/PHP] case يعني في حالة القيمة التي تاتي بعده default يعني في حالة عدم تحقق القيم السابقة في انتضار اي استفسار |
رد: دورة تعلم البرمجة باحتراف
السلام عليكم اخي بي النسبة للدلة case تم التحديد بها الفريم والدلة default ان لم تتحقق ان الفريم الدي تم تعريفة في الدلةcase هو الصحيح لن يطهر علي الشارت صحيح
هد تطبيق بسيط جعلتة يطهر علي فريم الساعة فقط [PHP]{ switch(Period()) { case 60: Comment("AYOOB Time =1H"); break; default: Comment(""); } }[/PHP] |
رد: دورة تعلم البرمجة باحتراف
اقتباس:
:1 (77): |
رد: دورة تعلم البرمجة باحتراف
الحلقات التكرارية
هي حلقة تكرر نفس العمل اكثر من مرة علي حسب الاوامر التي نريدها كمبرمجين وتنتهي الحلقة في حالة انتهاء شروط تكرارها يوجد نوعين من الحلقات التكرارية الحلقة for الحلقة while |
رد: دورة تعلم البرمجة باحتراف
نبدء بالخلقة الاكثر اهمية
ونجدها كثيرا جدا في المؤشرات بل لا يخلو اي مؤشر منها تقريبا ويمكن تلخيض كتابتها كما يلي [PHP] for(x;y;z) { }[/PHP]حيث x بداية الحلقة y نهاية الحلقة z التغير المتتالي للحلقة الموضوع بارد جدا ولا ردود رغم المشاهدات الكثيرة الاغلبية تريد السمكة فقط لا تريد صيدها |
رد: دورة تعلم البرمجة باحتراف
السلام عليكم اخي متابع معاك بس ياريت مثال علي الحلقة for
|
رد: دورة تعلم البرمجة باحتراف
اقتباس:
ساضع الامثلة وتكون بسيطة ان شاء الله |
رد: دورة تعلم البرمجة باحتراف
اقتباس:
موضوع ممتاز ممتاز بجد وانا بصراحة بتعلم منه كثير جزاك الله خير وجعله الله فى ميزان حسناتك ارجو عدم التوقف نريد التعلم بتوفيق اخى الكريم |
رد: دورة تعلم البرمجة باحتراف
اقتباس:
|
رد: دورة تعلم البرمجة باحتراف
مثال عن الحلقة for
هذا المثال بسيط لاكن يحتاج قليل من التركيز نريد كتابت علي الشارت كلمة اكثر من مرة مثلا fx-arabia fx-arabia fx-arabia هنا انا كررت هذه الكلمة fx-arabia 3مرات واضهرتها علي الشارت ناتي لتحليل العمل اولا ثم نبرمج المؤشر اولا يلزمنا متغير من نوع string نخزن في الكتابه fx-arabia يلومنا متغير اخر من نوع string نخزن فيه التكرارات يلزمنا متغير اخير لكي يكرر لي الكتاب كما اريد انا اولا التصريح بالمتغير الاول [PHP]string f="fx-arabia ";[/PHP] التصريح بالمتغير الثاني [PHP]string d="";[/PHP] التصريح بعدد المرات التي اريد ان تضهر الكثابه [PHP]extern int N=3;[/PHP] نكتب هذه الحلقة داخل الدالة start [PHP] for(int i=0;i<N;i++) { d=d+f; } Comment(d); [/PHP] سيكتب لنا المؤشر fx-arabia N مرة حيث N وضعته متغير خارجي يمكن التحكم فيه لو وضعته 5 يكتب fx-arabia 5 مرات المؤشر في المرفقات هذا استخدام بسيط للحلقة for شرح كود for الحلقة for وضعنا فيها قيمة ابتدائية i=0 وقيمة نهائية i<N وزيادة كل مرة ب 1 في انتضار اي اسئلة |
رد: دورة تعلم البرمجة باحتراف
1 مرفق
المؤشر
|
رد: دورة تعلم البرمجة باحتراف
تحية كبيرة جدا جدا لصاحب هذا الموضوع الرائع الاستاذ MOVING_AVERAGE وبعد اذن استاذنا انا جمعت كل الدروس فى ملف واحد بصيغة pdf حتى يستطيع القارىء متابعة الشرح فى المشاركات القادمة |
رد: دورة تعلم البرمجة باحتراف
اقتباس:
|
رد: دورة تعلم البرمجة باحتراف
السلام عليكم اخي مش فاهم ماد تعني بي d+d=fو ماد تعني بي i<h وماد تعني القيمة الابتدئية i=0
|
رد: دورة تعلم البرمجة باحتراف
اقتباس:
الدالة for كتبناها كا التالي [PHP] for(int i=0;i<N;i++) } d=d+f; } [/PHP] ماذا تعني هذه الكتابة كما قلنا من قبل اول خانة في الخلقة for نكتب فيها القيمة الابتدائية للحلقة هنا كتبنا القيمة الابتدائية للحلقة i=0 القيمة الوسطي هي القيمة النهائية للحلقة i<N و N عرفناها من قبل انها تساوي 3 يعني القيمة النهائية للحلقة هي i < 3 اخر خانة هي عملية الزيادة وكما شرختها من قبل اي اننا نضيف قيمة 1 الي القيمة السابقة ل i d هو متغير من نوع string يعني ممكن يكون مجموعة حروف لم نضع فيه شئ يعني قيمته فارغة لو نعمل [PHP] Comment(d); [/PHP] لن يضهر شئ f متغير من نوع string فيه هذه الكلمة fx-arabia الي الان لم ندخل في الية عمل for 1- تبدء الحلقة for من القيمة 0 d=d+f يعني قيمة d اصبحت تساوي قيمة d السابقة + قيمة f قيمة d السابقة فارغة قيمة f = fx-arabia تصبح قيمة d = fx-arabia تصل الحلقة الي الحاصنة الاخيرة فتعيد اختبار الشروط بحيث i اصبحت = 1 وقيمة i مازالت اصغر من 3 يعيد تنفيذ d=d+f حيث قيمة d السابقة تساوي fx-arabia و قيمة f = fx-arabia تصبح قيمة d = fx-arabia fx-arabia تصل الحلقة الي الحاصنة الاخيرة فتعيد اختبار الشروط بحيث i اصبحت = 2 وقيمة i مازالت اصغر من 3 يعيد تنفيذ d=d+f حيث قيمة d السابقة تساوي fx-arabia fx-arabia و قيمة f = fx-arabia تصبح قيمة d = fx-arabia fx-arabia fx-arabia تصل الحلقة الي الحاصنة الاخيرة فتعيد اختبار الشروط بحيث i اصبحت = 3 اي ان شرط التكرار هنا غير صحيح فتخرج من الحلقة وفي النهاية قيمة d التي خرجنا بها من الحلقة هي d = fx-arabia fx-arabia fx-arabia فلما نضهرها علي الشارت تضهر هذه الكتابة |
رد: دورة تعلم البرمجة باحتراف
هل المثال علي حلقة for مفهوم او اضيف مثال اخر
|
رد: دورة تعلم البرمجة باحتراف
استاذ موفينج افريج محتاج اعمل الفكرة ديه مؤشر ضروري جدا لو تسمح ممكن المساعدة
if(High[0]-Low[0]<High[1]-Low[1] && Volume[0]>Volume[1] ) Alert |
الساعة الآن 03:54 PM |
Powered by vBulletin® Copyright ©2000 - 2025
جميع الحقوق محفوظة الى اف اكس ارابيا www.fx-arabia.com