اف اكس ارابيا..الموقع الرائد فى تعليم فوركس 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=27491)

MOVING_AVERAGE 14-01-2013 04:01 PM

رد: دورة تعلم البرمجة باحتراف
 
الشكل المكملة للجملة if

كما لا حظنا في المثال السابقة استخدمنا جملتين if

الاولي للشرط الاول

والثانية للشرط الثاني

ولاكن ممكن الاستغناء عن استعمال جملتين

لما يكون لدين شرطين او اكثر متعلقين ببعضهم

في هذه الحالة نستخدم


[PHP]else[/PHP]عوض استخدام الشرط الثاني


تطبيق عملي اكتب المثال السابق باستخدام التكملة else

ملاحضة

ليس خطئ ان تخطئ في التطبيق الخطئ ان لا تحاول التطبيق

وكل الناس تخطئ في البداية ثم يصبح الامر من البديهيات بالنسبة لك

ياريت الجميع يحاول

gozila 14-01-2013 06:32 PM

رد: دورة تعلم البرمجة باحتراف
 
اشكر حضرتك جدا علي سرعة الرد

لكن كنت عايز اعرف ازاي اكتب ان الهاي ناقص اللو للشمعة الحالية اصغر من الهاي ناقص اللو للشمعة السابقة

MOVING_AVERAGE 14-01-2013 07:01 PM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة gozila (المشاركة 449172)
اشكر حضرتك جدا علي سرعة الرد

لكن كنت عايز اعرف ازاي اكتب ان الهاي ناقص اللو للشمعة الحالية اصغر من الهاي ناقص اللو للشمعة السابقة

اخي ياريت ترجع لاول الدروس انا شرحت كل شئ وبطريقة بسيطة

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

MOVING_AVERAGE 14-01-2013 07:04 PM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة MOVING_AVERAGE (المشاركة 431565)
في لغة MQ4 نعبر عن ما سبق كالتالي


سعر الافتتاح Open price

ينكننا تمثيل وكتابة سعر الافتتاح باحد الشكلين التاليين


[PHP]double iOpen( string symbol, int timeframe, int shift)[/PHP]

حيث

string symbol

هذه الكلمة تعني اسم الشارت وهو عبارة عن متغير من نوع string

يكتب بين قوسين مزدوجين

مثلا "EURJPY"

نستطيع وضع في هذه الخانة اما اسم الشارت بين قوسين مزدزجين

او 0 وهي تعني ان المؤشر يعمل علي اي شارت

NULL وهي ايضا تعني ان المؤشر يعمل علي اي شارت


int timeframe

هذه الكلمة تعني اسم متغير من نوع صحيح وترمز للفريم الذي نعمل عليه

مثلا فريم الساعة او فريم 15 دقيقة

ويمكن كتابة في هذه الخانة

0 للعمل علي اي تايم فريم

PERIOD_M5 او 5 للعمل علي فريم 5 دقائق

PERIOD_M15 او 15 للعمل علي فريم 15 دقائق

PERIOD_M30 او 30 للعمل علي فريم 30 دقائق

PERIOD_H1 او 60 للعمل علي فريم 60 دقائق ساعة

PERIOD_H4 او 240 للعمل علي فريم 4 ساعات

PERIOD_D1 او 1440 للعمل علي فريم اليوم

PERIOD_W1 او 10080 للعمل علي فريم الاسبوع

PERIOD_MN1 او 43200 للعمل علي فريم الشهر


int shift


هذه الكلمة تعني متغير صحيح وهي ترمز لرقم الشمعة

حيث ان الشمعة الحالية يرمز لها بالرقم 0

والتي قبلها يرمز لها ب 1 وهكذا

بعض الامثلة


افتتاح شمعة الاسبوع الحالي علي شارت EURUSD

[PHP]iOpen("EURUSD",PERIOD_W1,0);[/PHP]ارجوا طرح اي سؤال لمن لم يفهم لان هذه المعلومات تعتبر اساسيات ولن ارجع لها لما نتقدم في الدروس


حاول تفهم اخي هذا الدرس

ان تمكنت من فهمه سيسهل عليك كتابة الشرط

MOVING_AVERAGE 15-01-2013 01:06 PM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة MOVING_AVERAGE (المشاركة 449034)
للاسف لم يحاول احد

