• 6:33 مساءاً




تبادل الخبرات في برمجة MQL

إضافة رد
Like Tree32Likes

أدوات الموضوع
عضو جديد
 
تاريخ التسجيل: Jun 2016
المشاركات: 1
معدل تقييم المستوى: 0
rami.signals is on a distinguished road
افتراضي رد: تبادل الخبرات في برمجة MQL
71#
26 - 06 - 2016, 01:51 AM
السلام عليكم أخي أبو أبراهيم
عندي هذا الأكسبرت وعليه هذه الكودات المطلوب

1- اضافة كود تبريد الصفقات بحيث عندما يفتح أول صفقة بيع مثلا بلوت 0.10 فلو عكست الصفقة الحالية 30 نقطة مثلا سيقوم الأكسبرت بفتح صفقة بيع إضافية بلوت أعلى من السابق بعامل ضرب 1.4 يعني الصفقة التالية 0.14 لوت وفي حال عكست الصفقة الثانية 30 نقطة أخرى سيقوم الأكسبرت بفتح صفقة 0.14*1.4 = 0.19 او 0.20 ويقوم بتحريك الأهداف لكل الصفقات بحيث يخرج بربح نهائي من 10 ل 15 نقطة
2- أضافة كود أن لايأخذ أكثر من زوج واحد عندما تتحقق شروط الدخول وعندما يغلق الصفقات للزوج الحالي يستطيع فتح لزوج أخر إذا تحققت الشروط
3- اضافة كود تحكم بسرعة السوق فلو كانت حركة السوق سريعة جدا بسبب خبر أو شيئ أخر أستطيع التحكم بشروط دخول الصفقة بشروط أخرى وإليك الكود المراد الأضافات عليه
اقتباس:

input int MagicNumber=1982; //Magic Number
input double Lots=0.1; //Fixed Lots
input double StopLoss=50; //Fixed Stop Loss (in Points)
input double TakeProfit=150; //Fixed Take Profit (in Points)
input int TrailingStop=15; //Trailing Stop (in Points)
input int Slippage=3;


//+------------------------------------------------------------------+
//| expert OnTick function |
//+------------------------------------------------------------------+
void OnTick()
{
double MyPoint=Point;
if(Digits==3 || Digits==5) MyPoint=Point*10;
double TheStopLoss=0;
double TheTakeProfit=0;
if(TotalOrdersCount()==0)
{
int result=0;
if((iRSI(NULL,PERIOD_H1,14,PRICE_CLOSE,0)<50) && (iRSI(NULL,PERIOD_H4,14,PRICE_CLOSE,0)<50) && (iRSI(NULL,PERIOD_D1,14,PRICE_CLOSE,0)<50)) // Here is your open buy rule
{
result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage ,0,0,"RAMI V2_5M BUY AUTO",MagicNumber,0,Blue);
if(result>0)
{
TheStopLoss=0;
TheTakeProfit=0;
if(TakeProfit>0) TheTakeProfit=Ask+TakeProfit*MyPoint;
if(StopLoss>0) TheStopLoss=Ask-StopLoss*MyPoint;
int MyOrderSelect=OrderSelect(result,SELECT_BY_TICKET) ;
int MyOrderModify=OrderModify(OrderTicket(),OrderOpenP rice(),NormalizeDouble(TheStopLoss,Digits),Normali zeDouble(TheTakeProfit,Digits),0,Green);
}
}
if((iRSI(NULL,PERIOD_H1,14,PRICE_CLOSE,0)>60) && (iRSI(NULL,PERIOD_H4,14,PRICE_CLOSE,0)>40) && (iRSI(NULL,PERIOD_D1,14,PRICE_CLOSE,0)>35)) // Here is your open buy rule
{
result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippag e,0,0,"RAMI V2_5M SELL AUTO",MagicNumber,0,Red);
if(result>0)
{
TheStopLoss=0;
TheTakeProfit=0;
if(TakeProfit>0) TheTakeProfit=Bid-TakeProfit*MyPoint;
if(StopLoss>0) TheStopLoss=Bid+StopLoss*MyPoint;
int MyOrderSelect=OrderSelect(result,SELECT_BY_TICKET) ;
int MyOrderModify=OrderModify(OrderTicket(),OrderOpenP rice(),NormalizeDouble(TheStopLoss,Digits),Normali zeDouble(TheTakeProfit,Digits),0,Green);
}
}
}

for(int cnt=0;cnt<OrdersTotal();cnt++)
{
int MyOrderSelect=OrderSelect(cnt,SELECT_BY_POS,MODE_T RADES);
if(OrderType()<=OP_SELL &&
OrderSymbol()==Symbol() &&
OrderMagicNumber()==MagicNumber
)

if(OrderType()==OP_BUY)
{
if((iRSI(NULL,0,14,PRICE_CLOSE,0)>800)) //here is the close buy condition
{
int MyOrderClose=OrderClose(OrderTicket(),OrderLots(), OrderClosePrice(),Slippage,Red);
}
if(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>MyPoint*TrailingStop)
{
if(OrderStopLoss()<Bid-MyPoint*TrailingStop)
{
int MyOrderModify=OrderModify(OrderTicket(),OrderOpenP rice(),Bid-TrailingStop*MyPoint,OrderTakeProfit(),0,Green);
}
}
}
}
else
{
if((iRSI(NULL,0,14,PRICE_CLOSE,0)<-800)) // here is the close sell condition
{
int MyOrderClose=OrderClose(OrderTicket(),OrderLots(), OrderClosePrice(),Slippage,Red);
}
if(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>(MyPoint*TrailingStop))
{
if((OrderStopLoss()>(Ask+MyPoint*TrailingStop)) || (OrderStopLoss()==0))
{
int MyOrderModify=OrderModify(OrderTicket(),OrderOpenP rice(),Ask+MyPoint*TrailingStop,OrderTakeProfit(), 0,Red);
}
}
}
}
}
}
//+------------------------------------------------------------------+
//| expert TotalOrdersCount function |
//+------------------------------------------------------------------+
int TotalOrdersCount()
{
int result=0;
for(int i=0;i<OrdersTotal();i++)
{
int MyOrderSelect=OrderSelect(i,SELECT_BY_POS,MODE_TRA DES);
if(OrderMagicNumber()==MagicNumber) result++;

}
return (result);
}

//+------------------------------------------------------------------+
//| expert Start function
//+------------------------------------------------------------------+

