اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex

اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex (https://fx-arabia.com/vb/index.php)
-   منتدى المؤشرات و الاكسبيرتات (https://fx-arabia.com/vb/forumdisplay.php?f=6)
-   -   موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4 (https://fx-arabia.com/vb/showthread.php?t=34302)

اسلام العوامى 04-06-2016 01:48 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة بهاء الدين (المشاركة 873250)
السلام عليكم
في ىالمحاضرة 9 من دروس البرمجة الاحترافية حاولت التطبيق على المنصة البرنامج لكن البرنامج لا يفتح صفقات و يظهر الخطا130 .كود البرنامج كما يلي .ارجو المساعدة من الاخوة المبرمجين لمعرفة الخطا بالتحديد

extern string F = "fast ma setting";
extern int fperiod = 10;
extern int fshift = 0;
extern int fmethod = 0;
extern int fapplied = 0 ;
extern string S = "slow ma setting";
extern int speriod = 50;
extern int sshift = 0;
extern int smethod = 0;
extern int sapplied = 0;
extern string e = "ea managment";
extern int Takeproft = 50;
extern int Stoploss = 20;
extern double Lot = 0.1;
extern int Magic = 112255;
int T;


//--------------------------------------------------------------------------------------------------------------
int start()
{
double tiksize = MarketInfo(Symbol(),MODE_TICKSIZE);

T=1; if(Digits==5||Digits==3){T=10;}


double fmalast = iMA(Symbol(),0,fperiod,fshift,fmethod,fapplied,2);
double fmanow = iMA(Symbol(),0,fperiod,fshift,fmethod,fapplied,1);
double smalast = iMA(Symbol(),0,speriod,sshift,smethod,sapplied,2);
double smanow = iMA(Symbol(),0,speriod,sshift,smethod,sapplied,1);
if(fmalast<smalast&&fmanow>smanow)

OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Ask-(Stoploss*Point*T),Ask+(Takeproft*Point*T),NULL,Magic,0,clrAliceBlue);

if(fmalast>smalast&&fmanow<smanow)

OrderSend(Symbol(),OP_SELL,Lot,Bid,3,Bid+(Stoploss*Point*T),Bid-(Takeproft*Point*T),NULL,Magic,0,clrRed);


return (0);
}
//---------------------------------------------------------------------------------------------------------------

،،،اهلا بك اخي الفاضل ، قم بعمل التعديلات الموجوده بالاقتباس باللون الاحمر وسيعمل الاكسبيرت بشكل سليم،،،

،،،تحياتي،،،

بهاء الدين 04-06-2016 04:08 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اشكرك اخي و بارك الله فيك

Pips Hunter 04-06-2016 05:19 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
السلام عليكم
اخى الكريم اسلام
عندى استفسار وهو ان عندى مؤشر رقمي مهمته هو حسابه بعض البيانات مثل قيمة الموفنج 200 على فريمات مختلفة فى نفس الوقت
احاول ان اعمل باك تست له ولكن المشكلة اثناء الباك تست ان البيانات التى يعطيها المؤشر كلها غلط عدا بيانات نفس الفريم الى التست عليه فقط رغم انه فى الواقع والحقيقة غير كدة وبيحسب كل الفريمات فى وقت واحد
لذلك الباك تست بيخلى المؤشر لايعمل بشكل صحيح الا على الفريم الى التست شغال عليه فقط ،، رغم انه يعمل على 4 فريمات فى وقت واحد فى الحالة الطبيعيه وهو 1 - 5 - 15 - 30 دقيقة
فهل يوجد حل برمجي لهذه المشكلة ؟؟

اسلام العوامى 04-06-2016 05:54 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Pips Hunter (المشاركة 873277)
السلام عليكم
اخى الكريم اسلام
عندى استفسار وهو ان عندى مؤشر رقمي مهمته هو حسابه بعض البيانات مثل قيمة الموفنج 200 على فريمات مختلفة فى نفس الوقت
احاول ان اعمل باك تست له ولكن المشكلة اثناء الباك تست ان البيانات التى يعطيها المؤشر كلها غلط عدا بيانات نفس الفريم الى التست عليه فقط رغم انه فى الواقع والحقيقة غير كدة وبيحسب كل الفريمات فى وقت واحد
لذلك الباك تست بيخلى المؤشر لايعمل بشكل صحيح الا على الفريم الى التست شغال عليه فقط ،، رغم انه يعمل على 4 فريمات فى وقت واحد فى الحالة الطبيعيه وهو 1 - 5 - 15 - 30 دقيقة
فهل يوجد حل برمجي لهذه المشكلة ؟؟

،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،اهلا بك اخي الفاضل ، يجب الاطلاع علي كود المؤشر لمعرفة المشكلة وبالتالي ايجاد حل لها،،،

،،،تحياتي،،،

Pips Hunter 04-06-2016 06:02 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة اسلام العوامى (المشاركة 873280)


،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،اهلا بك اخي الفاضل ، يجب الاطلاع علي كود المؤشر لمعرفة المشكلة وبالتالي ايجاد حل لها،،،

،،،تحياتي،،،

تفضل اخى اسلام
فى المؤشر 8 strings
MA1
MA2
MA3
الي اخري وفكرة عمل المؤشر انه يحسب مدي بعد السعر الحالى ارتفاعا او انخفاضا عن خط الموفنج لفريم معين
من 1 الي 8 على 8 فريمات مختلفة لمعرفة اتجاة الترند العام

Pips Hunter 04-06-2016 06:03 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
1 مرفق
المؤشر فى المرفقات

rami.signals 23-06-2016 08:23 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
السلام عليكم

هل من مستجيب لسؤالي لو تكرمتوا
ما خليت غوغل ومنتديات ومبرمجين وشركات إلا و سألتهم و لا يوجد رد حتى الأن

أريد كود تبريد الصفات ياجماعة طلعت روحي وما كنت حصل هذا الكود أرجو المساعدة

اسلام العوامى 23-06-2016 10:22 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة rami.signals (المشاركة 876132)
السلام عليكم

هل من مستجيب لسؤالي لو تكرمتوا
ما خليت غوغل ومنتديات ومبرمجين وشركات إلا و سألتهم و لا يوجد رد حتى الأن

أريد كود تبريد الصفات ياجماعة طلعت روحي وما كنت حصل هذا الكود أرجو المساعدة

،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،اهلا بك اخي الفاضل ، الكود موجود بالمشاركة علي الرابط التالي،،،

http://www.fx-arabia.com/vb/showpost...&postcount=559

،،،تحياتي،،،

rami.signals 24-06-2016 01:17 AM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
أستاذ إسلام العوامي

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

لكن الكود الذي أريد هو للتبيريد
و إليك الشرح
1- عندي أكسبرت مفتوح أريد إضافة بعض التعديلات عليه وهي كالتالي

1- عنما يفتح الاكسبرت صفقة بيع مثلا ب 1 لوت في حال خسرت الصفقة 30 أو 40 نقطة فسيقوم الأكسبرت بفتح صفقة بيع أخرى بقيمة 1.4 لوت مثلا و هكذا وفي حال عكس الصفقتين الأولى 80 نقطة والثانية 40 نقطة فسيقوم الاكسبرت بفتح صفقة 1.96 وهكذا تكون المتتالية وسيقوم الأكسبرت بتحريك الهدف لجميع الصفقات بحيث أخرج بربح نهائي 10 نقاط أو 15 ن
هذا الكود الذي أريده أولا

ثانيا : أريد كود أن لايسمح الأكسبرت إلا بفتح زوج واحد في حال تحققت شروط الدخول مع العلم أنني أضع الأكسبرت على جميع الشارتات ( المشكلة التي أوجاهها الأن أن الأكسبرت يفتح عدة أزواج مع بعض لأنه يجد تحقق الشروط في عدة أزواج

بارك الله فيك أستاذ إسلام وطموحي أن أصبح مبرمج وإنشاء الله سأصل على يدك

rami.signals 24-06-2016 01:27 AM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
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)>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_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);
}
}









