عرض مشاركة واحدة
قديم 24-02-2014, 02:07 PM   المشاركة رقم: 310
الكاتب
kimo_2010
عضو جديد
الصورة الرمزية kimo_2010

البيانات
تاريخ التسجيل: Jun 2013
رقم العضوية: 15355
العمر: 35
المشاركات: 22
بمعدل : 0.01 يوميا

الإتصالات
الحالة:
kimo_2010 غير متواجد حالياً
وسائل الإتصال:

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

صباح الخير استاذ اسلام يا رب تكون ريحت دماغى منى من انبارح

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

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

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

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

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

كود:
   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);

وايه الفرق بين الكودين المكتوبين دولت

كود:
//---
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);
}
}
وفى انتظارك افادتك ان شاء الله



التوقيع

نقره لعرض الصورة في صفحة مستقلة

عرض البوم صور kimo_2010  
رد مع اقتباس
  #310  
قديم 24-02-2014, 02:07 PM
kimo_2010 kimo_2010 غير متواجد حالياً
عضو جديد
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

صباح الخير استاذ اسلام يا رب تكون ريحت دماغى منى من انبارح

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

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

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

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

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

كود:
   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);

وايه الفرق بين الكودين المكتوبين دولت

كود:
//---
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);
}
}
وفى انتظارك افادتك ان شاء الله




رد مع اقتباس