النتائج 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
كود 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
كود 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");
}
كود 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
باااااااارك الله فيك وفي جهودك
وزادك الله علماً ونفع بك اخي مستر