//+------------------------------------------------------------------+

double lastOpenPrice(){
datetime d =0;
double xt =0;
int total = OrdersTotal();

for (int cnt = 0 ; cnt <= total ; cnt++)
{
if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol()==Symbol()&&OrderMagicNumber()==Magi cNumber)
{
if (OrderOpenTime()>d) {d=OrderOpenTime(); xt=OrderOpenPrice();}
}
}
return(xt);
}

ابو نور8 24-06-2016 11:20 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
1 مرفق
السلام عليكم

استاذ اسلام هل ممكن مساعدتي في عمل حلقه كالاتي

كل20 شمعه ترسم نفس المعادله
احاول البحث عن كيرف فايتنج جيد حاولت كثيرا ولم انجح في عمل الحلقه

شكرا مقدما

اسلام العوامى 25-06-2016 12:22 AM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة ابو نور8 (المشاركة 876499)
السلام عليكم

استاذ اسلام هل ممكن مساعدتي في عمل حلقه كالاتي

كل20 شمعه ترسم نفس المعادله
احاول البحث عن كيرف فايتنج جيد حاولت كثيرا ولم انجح في عمل الحلقه

شكرا مقدما

،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،اهلا بك اخي الفاضل ، ماهي المعادلة المراد رسمها او تنفيذها في الحلقة،،،

،،،تحياتي،،،

ابو نور8 25-06-2016 01:54 AM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
في الحقيقه لم اعرف جدوى المعادله لاني لم احويلها لكود

توجد برامج كثيره لاستخراج معادلات CURVE FIITNG
GMDH-MATLAB -SPSS-NCSS واحتاج الى التجربه كثيرا حتى اصل الى معادله مناسبه ان كانت موجوده

المعادله كالتالي هي معادله من برنامج الماتلاب الذي اعتقد انه الافضل

f(x) = 1.168e-27*x^8 + -2.333e-23*x^7 +1.916e-19*x^6 + -8.347e-16*x^5 +2.066e-12*x^4 +-2.876e-09*x^3 +2.063e-06*x^2 + -0.0005748*x + 1.356

حيث
f(x) = قيمة الخط المراد رسمه
X=رقم الشمعه

كما في الشارت السابق قيمة X=1 ثم 2 وهكذا ولان المعادله السابقه معموله على بيانات 20 شمعه سوف يعوض قيمة X من 1-20 ويرسم الخط ويبدا يعد من جديد 1-20 الشمعه التاليه وهكذا
في النهايه سوف نحصل على نفس السايكل متكرر

شكرا

mohamed fawzy 22-07-2016 03:41 AM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
السلام عليكم
ما معنى هذا الخطأ وكيف يتم التخلص منه implicit conversion from 'number' to 'string'] ]

eamn 09-08-2016 11:04 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
السلام عليك أخ إسلام لدي مشكلة في الشرط التالي
if (sar2<close[2] && sar1>clos[1])
double open =Open[0];

حيث (sar)
هو متحول أسندت له إعدادات الباربولك سار
والمشكلة هي أنني أريد أن أسند للمتحول نفس سعر (open[0] ) الاول ( أي عند ثاني نقطة باربولك سار فوق الشمعة المتشكلةطالما أن الباربولك سار فوق الشموع) ماهو الحل

اسلام العوامى 10-08-2016 12:17 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة eamn (المشاركة 882280)
السلام عليك أخ إسلام لدي مشكلة في الشرط التالي
if (sar2<close[2] && sar1>clos[1])
double open =Open[0];

حيث (sar)
هو متحول أسندت له إعدادات الباربولك سار
والمشكلة هي أنني أريد أن أسند للمتحول نفس سعر (open[0] ) الاول ( أي عند ثاني نقطة باربولك سار فوق الشمعة المتشكلةطالما أن الباربولك سار فوق الشموع) ماهو الحل

،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،اهلا بك اخي الفاضل ، لم افهم ماذا تريد تماما ، الرجاء الشرح مرة اخري بمزيد من التفصيل،،،

،،،تحياتي،،،

eamn 10-08-2016 04:49 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
1 مرفق
اقتباس:

المشاركة الأصلية كتبت بواسطة اسلام العوامى (المشاركة 882347)


،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،اهلا بك اخي الفاضل ، لم افهم ماذا تريد تماما ، الرجاء الشرح مرة اخري بمزيد من التفصيل،،،

،،،تحياتي،،،

السلام أحي اسلام

في الصورة المرفقة أريد أن أحفظ سعر افتتاح الشمعة التي عليها الخط العامودي ( open )طالما أن الباربولك سار فوق الشموع

وعندما يصبح الباربولك سار أسفل الشموع أريد أن يحفظ سعر افتتاح الشمعة الثانية التي تحتها الباربولك سار في متحول أخر
أو في نفس المتحول السابق( open ) طالما أن الباربولك تحت الشموع ........
وهكذا كلما تغير الباربولك سار ( أريده دائما أن يحفظ سعر افتتاح الشمعة الثانية )

eamn 14-08-2016 02:24 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
السلام عليك أخ اسلام

أرسلت لك رسالة أخرى مرفقة بصورة مع شرح ما أريد بشكل مفصل تقريبا هل مازال ما اريده غير مفهوم لم ترد علي بعد

اسلام العوامى 14-08-2016 02:35 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة eamn (المشاركة 882403)
السلام أحي اسلام

في الصورة المرفقة أريد أن أحفظ سعر افتتاح الشمعة التي عليها الخط العامودي ( open )طالما أن الباربولك سار فوق الشموع

وعندما يصبح الباربولك سار أسفل الشموع أريد أن يحفظ سعر افتتاح الشمعة الثانية التي تحتها الباربولك سار في متحول أخر
أو في نفس المتحول السابق( open ) طالما أن الباربولك تحت الشموع ........
وهكذا كلما تغير الباربولك سار ( أريده دائما أن يحفظ سعر افتتاح الشمعة الثانية )

اقتباس:

المشاركة الأصلية كتبت بواسطة eamn (المشاركة 883001)
السلام عليك أخ اسلام

أرسلت لك رسالة أخرى مرفقة بصورة مع شرح ما أريد بشكل مفصل تقريبا هل مازال ما اريده غير مفهوم لم ترد علي بعد


،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،الكود التالي يمثل الحل للمطلوب بالصورة المرفقة وهو حفظ افتتاح ثاني شمعة والباربوليك اعلي السعر ويمكن عكسها لحفظ سعر افتتاح ثاني شمعة والباربوليك اسفل السعر،،،

كود:


sar1 = iSAR(Symbol(),PERIOD_CURRENT,Step,Max,1);
sar2 = iSAR(Symbol(),PERIOD_CURRENT,Step,Max,1);
sar3 = iSAR(Symbol(),PERIOD_CURRENT,Step,Max,1);

if(sar3<Close[3]&&sar2>Close[2]&&sar1>Close[1]){open = Open[1];}

،،،تحياتي،،،

Sami_99020 15-08-2016 10:01 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
السلام عليكم كيف ممكن اضيف الى الاكسبيرت انديكيتور خارجي

اسلام العوامى 16-08-2016 01:29 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Sami_99020 (المشاركة 883220)
السلام عليكم كيف ممكن اضيف الى الاكسبيرت انديكيتور خارجي

،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،الشرح موجود بالموضوع علي الرابط التالي،،،

http://www.fx-arabia.com/vb/showthread.php?t=49984

،،،تحياتي،،،

mahm 05-10-2016 11:40 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
السلام عليكم ورحمة الله وبركاته
شكرا لك الستاذ سامي العوامي على دروس البرمجة

أنا قمت بتنفيذ الاكسبيرت في الحلقة التاسعة وكان في ملاحظتين من البرنامج، حاولت شغل الاكسبيرت الا انه لم يعمل ولا أعرف السبب.

//+------------------------------------------------------------------+
//| MA_crose_EA.mq4 |
//| Copyright 2016, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict

extern string s1 ="fast MA sittings";
extern int Fperiod = 10;
extern int Fshift = 0;
extern int Fmethod = 0;
extern int Fapplied = 0;

extern string s2="slow MA sittings";
extern int Speriod = 20;
extern int Sshift = 0;
extern int Smethod = 0;
extern int Sapplied = 0;

extern string s3="EA manegmend";
extern int TakeProfit=50;
extern int StopLoss=30;
extern double lot=0.01;
extern int magic=12345;


double t;

//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
double ticksize = MarketInfo(Symbol(),MODE_TICKSIZE);
if (ticksize== 0.00001 ||0.001)
t=ticksize*10;
else
t=ticksize;


