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


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


الساعة الآن 10:58 PM

Powered by vBulletin® Copyright ©2000 - 2024

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