النتائج 1 إلى 2 من 2
الموضوع: كيفية إستخدام الكيبورد في لغة MQL4
- 03-12-2015, 06:01 PM #1
كيفية إستخدام الكيبورد في لغة MQL4
السلام عليكم ورحمة الله وبركاته
أهلا بكم في موضوع تعليمي آخر مع الداله OnChartEvent وإمتداد للموضوع الرئيسي
https://forum.arabictrader.com/t195197.html
أحد الإضافات الجديده للغة MQL4 وهو كيفية إستخدام الكيبورد في لغة MQL4 مثلا عند الضغط على زر معين على الكيبورد تريد فتح صفقه أو إغلاق صفقه أو تريد التحكم مهما كان نوع التحكم الذي تريده في الشارت
سنبدأ بمثال بسيط
أولا نستخدم الداله OnChartEvent ونوع الحدث في هذه الحاله هو
مثالكود PHP:CHARTEVENT_KEYDOWN
في البداية كل زر في الكيبورد يأخذ رقم معين في المثال السابقه المتغير sparam هو الذي يحمل رقم الزر الذي تم الضغط عليهكود PHP:void OnChartEvent(const int id,
const long &lparam,
const double &dparam,
const string &sparam)
{
if(id==CHARTEVENT_KEYDOWN)
{
// write action type
Print(sparam);
}
}
فمثلا حرف a يحمل الرقم 30
بالتالي عندما أريد وضع الشرط فيمكن أن يكون
وهكذا مع باقي الأحرفكود PHP:if(id==CHARTEVENT_KEYDOWN)
{
if(sparam==30)Print("A button is pressed");
}
في هذا المثال سوف اقوم بعمل إكسبرت بسيط يفتح صفقات بيع وشراء عند الضغط على أحرف B و S ويغلق الصفقه عند الضغط على حرف C
بالنسبه لأمر الشراء فحرف b يأخذ الرقم 48
أمر البيع حرف s يأخذ الرقم 31كود PHP:if(sparam==48)
{
//b
if(StopLoss==0){SL=0;}else{SL=Ask-StopLoss*point;}
if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*point;}
ticket=OrderSend(Symbol(),OP_BUY,NormalizeDouble(Lots,Lot_Decimal),NormalizeDouble(Ask,Digits),3*P,SL,TP,"EA",0,0,Blue);
PlaySound("Alert.wav");
}
أخيرا أمر إغلاق الصفقه حرف c يأخذ الرقم 46كود PHP:else if(sparam==31)
{
//s
if(StopLoss==0){SL=0;}else{SL=Bid+StopLoss*point;}
if(TakeProfit==0){TP=0;}else{TP=Bid-TakeProfit*point;}
ticket=OrderSend(Symbol(),OP_SELL,NormalizeDouble(Lots,Lot_Decimal),NormalizeDouble(Bid,Digits),3*P,SL,TP,"EA",0,0,Red);
PlaySound("Alert.wav");
}
أخيرا مرفق الإكسبرتكود PHP:else if(sparam==46)
{
//c
CloseOrders();
}
- 05-12-2015, 04:04 AM #2
باااااااارك الله فيك وفي جهودك
وزادك الله علماً ونفع بك اخي مستر
الأكثر زيارة
رد مع اقتباس