اف اكس ارابيا..الموقع الرائد فى تعليم فوركس 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)

اسلام العوامى 24-02-2014 09:02 PM

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

المشاركة الأصلية كتبت بواسطة kimo_2010 (المشاركة 676505)
صباح الخير استاذ اسلام يا رب تكون ريحت دماغى منى من انبارح

عندى شويه استفسارات

دلوقتى لو عايز اصمم الاكسبيرت يدخل صفقه بعد كسر الترند او الدعوم والمقاومات او فيبوناتشى ....معتمد على الرسم اليدوى ومش مؤشرات

و من ناحيه البريك ايفن والرتلينج استوب ..كود ترلينج ستيب بيتكتب بنفس الفكره

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

وليه كتبنا موفينج ورسى بالطريقه دى واحد ظاهر والتانى مخفى

كود:

  double Buy_1=iMA(Symbol(),0,5,2,MODE_SMA,PRICE_TYPICAL,1);
  // double Sell_1=iMA(Symbol(),0,5,2,MODE_SMA,PRICE_TYPICAL,2);
 
  double Buy_2=iRSI(Symbol(),0,14,PRICE_CLOSE,1);
 //  double Sell_2=iRSI(Symbol(),0,ل14,PRICE_CLOSE,2);

،،،بالنسبة للموفنج و RSI للشمعة رقم 2 قمت بحذفهم لان ليس لهم استحدام،،،
وايه الفرق بين الكودين المكتوبين دولت

كود:

//---
if(Digits==5||Digits==4)
{
pt=0.0001;
}
else{
pt=0.01;
}

^
^
ما الفارق بينهما


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

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

كود:

  extern int Breakeven=10;
extern int Trailingstop=30;
extern double Lot1=0.1;
extern bool UseMM = false;
extern int Risk = 1;
extern int MagicNumber=778;

double pt;
int P;
int t;
double i,ii;
//+------------------------------------------------------------------+
//| Expert initialization function                                  |
//+------------------------------------------------------------------+
int OnInit()
  {

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

  }
//+------------------------------------------------------------------+
//| Expert tick function                                            |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
 
 
 
    if(UseMM==true)Lot1=lots();
      if(Breakeven>0)BreakEven();
    if(Trailingstop>0)TrailingStop();
  }
//+------------------------------------------------------------------+

double lots()
{
 double Lot1=MathCeil(AccountFreeMargin()*Risk/1000)/100;
  if(Lot1<MarketInfo(Symbol(),MODE_MINLOT))
  Lot1 = MarketInfo(Symbol(),MODE_MINLOT);
    if(Lot1>MarketInfo(Symbol(),MODE_MAXLOT))
    Lot1 = MarketInfo(Symbol(),MODE_MAXLOT);
      return(Lot1);
      }
//////////////////

void BreakEven()

{
for(int i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==Symbol())
if(OrderMagicNumber()==MagicNumber)
if(OrderType()==OP_BUY)
if(Bid-OrderOpenPrice()>Breakeven*t)
if(OrderOpenPrice()>OrderStopLoss())
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,clrNONE);
}
for(int ii=OrdersTotal()-i;ii>=0;ii--)
{
if(OrderSelect(ii,SELECT_BY_POS,MODE_TRADES))
if(OrderMagicNumber()==MagicNumber)
if(OrderType()==OP_SELL)
if(OrderOpenPrice()-Ask>Breakeven*t)
if(OrderOpenPrice()<OrderStopLoss())
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,clrNONE);
}
}

//////////////////////
void TrailingStop()
{
for(int i=OrdersTotal()-1;i>=1;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==Symbol())
if(OrderMagicNumber()==MagicNumber)
if(OrderType()==OP_BUY)
if(Bid-OrderOpenPrice()>Trailingstop*t)
if(OrderStopLoss()<Bid-Trailingstop*t)
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(Trailingstop*t),OrderTakeProfit(),0,clrNONE);
}
for(int ii=OrdersTotal()-1;ii>=0;i--)
{
if(OrderSelect(ii,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==Symbol())
if(OrderMagicNumber()==MagicNumber)
if(OrderType()==OP_SELL)
if(OrderOpenPrice()-Ask>Trailingstop*t)
if(OrderStopLoss()>Ask+Trailingstop*t)
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(Trailingstop*t),OrderTakeProfit(),0,clrNONE);
}
}

وفى انتظارك افادتك ان شاء الله

،،،المتغير t يجب ان تقوم بضربة فى Point لتحصل على الرقم الصحيح ، راجع كود الاكسبيرت السابق وخصوصا طريقة استخدام المتغير t ،،،

kimo_2010 25-02-2014 01:58 AM

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

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

دلوقتى انا عايز اعمل الشرط بيتنفذ مره واحده حتى لو قفلتها يدوى

تانى حاجه ودى الى خنقتنى اخر حاجه انها تفتح لما يكون شروط على كذا شرط

بالرغم لتغير ماجيك نمبر وجربت على اكتر من 20 عمله

برجاء المساعده من فضلك

اسلام العوامى 25-02-2014 02:26 PM

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

المشاركة الأصلية كتبت بواسطة kimo_2010 (المشاركة 676797)
انا دلوقتى الاكسبيرت شغال تمام لحد دلوقتى بس شايف انه فى مشكله فتحت الاكسبيرت على كذا شارت

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

دلوقتى انا عايز اعمل الشرط بيتنفذ مره واحده حتى لو قفلتها يدوى

تانى حاجه ودى الى خنقتنى اخر حاجه انها تفتح لما يكون شروط على كذا شرط

بالرغم لتغير ماجيك نمبر وجربت على اكتر من 20 عمله

برجاء المساعده من فضلك

،،،فضلا ارفق الاكسبيرت ليتم الاطلاع عليه،،،

kimo_2010 26-02-2014 01:22 AM

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

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


،،،فضلا ارفق الاكسبيرت ليتم الاطلاع عليه،،،

مرفق الاكسبيرت واعتذر على تاخر فى الرد

اسلام العوامى 01-03-2014 06:53 PM

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

المشاركة الأصلية كتبت بواسطة kimo_2010 (المشاركة 677205)
مرفق الاكسبيرت واعتذر على تاخر فى الرد

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

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

kimo_2010 01-03-2014 09:45 PM

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

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


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

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

لا تمام كده هى دى بس المشكله الى فضلت معايا بس

اضافه اغلاق مع اشاره معاكسه

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

ومشكور ليك جدا استاذ اسلام

cobra2010 01-03-2014 10:29 PM

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

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

فارجو منك مساعدتي في حل هذه المشاكل

مرفق الأكسبيرت للأطلاع

محمد . 02-03-2014 09:10 PM

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

abdosoltan 06-03-2014 08:54 PM

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

اسلام العوامى 07-03-2014 11:37 AM

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

المشاركة الأصلية كتبت بواسطة cobra2010 (المشاركة 678861)
اخي العوامي بارك الله فيك

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

فارجو منك مساعدتي في حل هذه المشاكل

مرفق الأكسبيرت للأطلاع

،،،جارى الاطلاع على الاكسبيرت،،،

اقتباس:

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

،،،جارى الاطلاع على الاكسبيرت،،،

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


الساعة الآن 04:19 AM

Powered by vBulletin® Copyright ©2000 - 2024

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