//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//--- destroy timer
EventKillTimer();

}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
double Fmalast = iMA(NULL,0,Fperiod,Fshift,Fmethod,Fapplied,2);
double Fmanow = iMA(NULL,0,Fperiod,Fshift,Fmethod,Fapplied,1);
double Smalast = iMA(NULL,0,Speriod,Sshift,Smethod,Sapplied,2);
double Smanow = iMA(NULL,0,Speriod,Sshift,Smethod,Sapplied,1);
if (Fmalast<Smalast && Fmanow>Smanow)
if (OrdersTotal()==0)
OrderSend(Symbol(),OP_BUY,lot,Ask,3,Ask-(StopLoss*t),Ask+(TakeProfit*t),NULL,magic,0,Blue) ;
if (Fmalast>Smalast && Fmanow<Smanow)
if (OrdersTotal()==0)
OrderSend(Symbol(),OP_SELL,lot,Bid,3,Bid+(StopLoss *t),Bid-(TakeProfit*t),NULL,magic,0,Red);

}
//+------------------------------------------------------------------+
//| Timer function |
//+------------------------------------------------------------------+
void OnTimer()
{
//---

}
//+------------------------------------------------------------------+
//| ChartEvent function |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
const long &lparam,
const double &dparam,
const string &sparam)
{
//---

}
//+------------------------------------------------------------------+

عزالدين رمال 11-10-2016 07:09 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
انا عندي ليك سؤال
لو جبت اكسبير فاشل واسقطت عليه فكرة ناجحة يعني الاستراتيجية
السؤال من حقي ادعي الملكية بتاعت الاكسبيرت بعد التغيير والا لا يعتبر تزوير

اسلام العوامى 12-10-2016 09:44 AM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة عزالدين رمال (المشاركة 889517)
انا عندي ليك سؤال
لو جبت اكسبير فاشل واسقطت عليه فكرة ناجحة يعني الاستراتيجية
السؤال من حقي ادعي الملكية بتاعت الاكسبيرت بعد التغيير والا لا يعتبر تزوير

،،،للاجابة عن ذلك يجب معرفة المقصود باكسبيرت فاشل اسقطت عليه فكرة ناجحة ، هل قمت بالتعديل في كود الاكسبيرت ام قمت بتعديل الاعدادات ، ام تعديل بتغيير طريقة العمل ونسبة التعديل في الكود البرمجي ، وفي كل الاحوال لايجوز اداعاء ملكية شئ ليس لك،،،

عزالدين رمال 12-10-2016 04:35 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
انا اشكرك سيدي وهذه محاولة اكسبير مركز الثقل لكنني لم اكتبها كلها بل ركبتها من عدت اكسبيرات لاني لا اجيد استخدام لوحة المفاتيح فارجو ان تعطيني رايك في مدى استيعابي للدورو mql4 نصفها كتابة والنصف كوبي كولي انا لا ادعي ان الاكسبرت لي هذا تمرين فقط

عزالدين رمال 30-10-2016 01:26 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
الظاهر مافيش حد هنا

اسلام العوامى 31-10-2016 12:14 AM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة عزالدين رمال (المشاركة 889672)
انا اشكرك سيدي وهذه محاولة اكسبير مركز الثقل لكنني لم اكتبها كلها بل ركبتها من عدت اكسبيرات لاني لا اجيد استخدام لوحة المفاتيح فارجو ان تعطيني رايك في مدى استيعابي للدورو mql4 نصفها كتابة والنصف كوبي كولي انا لا ادعي ان الاكسبرت لي هذا تمرين فقط

،،،اهلا بك اخي الفاضل ، محاولة جيدة واري انك قمت باضافة الموفينج افريج ليتم الدخول عن طريق وجود الموفينج اعلي او اسفل مؤشر مركز الثقل ، استمر علي هذا الاداء وباذن الله سوف تستطيع برمجة اي فكرة تريدها بسهولة،،،

،،،تحياتي،،،

ميدو تانجو 10-11-2016 08:52 AM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
السلام عليكم
استاذ اسلام اولا اشكرك على ردودك وحرصك على نشر العلم .. زادك الله من فضله
لدي استفسار اذا سمحت لي :
اريد عمل اكسبرت اذا تحقق شرط معين يفتح صفقة بلوت معين وليكن 0.01 وهدف 50 نقطة ولكن اذا تحرك السعر في اتجاه الهدف 10 نقاط اي حقق ربح 10 نقاط يفتح صفقة اخرى بلوت مضاعف ويصبح 0.02 ثم اذا تحرك 10 نقاط اخرى يفتح بلوت عادي 0.01 ويستمر على اللوت العادي الى ان تقفل الصفقة الأولى وتحقيق 50 نقطة ربح
حاولت كثيرا ولكن عجزت عن عملها ولا احصل الى النتيجة الضبوطة فلجأت الى حضرتك لكي تساعدني
وشكرا جزيلا

