النتائج 1,486 إلى 1,500 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 09-01-2012, 05:19 PM #1486
اخي Mr. Dollar جازاك الله كل خير على اهتمامك ومتابعتك ان شاء الله ساجربه ولكن سؤال اخير اين اضع الداله
int ConsWinsNumber()
في اي جزء من الاكسبرت لانها في الجزء Start كانت تعطيني ارور أما بخصوص الـ MagicNumber فاكيد انا استخدمه.... قلتلك اني تلميذك وناسخ كوداتك
الله يبارك فيك وبأمثالكآخر تعديل بواسطة mssaad66 ، 09-01-2012 الساعة 05:32 PM
- 09-01-2012, 06:04 PM #1487
- 09-01-2012, 10:19 PM #1488الاخ العزيز اسامه
حاولت التعديل في الدالة ادناه لكي اضيف احتساب الكميشن عند اختبار الاكسبيرت في الباك تيست حيث ان واحد لوت = 40 دولار اي اربعة بالالف.
ادالة قبل التعديل
كود PHP://+------------------------------------------------------------------+
//| We calculate the actual value of spread (returned functions on |
//| the market can give the incorrect actual value of spread if the |
//| broker varies the value of spread |
//+------------------------------------------------------------------+
int CalculateSpread()
{
Spread =Ask - Bid;
return (0);
}
كود PHP://+------------------------------------------------------------------+
//| We calculate the actual value of spread (returned functions on |
//| the market can give the incorrect actual value of spread if the |
//| broker varies the value of spread |
//+------------------------------------------------------------------+
int CalculateSpread()
{
Spread = (Ask - Bid)-40;
return (0);
}
والله الموفق
- 09-01-2012, 10:39 PM #1489
- 10-01-2012, 12:29 AM #1490
- 10-01-2012, 12:30 AM #1491
- 10-01-2012, 05:46 AM #1492
- 11-01-2012, 07:29 PM #1493
- 11-01-2012, 07:57 PM #1494
السلام عليكم ورحمة الله أستاذ أسامة
هذا الكود يفترض أن وضيفته تمييز صفقات الإكسبريت من غيره
كود PHP:int MyOrdersTotal(int Magic)
{
int c=0;
int total = OrdersTotal();
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
{
c++;
}
}
return(c);
}
أرجو من فضلك شرحا مفصلا
خاصة دوركود PHP:int c=0
كود PHP:int cnt
- 12-01-2012, 04:00 AM #1495
وعليكم السلام ورحمة الله وبركاته
هذه الدالة تقوم بحساب عدد الصفقات لمفتوحه التي لديها نفس الماجيك نمبر
فالمفروض أننا سنقوم بعملها بالشكل الآتي
نقوم بالبحث في الصفقات المفتوحه وهنا إستخدمنا الحلقه for
كود PHP:for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
كود PHP:if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
كود PHP:c++;
فمثلا إذا كان لدينا ثلاث صفقات مفتوحه بنفس الماجيك نمبر
يبدأ الإكسبرت بالبحث في الصفقات المفتوحه
فإذا كانت الصفقه الأولى لها نفس الماجيك نمبر يتم زيادة 1 لقيمة c فتصبح c=1
ثم يبحث عن الصفقة الثانيه إذا كان لها نفس الماجيك نمبر يتم زيادة 1 لقيمة c فتصبح c=1+1=2
ثم يبحث في الصفقة الثالثه إذا كان لها نفس الماجيك نمبر يتم زيادة 1 لقيمة c فتصبح c=2+1=3
ثم بعد الإنتهاء من الصفقات تعود الداله بالقيمه 3 أي هي عدد الصفقات المفتوحه والتي لها نفس الماجيك نمبر
- 12-01-2012, 05:32 PM #1496
- 12-01-2012, 06:07 PM #1497
- 14-01-2012, 07:50 PM #1498
السلام عليكم ورحمة الله
أهلا أستاذ أسامة
هذا كود الإكسبريت buy_sell_day الذي إعتمده الأستاذ وضاح عطار في موضوعه دورة صناعة الإكسبريتات
كود PHP://+------------------------------------------------------------------+
//| Byu_Sell_Day.mq4 |
//| Copyright © 2007, www.****forex.net |
//| http://www.****forex.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, www.****forex.net"
#property link "http://www.****forex.net"
extern int Step=20;
extern int Takeprofit=50;
extern int Stoploss=50;
extern double Lots=1;
int Magicnumber=234561;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
if(Hour()==0 && Minute()<5 && MyOrdersTotal(Magicnumber)>0)
{
DeletePendingOrders(Magicnumber);
CloseOrders(Magicnumber);
}
if(Hour()==0 && Minute()>5 && MyOrdersTotal(Magicnumber)==0)
{
double DayClose=iClose(Symbol(),PERIOD_D1,1);
double BuyPrice=DayClose+Step*Point;
double BuyTP=BuyPrice+Takeprofit*Point;
double BuySL=BuyPrice-Stoploss*Point;
double SellPrice=DayClose-Step*Point;
double SellTP=SellPrice-Takeprofit*Point;
double SellSL=SellPrice+Stoploss*Point;
OrderSend(Symbol(),OP_BUYSTOP,Lots,BuyPrice,3,BuySL,BuyTP,"",Magicnumber,0,Green);
OrderSend(Symbol(),OP_SELLSTOP,Lots,SellPrice,3,SellSL,SellTP,"",Magicnumber,0,Green);
}
return(0);
}
int MyOrdersTotal(int Magic)
{
int c=0;
int total = OrdersTotal();
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
{
c++;
}
}
return(c);
}
int DeletePendingOrders(int Magic)
{
int total = OrdersTotal()-1;
for (int cnt = total ; cnt > 0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY || OrderType()!=OP_SELL))
{
OrderDelete(OrderTicket());
}
}
return(0);
}
int CloseOrders(int Magic)
{
int total = OrdersTotal()-1;
for (int cnt = total ; cnt > 0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3);
}
if (OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3);
}
}
}
return(0);
}
كود PHP://+------------------------------------------------------------------+
//| Buy_Sell_Day.mq4 |
//| Copyright 2011 Cher Amine |
//| [email protected] |
//+------------------------------------------------------------------+
#property copyright "Copyright 2011 Cher Amine"
#property link "[email protected]"
extern int Step=20;
extern int Takeprofit=50;
extern int Stoploss=50;
extern double Lots=1;
int Magicnumber=234561;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
if(Hour()==0 && Minute()<5 && MyOrdersTotal(Magicnumber)>0
{
DeletePendingOrders(Magicnumber);
CloseOrders(Magicnumber);
}
if(Hour()==0 && Minute()>5 && MyOrdersTotal (Magicnumber)==0
{
double DayClose=iClose(Symbol(),PERIOD_D1,1);
double BuyPrice=DayClose+Step*Point;
double BuyTP=BuyPrice+Takeprofit*Point;
double BuySL=BuyPrice-Stoploss*Point;
double SellPrice=DayClose-Step*Point;
double SellTP=SellPrice-Takeprofit*Point;
double SellSL=SellPrice+Stoploss*Point;
OrderSend(Symbol() ,OP_BUYSTOP,Lots,BuyPrice,3,BuySL,BuyTP,"",Magicnumber,0,Green);
OrderSend(Symbol() ,OP_SELLSTOP,Lots,SellPrice,3,SellSL,SellTP,"",Magicnumber,0,Green);
}
return(0);
}
int MyOrdersTotal(int Magic)
{
int c=0;
int total = OrdersTotal();
for (int cnt=0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
{
c++;
}
}
return(c);
}
int DeletePendingOrders(int Magic)
{
int total = OrdersTotal()-1;
for (int cnt=total ; cnt>0 ;cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY || OrderType()!=OP_SELL))
{
OrderDelete(OrderTicket());
}
}
return(0);
}
int CloseOrders(int Magic)
{
int total = OrdersTotal()-1;
for(int cnt=total ; cnt>0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3);
}
if (OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3);
}
}
return(0);
}
أعدت فحصه حرف حرف وإستحدمت أيضا (compare it) لاكن دون جدوى
أرجوا من فضلك إلقاء نظرة على الكود
- 14-01-2012, 08:17 PM #1499
السلام عليكم
اشكر اساتدتنا الكرام و كل من ساهم في عمل الخير لمساعدة اخوانه
فجزاكم الله كل الخير
ادا كان ممكن كود ادارة راس المال ان صح التععبيرللمعادلة التالية
المبلغ الاجمالي مضروب في اللوت تقسيم على راس المال
مثال ادا كان مثلا راس المال = 70 و اللوت = 0.04 وبعد عمل الاكسبيرت اصبح المبلغ الاجمالي = 100
يقوم الاكسبيرت بحسات التالي 100 * 0.04 / 70 فيصبح الناتج = 0.05 لوت
اي عند فتح صفقة اخرى وكان المبلع الاجمالي ( Balance ) يساوي 100 يقوم بمضاعفة اللوت الى 0.05
وجزاكم الله كل الخير
- 14-01-2012, 11:11 PM #1500
وعليكم السلام ورحمة الله وبركاته
لم تراجع الكود جيدا
نسيت القوس في هذه الأسطر
كود PHP:if(Hour()==0 && Minute()<5 && MyOrdersTotal(Magicnumber)>0)
كود PHP:if(Hour()==0 && Minute()>5 && MyOrdersTotal (Magicnumber)==0)
كود PHP:int CloseOrders(int Magic)
{
int total = OrdersTotal()-1;
for(int cnt=total ; cnt>0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3);
}
if (OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3);
}
}
}
return(0);
}
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM