احتاج تعديل لهذا الاكسبرت
اخواني المبرمجين
السلام عليكم ورحمة الله وبركاته
اخواني احتاج الى تعديل لهذا الاكسبرت بحيث
1- يقفل صفقة البيع اذا مؤشر الموفنج افرج 3 فوق الموفج افرج 7
2-يفتح صفقة شراء في نفس التقاطع m3فوق m7
3- يقفل صفقة الشراء اذا تقاطع m3 اسفل m7
4- يفتح صفقة بيع اذا تقاطع m3 اسفل m7
يعني ودي بمعادلة اقفال الصفقات وعكس الصفقة بدون هدف او استوب لوز
كود PHP:
//+------------------------------------------------------------------+
//| الله اكبر.mq4 |
//| [email protected] |
//| [email protected] |
//+------------------------------------------------------------------+
#property copyright "[email protected]"
#property link "[email protected]"
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
extern int MaxTrades = 1; // ---------------- 1
extern int stoploss = 100; // ---------------- 2
extern int takeprofit = 50; // ---------------- 3
extern double TrailingStop =10; // ---------------- 4
extern bool UseHourTrade = false; // ---------------- 5
extern int FromHourTrade = 7; // ---------------- 6
extern int ToHourTrade = 17; // ---------------- 7
extern string MM_Parameters = "---------- Money Management";
extern double Lots = 1;
extern bool MM = false, // ---------------- 8
AccountIsMicro = false;
extern int Risk = 10; // ---------------- 9
int ID=200; // -------------------- 10
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS deinitialization function |
//+------------------------------------------------------------------+
void deinit() {
Comment("");
}
int orderscnt(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && ID==OrderMagicNumber()){
cnt++;
}
}
}
return(cnt);
}
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS Start function |
//+------------------------------------------------------------------+
int start()
{
if (UseHourTrade){
if(!(Hour()>=FromHourTrade&&Hour()<=ToHourTrade)){
Comment("Non-Trading Hours!");
return(0);
}
}
double EMA3cr, EMA3pr, EMA7cr, EMA7pr; // --------------- 11
EMA3cr=iMA(NULL, 0, 3, 0, MODE_SMA, PRICE_CLOSE,0); // ----- 12
EMA3pr=iMA(NULL, 0, 3, 0, MODE_SMA, PRICE_CLOSE,1); // ----- 13
EMA7cr=iMA(NULL, 0, 7, 0, MODE_SMA, PRICE_CLOSE,0); // ----- 14
EMA7pr=iMA(NULL, 0, 7, 0, MODE_SMA, PRICE_CLOSE,1); // ----- 15
double sl,tp;
if(MM) Lots = subLotSize();
if (EMA3cr>EMA7cr && EMA3pr<EMA7pr){ // ------------------------ 22
if(orderscnt()<MaxTrades){
if(stoploss==0){sl=0;}else{sl=Ask-stoploss*Point;}
if(takeprofit==0){tp=0;}else{tp=Ask+takeprofit*Point;}
OrderSend(Symbol(),OP_BUY,Lots,Ask,2,sl,tp,"My Own Expert",ID,0,Blue);
PlaySound("Alert.wav");
}
}
if (EMA3cr<EMA7cr && EMA3pr>EMA7pr){ // ------------------------ 23
if(orderscnt()<MaxTrades){
if(stoploss==0){sl=0;}else{sl=Bid+stoploss*Point;}
if(takeprofit==0){tp=0;}else{tp=Bid-takeprofit*Point;}
OrderSend(Symbol(),OP_SELL,Lots,Bid,2,sl,tp,"My Own Expert",ID,0,Red);
PlaySound("Alert.wav");
}
}
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS TrailingStop |
//+------------------------------------------------------------------+
if(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Bid-Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,
OrderTakeProfit(),0,Green);
return(0);
}
}
}
if(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,
OrderTakeProfit(),0,Red);
return(0);
}
}
}
return(0);
}
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS Money Managment |
//+------------------------------------------------------------------+
double subLotSize()
{
double lotMM = MathCeil(AccountFreeMargin() * Risk / 1000) / 100;
if(AccountIsMicro==false)
{
if(lotMM < 0.1) lotMM = Lots;
if((lotMM > 0.5) && (lotMM < 1)) lotMM = 0.5;
if(lotMM > 1.0) lotMM = MathCeil(lotMM);
if(lotMM > 100) lotMM = 100;
}
else
{
if(lotMM < 0.01) lotMM = Lots;
if(lotMM > 1.0) lotMM = MathCeil(lotMM);
if(lotMM > 100) lotMM = 100;
}
return (lotMM);
}
//+---------------------------------------------------------------------------------+
1 مرفق
رد: احتاج تعديل لهذا الاكسبرت
تفضل هذه الطريقة و لكن لديك بعض الاخطاء في الكود
رد: احتاج تعديل لهذا الاكسبرت
ما نستغني عنك يا محمود
ولو تبين لي وين الخطاء عشان اعدلة
وشكرا على سرعة ردك
رد: احتاج تعديل لهذا الاكسبرت
اخي محمود
اذا جاء ينفذ الامر ما ينفذة على طول بل ينتظر حتى انا انفذة يعني الشغلانة قلبت يدوي
ممكن تعلمني وين الخطاء عندي
رد: احتاج تعديل لهذا الاكسبرت
اقتباس:
المشاركة الأصلية كتبت بواسطة ناصر المنسدح
اخي محمود
اذا جاء ينفذ الامر ما ينفذة على طول بل ينتظر حتى انا انفذة يعني الشغلانة قلبت يدوي
ممكن تعلمني وين الخطاء عندي
هناك خانة في الاكسبيرت (chick box) خاصة بعدم فتح صفقة من الاكسبيرت الا بعد الموافقة عليها (يدوياً)
يجب ان تتركها فارغة (لا تضع صح عليها)
ممكن ان يكون هذا هو السبب
رد: احتاج تعديل لهذا الاكسبرت
وجدي شكرا لك
بجرب ورد عليك
والله لا يحرمنا من كباريتنا
1 مرفق
رد: احتاج تعديل لهذا الاكسبرت
أخي الكريمبالنسبة للاخطاء التي قلت عنها هي
اولا
يجب النظر لتقاطع الموفنج عند الشمعة رقم واحد و الشمعة رقم اثنان
لان الشمعة رقم صفر لم تغلق بعد و بالتالي قد يتحرك الموفنج عليها من تحت الى فوق و العكس عدة مرات قبل ان تغلق
ثانيا
بالنسبة لكود التريلنج
يجب أن تحدد للبرنامج أن يدخل على تريلنج الباي عندما يكون هناك صفقة باي مفتوحة و كذلك بالنسبة للسيل و الا سوف يعطيك غلط
بالنسبة لسؤال البرنامج عند فتح الصفقات فأظن كما قال الاخ وجدي لأن الاكسبيرت يعمل عندي
اذهب الى
tools
option
expert advisors
انظر الى الخيار الذي يقول
Ask manual cofirmation
اذا كان يوجد اشارة بجانبة الغيها
الاكسبيرت مرفق مع التعديل
رد: احتاج تعديل لهذا الاكسبرت
الله يرزقك ان شاء الله
وشكرا لك سرعة ردك
ولكن ما هو المقصود بـ ( لكود التريلنج)
اخوك ميح
رد: احتاج تعديل لهذا الاكسبرت
اقتباس:
المشاركة الأصلية كتبت بواسطة ناصر المنسدح
الله يرزقك ان شاء الله
وشكرا لك سرعة ردك
ولكن ما هو المقصود بـ ( لكود التريلنج)
اخوك ميح
هو كود الاستوب المتحرك
انظر في البرنامج فقد الغيت الكود القديم ووضعت كود جديد
رد: احتاج تعديل لهذا الاكسبرت
هل من الممكن ان تشاركنا اعدادات الاكسبيرت و الزوج و الفريم الزمنى المستخدم ؟
و لك الشكر
رد: احتاج تعديل لهذا الاكسبرت
شكراً جزيلا ً لصاحب الموضوع وشكراً جزيلاً للأخ محمود عامر
اخي الكريم / محمود عامر
احتاج الى اكسبريت على موفنج افرج 10 و20 اسي وعلى فريم ساعة وعلى زوج واحد من العملات
اريد هذا الاكسبريت لا يعمل الا على زوج واحد فقط مثلاً استرالي دولار
( بنفس الالية وهي فتح صفقة شراء واغلاقها في حالة انعكاس الموفنج افرج وفتح صفقة بيع وهكذا بدون ستب لوز او لمت )
اخي الكريم / محمود
هل بإمكانة عمل هذا الاكسبريت ولك جزيل الشكر
1 مرفق
رد: احتاج تعديل لهذا الاكسبرت
اقتباس:
المشاركة الأصلية كتبت بواسطة كاسبر
شكراً جزيلا ً لصاحب الموضوع وشكراً جزيلاً للأخ محمود عامر
اخي الكريم / محمود عامر
احتاج الى اكسبريت على موفنج افرج 10 و20 اسي وعلى فريم ساعة وعلى زوج واحد من العملات
اريد هذا الاكسبريت لا يعمل الا على زوج واحد فقط مثلاً استرالي دولار
( بنفس الالية وهي فتح صفقة شراء واغلاقها في حالة انعكاس الموفنج افرج وفتح صفقة بيع وهكذا بدون ستب لوز او لمت )
اخي الكريم / محمود
هل بإمكانة عمل هذا الاكسبريت ولك جزيل الشكر
تفضل أخي
هذا نفس البرنامج السابق مع تعديل الموفنج الى 10 و 20 اكسبونانشيل و الغاء خاصية الموني مانيجمنت و يمكنك اختيار الاغلاق على الاشارة المعاكسة بحال تعمل بدون استوباو هدف
اذا لا تريد استوب و هدف و تريلنج اتركها صفر
رد: احتاج تعديل لهذا الاكسبرت
الأخوة والأحبة الأعزاء أعضاء المنتدى الحبيب منكم العون بعد عون الله
محتاج المساعدة منكم
من لديه كود مؤشر ADXcrosses
وجزاه الله كل خير وجعله في ميزان حسناته
رد: احتاج تعديل لهذا الاكسبرت
اقتباس:
المشاركة الأصلية كتبت بواسطة محمد الخطيب
الأخوة والأحبة الأعزاء أعضاء المنتدى الحبيب منكم العون بعد عون الله
محتاج المساعدة منكم
من لديه كود مؤشر ADXcrosses
وجزاه الله كل خير وجعله في ميزان حسناته
هذه الثلاث خطوط للمؤشر
كود PHP:
double adx1=iADX(Symbol(),fram,ADXperiod,PRICE_CLOSE,MODE_MAIN,1);
double adx2=iADX(Symbol(),fram,ADXperiod,PRICE_CLOSE,MODE_PLUSDI,1);
double adx3=iADX(Symbol(),fram,ADXperiod,PRICE_CLOSE,MODE_MINUSDI,1);
رد: احتاج تعديل لهذا الاكسبرت
اقتباس:
المشاركة الأصلية كتبت بواسطة محمود عامر
تفضل أخي
هذا نفس البرنامج السابق مع تعديل الموفنج الى 10 و 20 اكسبونانشيل و الغاء خاصية الموني مانيجمنت و يمكنك اختيار الاغلاق على الاشارة المعاكسة بحال تعمل بدون استوباو هدف
اذا لا تريد استوب و هدف و تريلنج اتركها صفر
بيض الله وجهك ورزقك الله الخير الكثير في الدنيا والاخرة
اخي الكريم
سوف اقوم بالعمل على هذا الاكسبريت مع التطوير وعمل الافتراضات الازمة وسوف اوافيك بالنتائج ان شاء الله
شكراً كثيراً
اخوك / ابو طلال