عرض مشاركة واحدة
قديم 10-07-2010, 05:06 AM   #3
nermine
مشرفة منتدى الأعمال
الصورة الرمزية nermine

المعلومات





آحدث المواضيع


الاتصال

nermine غير متصل

nermine is on a distinguished road
افتراضي رد: بالتطبيق المباشر تعلم برمجة الإكسبرتات من البدايه حتى الإحتراف

الداله start
يتم تنفيذ هذه الداله every tick أو عند كل تحرك للسعر

الشكل العام للداله يكون كالآتي
كود PHP:
int start()
{

return(
0
);
}

ثم نقوم بكتابة جميع الأوامر التي نريد تنفيذها بين القوسين
كود PHP:
{
}

لنبدأ الآن في دراسة الكود الموجود في الإكسبرت السابق وضعه

في البدايه قمنا بوضع هذا السطر
كود PHP:
Comment("Programmed by MR.dollar"+"\n"+"منتدى المتداول العربي "+"\n"+"www.arabictrader.com/vb");

الأمر Comment
هذا الأمر يقوم بوضع التعليق الذي قمت بتعريفه في أعلى يسار الصفحه كما في الصوره التاليه
وتقوم بكتابة التعريفات التي تريدها بين القوسين ( ) وإذا كانت جمل نصيه يجب كتابتها بين علامتي تنصيص "" بداخل القوسين ويتم الفصل بين كل تعليق أو جمله وآخرى بعلامة ( + ) أو فاصله ( , )

ونلاحظ في نهاية السطر لا ننسى الفاصله المنقوطه دليل على إنتهاء السطر البرمجي ( ; )
ويمكن بالتأكيد حذف هذا السطر دون أن يؤثر على عمل الإكسبرت .
تم تصغير هذه الصورة تلقائياً. أبعاد الصورة الحقيقي 582*119 و بحجم 7KB.

نأتي الآن إلى تعريف المؤشرات التي نريد إستخدامها وهي عبارة عن خطي الموفينج

في البداية قمنا بتعريف المتغيرات التي سنستخدمها للدلاله على الموفينج أفريج على أنها متغير من نوع double أو متغير عدد عشري في السطر التالي
كود PHP:
double ma1,ma2,ma11,ma22;

ولاحظ أنه يمكن كتابة تعريف المتغيرات بأكثر من طريقه
فيمكن كتابتها بالشكل السابق أو كتابتها بهذه الطريقه
كود PHP:
double ma1;
double ma2
;
double ma11
;
double ma22
;

أو كتابتها بهذه الطريقه
كود PHP:
double ma1,
ma2
,
ma11
,
ma22
;

ثم قمنا بإعطاء قيمة لهذه المتغيرات وهي الموفينج أفريج
كود PHP:
ma1=iMA(NULL,0,30,0,MODE_EMA,PRICE_CLOSE,1);
ma11=iMA(NULL,0,30,0,MODE_EMA,PRICE_CLOSE,2
);
ma2=iMA(NULL,0,9,0,MODE_EMA,PRICE_CLOSE,1
);
ma22=iMA(NULL,0,9,0,MODE_EMA,PRICE_CLOSE,2
);

سوف تجد أن لكل مؤشر موجود في الميتاتريدر له دالة معينة تقوم بإستدعائه سوف أشرح منهم دالة إستدعاء مؤشر الموفينج أفريج

كود PHP:
iMA( string symbol, int timeframe, int period, int ma_shift, int ma_method, int applied_price, int shift) ;

iMA وهي أحد الكلمات المحجوزه لإستدعاء مؤشر الموفينج أفريج
وهي إختصار ل Moving Average
symbol العمله التي سنقوم بحساب قيمة الموفينج أفريج لها إجعلها NULL لعملة الشارت الحالي
timeframe التايم فريم المستخدم
period , ma_shift ,ma_method ,applied_price إعدادات مؤشر الموفينج أفريج