المهم الحل هو كالتالي

[PHP] open=Open[1];[/PHP][PHP] close=Close[1];[/PHP][PHP] if(open<close)[/PHP]
[PHP]Comment("bar up ");[/PHP][PHP]if(open>close)[/PHP][PHP]Comment("bar down ");[/PHP]


حل المثال بتطبيق 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]

MOVING_AVERAGE 15-01-2013 01:14 PM

رد: دورة تعلم البرمجة باحتراف
 
اخر كتابه للجملة الشرطية 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]

MOVING_AVERAGE 15-01-2013 01:18 PM

رد: دورة تعلم البرمجة باحتراف
 
في انتضار الاسئلة التي لن تاتي بالطبع


الجملة الشرطية التالية هي الجملة

[PHP]switch[/PHP]

ayoob 15-01-2013 10:23 PM

رد: دورة تعلم البرمجة باحتراف
 
السلام عليكم اخي الكريم ولله الان كيف شاهدة الموضع وجاري المتابعة من اول الصفحة وتحضير الاسئلة

ayoob 16-01-2013 01:41 AM

رد: دورة تعلم البرمجة باحتراف
 
الله يرحم والديك اخي عندي سؤل ان قمت بعمل اكسبيرات للماكد ولكن اريد ان اعرف كيفية تعريف حجم اللوت و الستوب والهدف في الدلة 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]

MOVING_AVERAGE 16-01-2013 02:58 AM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة ayoob (المشاركة 450089)
الله يرحم والديك اخي عندي سؤل ان قمت بعمل اكسبيرات للماكد ولكن اريد ان اعرف كيفية تعريف حجم اللوت و الستوب والهدف في الدلة 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]

MOVING_AVERAGE 16-01-2013 03:05 AM

رد: دورة تعلم البرمجة باحتراف
 
داخل الدالة 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]

MOVING_AVERAGE 16-01-2013 03:09 AM

رد: دورة تعلم البرمجة باحتراف
 
بالنسبة للوت انت عرفته في اول البرنامج ولا تحتاج تعريفه مرة اخري

MOVING_AVERAGE 16-01-2013 03:10 AM

رد: دورة تعلم البرمجة باحتراف
 
لو تريد شرح الاكواد بالتفصيل الممل انا حاضر

MOVING_AVERAGE 16-01-2013 08:54 PM

رد: دورة تعلم البرمجة باحتراف
 
قبل الدخول في الجملة الشرطية switch

نتطرق اولا الي الكلمة

[PHP]Break;[/PHP]

هذه الكلمة توضع لانهاء الشرط والخروج الفوري من الحلقة

ayoob 16-01-2013 08:59 PM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة MOVING_AVERAGE (المشاركة 450144)
لو تريد شرح الاكواد بالتفصيل الممل انا حاضر

اهلا اخي بارك لله فيك علي ما تقدمة ياريت بس شوية شرح في جزء تعريف الستوب في الدلة Start

MOVING_AVERAGE 16-01-2013 09:05 PM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة ayoob (المشاركة 450540)
اهلا اخي بارك لله فيك علي ما تقدمة ياريت بس شوية شرح في جزء تعريف الستوب في الدلة Start


انا شرحت لك اخي كيف تضيف الستوب لوز والتيك بروفيت

لا اعرف اين الاشكال بالتحديد

MOVING_AVERAGE 16-01-2013 09:07 PM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة ayoob (المشاركة 450540)
اهلا اخي بارك لله فيك علي ما تقدمة ياريت بس شوية شرح في جزء تعريف الستوب في الدلة Start

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

ayoob 17-01-2013 04:23 PM

رد: دورة تعلم البرمجة باحتراف
 
بارك لله فيك اخي هد هو الكواد وان شاء لله يكون صحيح
[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]

ayoob 18-01-2013 01:18 AM

رد: دورة تعلم البرمجة باحتراف
 
السلام عليكم هد تطبيق لي مؤشر البيفوات :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]

ayoob 18-01-2013 02:39 AM

رد: دورة تعلم البرمجة باحتراف
 
السلام عليكم وهد تطبيق لي درس اغلاق وافتتاح الشموع اد كان الافتتاح اكبر من الاغلاق قم بي عمل تنبية ومعة لافتة 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):

