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


الساعة الآن 06:45 PM

Powered by vBulletin® Copyright ©2000 - 2024

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