النتائج 1 إلى 7 من 7
- 16-05-2008, 10:06 PM #1
الى الاخ/ محمود ما اطلب تصنع اكسبرت ابدا بل اطلب تأشر على اشياء فية فقط
اخي محمود
السلام عليكم ورحمة الله وبركاته
ادري تعبتك معي وجزاك الله خير ولكن هنا ما بثقل عليك انما اطلب منك تاشر فقط في هذا الاكسبرت فقط على اشياء معينة فقط دون ان اكلف عليك في اي تعديل
وهي : 1- اين اجد اعداد الموفج افرج يعني وين العدد حقة اللي ابدلة من 7 ايام الى 14 يوم مثلا
2- اين معادلة الموفج افرج للبيع والشراء
3-هل هذا الاكسبرت عندما يغلق صفقة بيع مثلا يقوم بفتح صفقة شراء
واخيرا الله ييسر امرك ان شاء الله لا تهمل رسالتيكود PHP://+------------------------------------------------------------------+
//| El-Sakka v1.mq4 |
//| Copyright © 2007 , dr_waleed |
//| www.moneyexpertsclub.com |
//| www.arabtraderacademy.com |
//| [email protected] |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, dr_waleed"
#property link "http://www.moneyexpertsclub.net/forum/forumdisplay.php?f=48"
//---- Trades Limits
extern double MovingAverage = 50;
extern double TakeProfit = 150;
extern double StopLoss = 100;
extern double TrailingStop = 0;
extern bool SmartClose = true;
//---- Hour Trades
extern bool UseHourTrade = false;
extern int FromHourTrade = 8;
extern int ToHourTrade = 20;
//---- Money Monagement
extern string MM_Parameters = "Money Management";
extern int MaxTrades = 1;
extern double Lots = 1;
extern bool MM = true,
AccountIsMicro = false;
extern int Risk = 10;
//---- Global variables
int ID = 109811;
int ID2 = 109800;
string eaComment = "El-Sakka v1";
//+------------------------------------------------------------------+
//| Initialation function |
//+------------------------------------------------------------------+
int init()
{
return(0);
}
//+------------------------------------------------------------------+
//| deinitialization function |
//+------------------------------------------------------------------+
void deinit()
{
Comment("bye");
}
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);
}
//----------
bool isNewSymbol(string current_symbol)
{
int total = OrdersTotal();
for(int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
string selected_symbol = OrderSymbol();
if (current_symbol == selected_symbol && (OrderMagicNumber()==ID ||OrderMagicNumber()==ID2))
return (False);
}
return (True);
}
//+------------------------------------------------------------------+
//| Start function |
//+------------------------------------------------------------------+
int start()
{
if(Bars<100)
{
Print("bars less than 100");
return(0);
}
if(MM) Lots = subLotSize();
double sl, tp;
int cnt, total;
if (UseHourTrade)
{
if(!(Hour()>=FromHourTrade&&Hour()<=ToHourTrade))
{
Comment("Non-Trading Hours!");
return(0);
}
}
double MA;
MA = iMA(NULL, 0, MovingAverage, 0, MODE_EMA, PRICE_CLOSE,0);
total=OrdersTotal();
if(total<1 || isNewSymbol(Symbol()))
{
if(AccountFreeMargin()<(1000*Lots))
{
Print("We have no money. Free Margin = ",
AccountFreeMargin());
return(0);
}
if (Close[0]>MA) //---- Buy
{
if(orderscnt()<MaxTrades)
{
if(StopLoss==0)
{sl=0;TrailingStop=0;}
else
{sl=Ask-StopLoss*Point;}
if(TakeProfit==0)
{tp=0;}
else
{tp=Ask+TakeProfit*Point;}
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,sl,tp,eaComment,ID,0,Green);
PlaySound("Alert.wav");
}
}
if (Close[0]<MA) //---- Sell
{
if(orderscnt()<MaxTrades)
{
if(StopLoss==0)
{sl=0;TrailingStop=0;}
else
{sl=Bid+StopLoss*Point;}
if(TakeProfit==0)
{tp=0;}
else
{tp=Bid-TakeProfit*Point;}
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,sl,tp,eaComment,ID2,0,Red);
PlaySound("Alert.wav");
}
}
return(0);
}
//---------- Trailing Stop
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY)
{
if(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Bid-Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss()+Point*TrailingStop,OrderTakeProfit(),0,Green);
return(0);
}
}
}
else
{
if(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss()-Point*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
}
}
}
}
//---------- Smart Close
if (SmartClose)
{
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY)
{
if(Close[0]<MA) //---- Cloes Buy
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);
return(0);
}
}
else
{
if(Close[0]>MA) //---- Close Sell
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);
return(0);
}
}
}
}
}
return(0);
}
//+------------------------------------------------------------------+
//| Money Management |
//+------------------------------------------------------------------+
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);
}
//------------------------------------------------------------------------------------- The End.
آخر تعديل بواسطة ناصر المنسدح ، 16-05-2008 الساعة 10:09 PM
- 17-05-2008, 03:08 AM #2
رد: الى الاخ/ محمود ما اطلب تصنع اكسبرت ابدا بل اطلب تأشر على اشياء فية فقط
اجابة النقطة الثالثه اخي ناصر اعتقد انها نعم .. وذلك حسب خاصية ( Smartclose ) والتي تنص على اغلاق الصفقة في حال التقاطع وبالتالي سوف ينفذ شرط البيع ان كانت شراء والعكس .. هذا والله اعلم .
انا آسف اخي ناصر على تدخلي والرد بدل الاستاذ محمود حفظه الله ولكن كمحاوله مني وعلى حسب فهمي اردت ان اساعدك فإن كان هناك خطأ فأنا اعتذر عنه مقدما واعلم انها محاوله وفقك اللهآخر تعديل بواسطة MR-TURKI ، 17-05-2008 الساعة 03:15 AM
- 17-05-2008, 07:12 AM #3
رد: الى الاخ/ محمود ما اطلب تصنع اكسبرت ابدا بل اطلب تأشر على اشياء فية فقط
تستطيع تغيير البريود للموفنج من الاعدادات الخارجية و هو MovingAverage
و هذا كود الموفنج
كود PHP:MA = iMA(NULL, 0, MovingAverage, 0, MODE_EMA, PRICE_CLOSE,0);
و كذلك بالنسبة لشروط الدخول و الاغلاق فانها تعتمد في الاكسبيرت على اغلاق الشمعة رقم صفر و الشمعة رقم صفر لم تغلق بعد لذا سيعود الكود بقيمة السعر الحالي للشارت و ليس الاغلاق لذا يجب أن تكون اغلاق الشمعة رقم واحد بدل الصفر
كود الاغلاق اذا كان SmartClose يساوي ترو فانه سيغلق الشراء عند تحقق شروط البيع و العكس
ضع الصفر الاخير في كود الموفنج واحد
و ضع شروط الدخول و الاغلاق بناء على اغلاق الشمعة رقم واحد و ليس صفر
لانه بالحالة هذه فسيفتح و يغلق عدة صفقات في الشمعة الواحدة
- 17-05-2008, 07:55 AM #4
رد: الى الاخ/ محمود ما اطلب تصنع اكسبرت ابدا بل اطلب تأشر على اشياء فية فقط
شكرا وما قصرت
- 24-05-2008, 09:59 PM #5
رد: الى الاخ/ محمود ما اطلب تصنع اكسبرت ابدا بل اطلب تأشر على اشياء فية فقط
اخي / محمود
السلام عليكم ورحمة الله وبركاته
لاحظة كما لاحظ غيري اكيد ان الاكسبرت اللذي يعمل على موفنج افرج واحد لا بعد من وجود فلتر له حتى لا يغلق الصفقات ويفتحا بشكل متكرر في نفس الشمعة .
علية هل يوجد صيغة برمجية على النحو التالي
"فتح صفقة واحدة فقط عند تحقق الشرط لهذه الشمعة فقط"
بطبع اذا ما فتح الا صفقة واحدة اكيد ما بيغلقها الا اذا تحقق الشرط في الشمعة التالية ....صح او انا غلطان
والله يعطيك العافية ويوسع عليك في رزقك
- 25-05-2008, 09:39 AM #6
رد: الى الاخ/ محمود ما اطلب تصنع اكسبرت ابدا بل اطلب تأشر على اشياء فية فقط
أخي الكريم
شروط الدخول لديك هي اغلاق شمعة تحت أو فوق الموفنج و لكن حتى يتم الدخول بالصفقة مرة واحدة و انتظار الاشارة المعاكسة يجب أن تحدد الدخول بأن يكون الافتتاح للشمعة رقم واحد فوق و اغلاقها تحت الموفنج لتدخل بيع و العكس للشراء حتى لا يدخل مرة أخرى بحال وصلت الصفقة الاولى للهدف او الاستوب
و يجب أن تكون شروط الاغلاق هي نفسها شروط الدخول مع عكس الاشارة ليغلق البيع باشارة الشراء و العكس
و بالنسبة لشروط الدخول فهي تتكرر بشكل كبير وقت التذبذب يعني لما يكون الموفنج قريب من السعر سوف تجد الكثير من اغلاقات الشموع مرة فوق و مرة تحت و سيقوم البرنامج بالدخول مع كل اشارة و اغلاق العقد الاخر لذا ربما تحتاج لمؤشر ذبذبة مثل الار اس اي لتتلافى اكبر عدد من الاشارات الخاطئة
مرفق تعديل ليتم الدخول و الاغلاق بناء على الاغلاق و الافتتاح للشموع رقم واحد و ليس فقط اغلاق الشمعة رقم صفر
- 25-05-2008, 10:05 AM #7
رد: الى الاخ/ محمود ما اطلب تصنع اكسبرت ابدا بل اطلب تأشر على اشياء فية فقط
شكرك كثير الشكر
المواضيع المتشابهه
-
اطلب رأي خبراء الفوركس
By balahacho in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادنمشاركات: 2آخر مشاركة: 08-09-2010, 02:33 AM -
الاستراتيجية القاهرة الباوند فقد اكتفيت بالقراة الاستراتيجية ولي نقطة لا افهمها جيدا
By fohame in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادنمشاركات: 1آخر مشاركة: 29-09-2006, 03:32 AM -
اطلب مساعدة
By majedm in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادنمشاركات: 1آخر مشاركة: 13-02-2006, 03:59 PM -
اطلب المشوره
By المالكي in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادنمشاركات: 7آخر مشاركة: 04-02-2005, 04:17 PM