shift وهي رقم الشمعة التي سنحسب عندها قيمة الموفينج افريج
0 تعني الشمعة الحالية , 1 تعني الشمعة السابقه ,2 تعني الشمعة قبل السابقه وهكذا .

وهذه قائمة بأشهر دوال إستدعاء المؤشرات المستخدمة في الميتاتريدر

كود PHP:
iADX( string symbol, int timeframe, int period, int applied_price, int mode, int shift);
iATR( string symbol, int timeframe, int period, int shift
);
iBands( string symbol, int timeframe, int period, int deviation, int bands_shift, int applied_price, int mode, int shift
);
iCCI( string symbol, int timeframe, int period, int applied_price, int shift
);
iDeMarker( string symbol, int timeframe, int period, int shift
);
iForce( string symbol, int timeframe, int period, int ma_method, int applied_price, int shift
);
iIchimoku( string symbol, int timeframe, int tenkan_sen, int kijun_sen, int senkou_span_b, int mode, int shift
);
iMomentum( string symbol, int timeframe, int period, int applied_price, int shift
);
iMA( string symbol, int timeframe, int period, int ma_shift, int ma_method, int applied_price, int shift
);
iOsMA( string symbol, int timeframe, int fast_ema_period, int slow_ema_period, int signal_period, int applied_price, int shift
);
iMACD( string symbol, int timeframe, int fast_ema_period, int slow_ema_period, int signal_period, int applied_price, int mode, int shift
);
iSAR( string symbol, int timeframe, double step, double maximum, int shift
);
iRSI( string symbol, int timeframe, int period, int applied_price, int shift
);
iStochastic( string symbol, int timeframe, int Kperiod, int Dperiod, int slowing, int method, int price_field, int mode, int shift
);
iWPR( string symbol, int timeframe, int period, int shift
);
iStdDev( string symbol, int timeframe, int ma_period, int ma_shift, int ma_method, int applied_price, int shift
);

كما يمكنك عن طريق تظليل أي كلمة محجوزه ثم بالضغط على F1 سوف تظهر لك خصائص هذه الداله ومعنى الإعدادات الخاصه بها فعلى سبيل المثال مؤشر Stochastic عند التظليل عليه سوف تظهر لنا خصائصه كما في الصوره التاليه
تم تصغير هذه الصورة تلقائياً. أبعاد الصورة الحقيقي 800*600 و بحجم 53KB.


الآن كيف يتم إستدعاء مؤشر خارجي غير موجود في الميتاتريدر
يتم ذلك بإستخدام الداله iCustom

كود PHP:
iCustom( string symbol, int timeframe, string name, ..., int mode, int shift);

حيث
symbol هو إسم العمله إجعلها NULL لكي تكون العمله للشارت المستخدم
timeframe التايم فريم المستخدم إجعله 0 لكي يكون التايم فريم للشارت المستخدم
name إسم المؤشر ويوضع بين علامتي تنصيص ""
ثم تقوم بعد ذلك بكتابة متغيرات المؤشر الخارجيه تباعا أو يمكنك عدم كتابتها في حال أردتها أن تكون الإعدادات الإفتراضيه
mode وهو رقم الإندكس للمؤشر لاحظ الصوره التاليه
shift وهو رقم الشمعة التي سنأخذ عندها قيمة المؤشر

مع ملاحظة أنه يجب أن يتم وضع المؤشر بصيغة ex4 عن طريق عمل Compile له ويوضع في مجلد indicators في برنامج الميتاتريدر حتى يتمكن الإكسبرت من إستدعائه

على سبيل المثال في الصوره التاليه سوف تجد أن السهم ذو اللون الأصفر رقم الإندكس له هو 0 فإذا أردنا إستدعاء السهم الأصفر سنقوم بكتابة 0 في خانة mode وإذا أردنا إستدعاء السهم الأحمر سيكون الإندكس 2


للمزيد عن الداله iCustom راجع هذا الإستفسار
تحويل مؤشر إلى اكسبيرت

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

يتبع






رد مع اقتباس