MOVING_AVERAGE 19-01-2013 12:36 AM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة ayoob (المشاركة 451075)
بارك لله فيك اخي هد هو الكواد وان شاء لله يكون صحيح
[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]

صحيح في البروكر 4 ارقام فقط في بروكر 5 ارقام ستجد مشاكل

ارجع الي مشاركتي السابقة ستجد الحل

2- دقق في شروط فتح الصفقة اضن انك عكستها

MOVING_AVERAGE 19-01-2013 12:39 AM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة ayoob (المشاركة 451430)
السلام عليكم وهد تطبيق لي درس اغلاق وافتتاح الشموع اد كان الافتتاح اكبر من الاغلاق قم بي عمل تنبية ومعة لافتة 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):


للاسف هو صحيح لاكن غير كامل لان الدالة alert تكرر التنبيه طالما الشرط محقق

يعني التنبيه سيبقي يتكرر كل ما يتحرك السعر

فيه طريقة لنجعلها تنبه مرة واحدة فقط

ساذكرها لما نصل اليها

عودة الي الدورة

MOVING_AVERAGE 19-01-2013 01:00 AM

رد: دورة تعلم البرمجة باحتراف
 
بعدما تعرفنا علي الكلمة break

ندخل الي الجملة switch ةهي تشبه كثيرا الجملة if لاكنها اكثر اختصار منها

الهيكل العام للدالة switch


[PHP]
switch()
{


}

[/PHP]نكتب داخل اقواس switch المتغير مثلا x الذي نريد تنفيذ اوامر مختلفة علي حسب قيمه

وداخل الحاضنتين

نكتب قيم x مع الاوامر التي نريد

MOVING_AVERAGE 19-01-2013 12:04 PM

رد: دورة تعلم البرمجة باحتراف
 
مثال علي الدالة switch

نريد عمل مؤشر يضهر علي الشارت الفريم المستخدم في حالت اخترنا فريم 15 دقيقة فقط

ولا يضهر شئ في حالة الفريمات الاخري

لتنفيذ هذا المؤشر نستخدم الدالة

[PHP]Period()[/PHP]

وهذه الدالة ترجع لنا تايم فريم الشارت الحالي

فيكون استخدام switch كالتالي
[PHP]
switch(Period())
{
case 15:
Comment("time = 15");
break;
default:
Comment("");

}[/PHP]

case

يعني في حالة القيمة التي تاتي بعده

default

يعني في حالة عدم تحقق القيم السابقة


في انتضار اي استفسار

ayoob 20-01-2013 02:39 AM

رد: دورة تعلم البرمجة باحتراف
 
السلام عليكم اخي بي النسبة للدلة case تم التحديد بها الفريم والدلة default ان لم تتحقق ان الفريم الدي تم تعريفة في الدلةcase هو الصحيح لن يطهر علي الشارت صحيح
هد تطبيق بسيط جعلتة يطهر علي فريم الساعة فقط

[PHP]{

switch(Period())
{
case 60:
Comment("AYOOB Time =1H");
break;
default:
Comment("");
}
}[/PHP]

MOVING_AVERAGE 20-01-2013 11:12 AM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة ayoob (المشاركة 452378)
السلام عليكم اخي بي النسبة للدلة case تم التحديد بها الفريم والدلة default ان لم تتحقق ان الفريم الدي تم تعريفة في الدلةcase هو الصحيح لن يطهر علي الشارت صحيح
هد تطبيق بسيط جعلتة يطهر علي فريم الساعة فقط

[PHP]{

switch(Period())
{
case 60:
Comment("AYOOB Time =1H");
break;
default:
Comment("");
}
}[/PHP]

تطبيقك صحيح اخي

:1 (77):

MOVING_AVERAGE 20-01-2013 03:06 PM

رد: دورة تعلم البرمجة باحتراف
 
الحلقات التكرارية

هي حلقة تكرر نفس العمل اكثر من مرة علي حسب الاوامر التي نريدها كمبرمجين وتنتهي الحلقة في حالة انتهاء شروط تكرارها

يوجد نوعين من الحلقات التكرارية

الحلقة for

الحلقة while

MOVING_AVERAGE 20-01-2013 03:13 PM

رد: دورة تعلم البرمجة باحتراف
 