khaled16661 11-11-2016 02:48 AM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
انا عندي سوال انا اعمل حاليا على اكسبريت الاخبار ولكن في بعض المصطلحات لم افهمها لو يتم شرحها مع امثلة
lot - stop loss -take profi كلهم مفهوم لكن traling distance - magic - limit level - traling start كلهم غير مفهوم بدي شرح مع امثلة لو سمحة لانني اعمل عليه وقت الاخبار
http://www.fx-arabia.com/vb/uploaded...1478821260.png http://www.fx-arabia.com/vb/uploaded...1478821260.png وهذا الرابط حتى تكون مفهومة اكثر
وهذا شرح للاكسبريت بالغة الإنكليزية لكنني لم افهم بعضها
Type_OP - selection of STOP or LIMIT orders;
Lot - lot;
LimitLevel - the distance from the price for placing pending orders;
StopLoss - stop loss;
TakeProfit - take profit;
TrailStart - profit in points to activate trailing stop;
TrailDistance - trailing stop distance;
Magic - the number for the EA to recognize its own positions

waddah 14-11-2016 12:53 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
السلام عليكم
أرجو شرح كيفية عمل Dashboard (إكسبرت وليس مؤشر )
مثلا Dashboard لمؤشر RSI يكتب بشكل عمودي الزوج وقيمة ال RSI ( أو سهم أخضر ان كان RSI تحت 50 و أحمر بالعكس )

مع جزيل الشكر .... بصراحة المشكلة عندي كيف أربط بين مصفوفة الأزواج ومصفوفة قيم RSI

اسلام العوامى 14-11-2016 03:01 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
1 مرفق
اقتباس:

المشاركة الأصلية كتبت بواسطة waddah (المشاركة 892687)
السلام عليكم
أرجو شرح كيفية عمل Dashboard (إكسبرت وليس مؤشر )
مثلا Dashboard لمؤشر RSI يكتب بشكل عمودي الزوج وقيمة ال RSI ( أو سهم أخضر ان كان RSI تحت 50 و أحمر بالعكس )

مع جزيل الشكر .... بصراحة المشكلة عندي كيف أربط بين مصفوفة الأزواج ومصفوفة قيم RSI

،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،اهلا بك اخي الفاضل ، يمكن عمل هذا البورد بأكثر من طريقة ومرفق مثال سريع علي بورد لعدد 3 تايم فريم لمؤشر RSI،،،

،،،تحياتي،،،

waddah 14-11-2016 03:33 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
الشكر الجزيل للرد السريع .....
لكن ما أبحث عنه بالعكس ...تايم فريم واحد لمجموعة من الأزواج 20 زوج .....بالطريقة المذكورة بالملف المرفق سيصبح الإكسبرت أو المؤشر ثقيل جدا

كيف أفعل ذلك باستخدام المصفوفات مصفوفة RSI + مصفوفة الأزواج كي يظهر كالتالي : الزوج مع قيمة ال RSI بجانبه كالتالي :

EURUSD 56
GBPUSD 44
USDCHF 71
-----
-----
-----
-----

nourhan20 05-12-2016 01:03 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
هل يمكن عمل نطام ادارة رأس مال يعتمد على نسبة الهامش الحر وتحديد اللوت المناسب على اساس نوع الحساب بمعنى ان لو الاكسبيرت اشتغل على حساب ميكرو يفتح صفقة بالنسبة المحددة اللى هى مثلا 1.00 ونفس النسبة لو على حساب ستاندر تفتح صفقة 0.01 .. بهدف تخطي مشكلة نوع الحساب ؟؟؟

اسلام العوامى 06-12-2016 11:56 AM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة nourhan20 (المشاركة 895227)
هل يمكن عمل نطام ادارة رأس مال يعتمد على نسبة الهامش الحر وتحديد اللوت المناسب على اساس نوع الحساب بمعنى ان لو الاكسبيرت اشتغل على حساب ميكرو يفتح صفقة بالنسبة المحددة اللى هى مثلا 1.00 ونفس النسبة لو على حساب ستاندر تفتح صفقة 0.01 .. بهدف تخطي مشكلة نوع الحساب ؟؟؟

،،،نعم يمكن عمل ذلك والكود موجود بالفعل علي الرابط التالي،،،

كبسولات برمجية - طريقة كتابة كود ادارة رأس المال