void drawshap(string name,color LineColor,double Price1,double Price2,datetime Time1,datetime Time2)
{
if(ObjectFind(name) == -1)
{
ObjectCreate(name, OBJ_RECTANGLE, 0, Time1,Price1,Time2,Price2);
ObjectSet(name, OBJPROP_COLOR, LineColor);
ObjectSet(name, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(name, OBJPROP_WIDTH, 2);
}
else if(ObjectGet(name,OBJPROP_TIME1)!=Time1||ObjectGet (name,OBJPROP_PRICE1)!=Price1){
ObjectDelete(name);
}
}









//+------------------------------------------------------------------+
rami.signals غير متواجد حالياً  
رد مع اقتباس

عضو جديد
 
تاريخ التسجيل: Feb 2013
المشاركات: 6
معدل تقييم المستوى: 0
أبو وهج is on a distinguished road
افتراضي رد: تبادل الخبرات في برمجة MQL
72#
07 - 07 - 2016, 07:10 AM
قمة العطاء ....
شكرا ابا ابراهيم وفقك الله
أبو وهج غير متواجد حالياً  
رد مع اقتباس
عضو جديد
 
تاريخ التسجيل: Aug 2015
المشاركات: 149
معدل تقييم المستوى: 9
السمحان1 is on a distinguished road
افتراضي رد: تبادل الخبرات في برمجة MQL
73#
30 - 07 - 2016, 12:17 AM
السلام عليكم
هل توجد معادله تكون ابسط من هذا الكود
[PHP]if (Lots==0.0) {
if(AccountBalance()<=5) Lots = 0.01 ;
if(AccountBalance()>=25) Lots = 0.02 ;
if(AccountBalance()>=100) Lots = 0.07 ;
if(AccountBalance()>=300) Lots = 0.19 ;
if(AccountBalance()>=400) Lots = 0.51 ;
if(AccountBalance()>=1000) Lots = 1.3 ;
if(AccountBalance()>=5000) Lots = 2.6 ;
if(AccountBalance()>=15000) Lots = 6.0 ;
if(AccountBalance()>=50000) Lots = 14.0;
if(AccountBalance()>=100000) Lots = 29.0 ;
if(AccountBalance()>=200000) Lots = 50.0 ;
if(AccountBalance()>=500000) UseRiskPercent = TRUE ;} [/PHP]
هذه الشروط وضعتها للتحكم بقيمه اللوت وتعمل بشكل جيد ولكن للاسف انها تبطئ من عمل الاكسبيرت قليلا
هل يوجد معادله او كود ابسط واخف
السمحان1 غير متواجد حالياً  
رد مع اقتباس
الصورة الرمزية سمير محمد ارمان
مشرف سابق
الصورة الرمزية سمير محمد ارمان
 
تاريخ التسجيل: Nov 2009
المشاركات: 33,660
معدل تقييم المستوى: 48
سمير محمد ارمان will become famous soon enough
افتراضي رد: تبادل الخبرات في برمجة MQL
74#
01 - 08 - 2016, 12:31 PM
اقتباس:
المشاركة الأصلية كتبت بواسطة السمحان1 مشاهدة المشاركة
السلام عليكم
هل توجد معادله تكون ابسط من هذا الكود
[PHP]if (Lots==0.0) {
if(AccountBalance()<=5) Lots = 0.01 ;
if(AccountBalance()>=25) Lots = 0.02 ;
if(AccountBalance()>=100) Lots = 0.07 ;
if(AccountBalance()>=300) Lots = 0.19 ;
if(AccountBalance()>=400) Lots = 0.51 ;
if(AccountBalance()>=1000) Lots = 1.3 ;
if(AccountBalance()>=5000) Lots = 2.6 ;
if(AccountBalance()>=15000) Lots = 6.0 ;
if(AccountBalance()>=50000) Lots = 14.0;
if(AccountBalance()>=100000) Lots = 29.0 ;
if(AccountBalance()>=200000) Lots = 50.0 ;
if(AccountBalance()>=500000) UseRiskPercent = TRUE ;} [/PHP]هذه الشروط وضعتها للتحكم بقيمه اللوت وتعمل بشكل جيد ولكن للاسف انها تبطئ من عمل الاكسبيرت قليلا
هل يوجد معادله او كود ابسط واخف
السلام عليكم اخى الكريم
بعد الوصول الى الطريقة الصحيحه من منتدى الجيران
ارجو وضع الطريقة الصحيحه هنا فى الموضوع
حتى يكون الموضوع من اسمه تبادل الخبرات
تحياتى لك
سمير محمد ارمان غير متواجد حالياً  
رد مع اقتباس
عضو جديد
 
تاريخ التسجيل: Aug 2015
المشاركات: 149
معدل تقييم المستوى: 9
السمحان1 is on a distinguished road
افتراضي رد: تبادل الخبرات في برمجة MQL
75#
01 - 08 - 2016, 05:59 PM
اقتباس:
المشاركة الأصلية كتبت بواسطة سمير محمد ارمان مشاهدة المشاركة
السلام عليكم اخى الكريم
بعد الوصول الى الطريقة الصحيحه من منتدى الجيران
ارجو وضع الطريقة الصحيحه هنا فى الموضوع
حتى يكون الموضوع من اسمه تبادل الخبرات
تحياتى لك
نعم استاذي سمير شكرا لتذكيرك لي
الطريقه الصحيحه والاخف على الاكسبيرت كالتالي
[PHP]if(AccountBalance()>= 25&&AccountBalance()< 100) Lots = 0.02 ;
else if(AccountBalance()>= 100&&AccountBalance()< 300) Lots = 0.07 ;
else if(AccountBalance()>= 300&&AccountBalance()< 400) Lots = 0.19 ;
else if(AccountBalance()>= 400&&AccountBalance()< 1000) Lots = 0.51 ;
else if(AccountBalance()>= 1000&&AccountBalance()< 5000) Lots = 1.3 ;
else if(AccountBalance()>= 5000&&AccountBalance()< 15000) Lots = 2.6 ;
else if(AccountBalance()>= 15000&&AccountBalance()< 50000) Lots = 6.0 ;
else if(AccountBalance()>= 50000&&AccountBalance()< 100000) Lots = 14.0;
else if(AccountBalance()>= 100000&&AccountBalance()< 200000) Lots = 29.0 ;
else if(AccountBalance()>= 200000&&AccountBalance()< 500000) Lots = 50.0 ;
else if(AccountBalance()>= 500000) UseRiskPercent = TRUE ; [/PHP]
السمحان1 غير متواجد حالياً  
رد مع اقتباس
الصورة الرمزية سمير محمد ارمان
مشرف سابق
الصورة الرمزية سمير محمد ارمان
 
تاريخ التسجيل: Nov 2009
المشاركات: 33,660
معدل تقييم المستوى: 48
سمير محمد ارمان will become famous soon enough
افتراضي رد: تبادل الخبرات في برمجة MQL
76#
02 - 08 - 2016, 02:25 PM
اقتباس:
المشاركة الأصلية كتبت بواسطة السمحان1 مشاهدة المشاركة
نعم استاذي سمير شكرا لتذكيرك لي
الطريقه الصحيحه والاخف على الاكسبيرت كالتالي
[PHP]if(AccountBalance()>= 25&&AccountBalance()< 100) Lots = 0.02 ;
else if(AccountBalance()>= 100&&AccountBalance()< 300) Lots = 0.07 ;
else if(AccountBalance()>= 300&&AccountBalance()< 400) Lots = 0.19 ;
else if(AccountBalance()>= 400&&AccountBalance()< 1000) Lots = 0.51 ;
else if(AccountBalance()>= 1000&&AccountBalance()< 5000) Lots = 1.3 ;
else if(AccountBalance()>= 5000&&AccountBalance()< 15000) Lots = 2.6 ;
else if(AccountBalance()>= 15000&&AccountBalance()< 50000) Lots = 6.0 ;
else if(AccountBalance()>= 50000&&AccountBalance()< 100000) Lots = 14.0;
else if(AccountBalance()>= 100000&&AccountBalance()< 200000) Lots = 29.0 ;
else if(AccountBalance()>= 200000&&AccountBalance()< 500000) Lots = 50.0 ;
else if(AccountBalance()>= 500000) UseRiskPercent = TRUE ; [/PHP]
جزاك الله كل خير
شكرا لك والى من ساعد
تحياتى لك
سمير محمد ارمان غير متواجد حالياً  
رد مع اقتباس
عضو جديد
 
تاريخ التسجيل: May 2015
المشاركات: 68
معدل تقييم المستوى: 9
القيرواني is on a distinguished road
افتراضي رد: تبادل الخبرات في برمجة MQL
77#
11 - 08 - 2016, 10:46 PM
سؤال :
هل يمكن عمل اكسبيرت يفتح صفقة معتمدا على الأشارة من أربع فريمات مثلا ؟ وشكرا لكم .
القيرواني غير متواجد حالياً  
رد مع اقتباس
الصورة الرمزية سمير محمد ارمان
مشرف سابق
الصورة الرمزية سمير محمد ارمان
 
تاريخ التسجيل: Nov 2009
المشاركات: 33,660
معدل تقييم المستوى: 48
سمير محمد ارمان will become famous soon enough
افتراضي رد: تبادل الخبرات في برمجة MQL
78#
13 - 08 - 2016, 12:55 PM
اقتباس:
المشاركة الأصلية كتبت بواسطة القيرواني مشاهدة المشاركة
سؤال :
هل يمكن عمل اكسبيرت يفتح صفقة معتمدا على الأشارة من أربع فريمات مثلا ؟ وشكرا لكم .
السلام عليكم
ممكن ان شاء الله
فى خانة الفريم يتم وضع التوقيت المطلوب
مثال على مؤشر الموفينج
[PHP] double Mov1_200=iMA(Symbol(),PERIOD_D1,200,0,MODE_SMA,PRI CE_CLOSE,1);


double Mov2_200=iMA(Symbol(),PERIOD_H4,200,0,MODE_SMA,PRI CE_CLOSE,1);


double Mov3_200=iMA(Symbol(),PERIOD_H1,200,0,MODE_SMA,PRI CE_CLOSE,1); [/PHP]كما مبين الموفينج 200 يعمل على فريم اليومى وهو PERIOD_D1
يعمل على فريم اربعة ساعات PERIOD_H4
يعمل ايضا على الساعة PERIOD_H1
مع التحكم فى التوقيت من الشهرى الى الدقيقة
لو تريد شرح كل طريقة عمل تظليل على الشيء المطلوب
اضغط من لوحة المفاتيح على f1
يظهر لك كتاب المساعده من mql4
يشرح لك طريقة عمل كل شئ
تحياتى لك
سمير محمد ارمان غير متواجد حالياً  
رد مع اقتباس
عضو جديد
 
تاريخ التسجيل: May 2015
المشاركات: 68
معدل تقييم المستوى: 9
القيرواني is on a distinguished road
افتراضي رد: تبادل الخبرات في برمجة MQL
79#
13 - 08 - 2016, 06:07 PM
جزاك الله خيرا وسلمت لنا.
القيرواني غير متواجد حالياً  
رد مع اقتباس
الصورة الرمزية سمير محمد ارمان
مشرف سابق
الصورة الرمزية سمير محمد ارمان
 
تاريخ التسجيل: Nov 2009
المشاركات: 33,660
معدل تقييم المستوى: 48
سمير محمد ارمان will become famous soon enough
افتراضي رد: تبادل الخبرات في برمجة MQL
80#
13 - 08 - 2016, 06:45 PM
اقتباس:
المشاركة الأصلية كتبت بواسطة القيرواني مشاهدة المشاركة
جزاك الله خيرا وسلمت لنا.
بالتوفيق ان شاء الله
سمير محمد ارمان غير متواجد حالياً  
رد مع اقتباس


إضافة رد



جديد مواضيع منتدى المؤشرات و الاكسبرتات

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
مجموعة كتب في برمجة الاندرويد - كتب تعلم برمجة الإندرويد - Android Books ليالي دمشق استراحة بورصات 1 11 - 07 - 2015 03:54 AM
أبحث عن أستراتيجية لربح 4 نقاط (لنتادل الخبرات) العيد سفيان منتدى تداول العملات العام 1 06 - 02 - 2013 09:04 PM
ارجووو الرد من اصحاب الخبرات ....... alaa366 منتدى المؤشرات و الاكسبرتات 6 20 - 07 - 2010 03:18 AM


06:33 PM