نبدء بالخلقة الاكثر اهمية

ونجدها كثيرا جدا في المؤشرات

بل لا يخلو اي مؤشر منها تقريبا

ويمكن تلخيض كتابتها كما يلي

[PHP]
for(x;y;z)
{

}[/PHP]حيث x بداية الحلقة

y نهاية الحلقة

z التغير المتتالي للحلقة

الموضوع بارد جدا ولا ردود رغم المشاهدات الكثيرة

الاغلبية تريد السمكة فقط لا تريد صيدها

ayoob 21-01-2013 12:03 AM

رد: دورة تعلم البرمجة باحتراف
 
السلام عليكم اخي متابع معاك بس ياريت مثال علي الحلقة for

MOVING_AVERAGE 21-01-2013 12:07 AM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة ayoob (المشاركة 452754)
السلام عليكم اخي متابع معاك بس ياريت مثال علي الحلقة for


ساضع الامثلة وتكون بسيطة ان شاء الله

سمير محمد ارمان 21-01-2013 12:42 AM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة MOVING_AVERAGE (المشاركة 452760)
ساضع الامثلة وتكون بسيطة ان شاء الله

ياباشا ماشاء الله عليك
موضوع ممتاز ممتاز بجد
وانا بصراحة بتعلم منه كثير
جزاك الله خير وجعله الله فى ميزان حسناتك
ارجو عدم التوقف
نريد التعلم
بتوفيق اخى الكريم

ayoob 21-01-2013 12:46 AM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة سمير محمد ارمان (المشاركة 452780)
ياباشا ماشاء الله عليك
موضوع ممتاز ممتاز بجد
وانا بصراحة بتعلم منه كثير
جزاك الله خير وجعله الله فى ميزان حسناتك
ارجو عدم التوقف
نريد التعلم
بتوفيق اخى الكريم

+1http://www.fx-arabia.com/vb/images/icons/icon7.gif

MOVING_AVERAGE 21-01-2013 01:22 AM

رد: دورة تعلم البرمجة باحتراف
 
مثال عن الحلقة 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


في انتضار اي اسئلة

MOVING_AVERAGE 21-01-2013 01:37 AM

رد: دورة تعلم البرمجة باحتراف
 
1 مرفق
المؤشر

brave_mind 21-01-2013 04:57 PM

رد: دورة تعلم البرمجة باحتراف
 
تحية كبيرة جدا جدا لصاحب هذا الموضوع الرائع
الاستاذ MOVING_AVERAGE

وبعد اذن استاذنا انا جمعت كل الدروس فى ملف واحد بصيغة pdf
حتى يستطيع القارىء متابعة الشرح فى المشاركات القادمة


MOVING_AVERAGE 21-01-2013 07:07 PM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة brave_mind (المشاركة 453100)
تحية كبيرة جدا جدا لصاحب هذا الموضوع الرائع
الاستاذ MOVING_AVERAGE

وبعد اذن استاذنا انا جمعت كل الدروس فى ملف واحد بصيغة pdf
حتى يستطيع القارىء متابعة الشرح فى المشاركات القادمة


بارك الله فيك اخي

ayoob 21-01-2013 10:22 PM

رد: دورة تعلم البرمجة باحتراف
 
السلام عليكم اخي مش فاهم ماد تعني بي d+d=fو ماد تعني بي i<h وماد تعني القيمة الابتدئية i=0

MOVING_AVERAGE 21-01-2013 11:25 PM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة ayoob (المشاركة 453248)
السلام عليكم اخي مش فاهم ماد تعني بي 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

فلما نضهرها علي الشارت تضهر هذه الكتابة

MOVING_AVERAGE 22-01-2013 01:41 PM

رد: دورة تعلم البرمجة باحتراف
 
هل المثال علي حلقة for مفهوم او اضيف مثال اخر

gozila 22-01-2013 03:14 PM

رد: دورة تعلم البرمجة باحتراف
 
استاذ موفينج افريج محتاج اعمل الفكرة ديه مؤشر ضروري جدا لو تسمح ممكن المساعدة


if(High[0]-Low[0]<High[1]-Low[1] && Volume[0]>Volume[1] ) Alert


الساعة الآن 03:39 PM

Powered by vBulletin® Copyright ©2000 - 2024

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