sara ali 20-01-2017 03:57 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
1 مرفق
السلام عليكم ورحمه الله
اهلا فيكم
اسمي ساره وهذه اول تجربه لي ببرمجة الاكسبريت
حاولت عمله لكن هناك اخطاء ولم يعمل لي باك تيست فارجوا منكم ارشادي لكي اتعلم

فكرتي هي انه يشتري عند تقاطع موفينج 5 مع 25 للاعلى
ويغلق الصفقه عندما يعطعها للاسفل والعكس صحيح للبيع

اسلام العوامى 21-01-2017 10:55 AM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
1 مرفق
اقتباس:

المشاركة الأصلية كتبت بواسطة sara ali (المشاركة 899782)
السلام عليكم ورحمه الله
اهلا فيكم
اسمي ساره وهذه اول تجربه لي ببرمجة الاكسبريت
حاولت عمله لكن هناك اخطاء ولم يعمل لي باك تيست فارجوا منكم ارشادي لكي اتعلم

فكرتي هي انه يشتري عند تقاطع موفينج 5 مع 25 للاعلى
ويغلق الصفقه عندما يعطعها للاسفل والعكس صحيح للبيع

،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،اهلا بكي الاخت الفاضلة ، المحاولة جيدة ولكن يجب ان تكون علي دراية وفهم ومارأيته للاسف في الاكسبيرت الذي ارفقتيه هو قص ولصق لاكواد مختلفة بدون فهم صحيح للأسس ، ونصيحتي هي ان تقومي بمراجعة فيديوهات دورة البرمجة الاولي للتعرف علي الاساسيات وقمت ايضا بتصحيح اخطاء الاكسبيرت لتقومي بالمقارنة بينها وبين النسخة السابقة للتعرف علي الاخطاء وطريقة علاجها،،،

دورة تعليم البرمجة الاحترافية بلغة mql4

،،،تحياتي،،،

sara ali 21-01-2017 02:57 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
السلام عليكم ورحمه الله وبركاته

شكرا لك اخي اسلام على تجاوبك معي
مثل ما قلت بالضبط انا اعتمدت على القص واللصق مع انني ما كنت اعرف وين احط الاكواد
يوم عملت للاكسبريت باك تيست ما اشتغل ليه
والاكسبريت اللي عدلته لي عمل باك تيست لكن ما عطاني نتائج ليه
انا ودي افهم
وشكرا لك مره اخرى

waddah 21-01-2017 03:26 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
السلام عليكم :

ممكن حل للنقطة التالية :

في بداية الإكسبرت يضع أمرين معلقين باي ستوب و أمرين معلقين سيل ستوب (عند مسافات محددة ) و يحدد ستوب وتيك بروفيت لكل من صفقات البيع والشراء بحيث يكون ستوب البيع هو هدف الشراء وبالعكس ( لهذا الحد لا توجد مشكلة بالبرمجة )

المشكلة :
عند تفعل أمر معلق باي ستوب مثلا يضيف أمرين معلقين سيل ستوب (عند نفس سعر أوامر السيل السابقة ) وبالعكس - لكن حجم اللوت للصفقات المعلقة الجديدة = حجم الصفقات التي تفعلت * 2

وتستمر العملية حتى الوصول للتيك أو الستوب ....



فكرة : دالة تعيد عدد الأوامر المعلقة عند سعر معين ودالة تعيد مجموع لوتات الأوامر التي تفعلت عند سعر معين

waddah 01-02-2017 07:09 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
أستاذ إسلام ....
ممكن المساعدة في كود لجعل Label أو شكل مستطيل يبدأ Xdistance له بعد خط chart Shift برقم معين .... هل يمكن ذلك ؟

اسلام العوامى 04-02-2017 11:55 AM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
اقتباس:

المشاركة الأصلية كتبت بواسطة waddah (المشاركة 901360)
أستاذ إسلام ....
ممكن المساعدة في كود لجعل Label أو شكل مستطيل يبدأ Xdistance له بعد خط chart Shift برقم معين .... هل يمكن ذلك ؟

،،،اهلا بك اخي الفاضل ، لا يمكن فعل ذلك ولكن هناك طريقة للتحايل علي هذا القصور عن طريق عمل تمبلت وحفظه ثم استدعائه برمجيا عن طريق ChartApplyTemplate ،،،

،،،تحياتي،،،


الساعة الآن 07:20 PM

Powered by vBulletin® Copyright ©2000 - 2024

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