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

ابو سمر 04-12-2013 08:53 AM

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

المشاركة الأصلية كتبت بواسطة amerelhozn (المشاركة 578564)
اخى الكريم الاستاذ اسلام العوامى
اسمح لى بان اضع اجتهادى ف الرد وانت تصحح الخطأ


>>

كود:


extern bool reversesignal= true;



; ()if(buy condition) closeOrder
; ()if(sell condition) closeOrder



ونعمل دالة closeorder


void closeordar(int typer){
 for(int c=0;c<OrdersTotal();c++){
 OrderSelect(c,SELECT_BY_POS,MODE_TRADES);
 if(OrderMagicNumber()==MagicNumber&&OrderSymbol()==Symbol()&&OrderType()== typer){
 if(OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,30);
 if(OrderType()==OP_SELL)OrderClose(OrderTicket(),OrderLots(),Ask,30);

    }
  }
  }

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

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

http://www.fx-arabia.com/vb/uploaded...1386136384.jpg

اسلام العوامى 04-12-2013 09:32 AM

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

المشاركة الأصلية كتبت بواسطة ابو سمر (المشاركة 578554)
السلام عليكم ورحمة الله وبركاته
تشرفنا بمعرفة حضرتك استاذ اسامه
لى استفسار عن تطبيق اكسبرت تقاطع الموفنج
حضرتك عملت الاكسبرت على اساس الهدف والاستوب
وشرحتلنا اضافة البريك ايفن والتريلنج ستوب
فلو فرضنا انى عايز الاكسبرت يقوم باغلاق العقد المفتوح
وفتح عقد عكسى عند تغيير الاشاره
فنحن هنا لن نحتاج الى بروفت او ستوب او بريك ايفن او تريلنج
سيكون اعتمادنا فى فتح الصفقه واغلاقها على اشارات المؤشر فقط
فما هو الكود المستخدم لذلك ؟؟
تقبل تحياتى

،،،اولا ستقوم بحجز متغير من النوع bool بأى اسم
كود:

extern bool CloseOppisite = false;
بعد ذلك تكتب الكود التالى قبل اكواد فتح الصفقات بحيث اذا تحققت شروط الشراء وفى نفس الوقت قيمة المتغير CloseOppisite تساوى true يقوم الاكسبيرت بغلق صفقات البيع والعكس وفى حالتنا هذه سنستخدم الموفنج كشرط دخول
كود:

if ( (mafast2<maslow2&&mafast1>maslow1&&CloseOppisite==true ))
     
      CloseSellOrders();
     
     
      if ((mafast2>maslow2&&mafast1<maslow1&&CloseOppisite==true))
   
    CloseBuyOrders();

وتقوم بعمل وظيفتين لغلق البيع او الشراء

كود:

int CloseBuyOrders()
{
  for (int i = 0 ; i < OrdersTotal() ; i++)
  {
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
    {
      if (OrderType()==OP_BUY)
      {
        bool y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,digits),3*t);
        while(y==false){y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,digits),3*t);Sleep(1000);}
      }
    }
  }
  return(0);


int CloseSellOrders()
{
 for (int i = 0 ; i < OrdersTotal() ; i++)
  {
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
    {
      if (OrderType()==OP_SELL)
      {
      bool y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,digits),3*t);
      while(y==false){y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,digits),3*t);Sleep(1000);}
      }
    }
    }
  return(0);
}



اقتباس:

المشاركة الأصلية كتبت بواسطة amerelhozn (المشاركة 578564)
اخى الكريم الاستاذ اسلام العوامى
اسمح لى بان اضع اجتهادى ف الرد وانت تصحح الخطأ


>>

كود:


extern bool reversesignal= true;



; ()if(buy condition) closeOrder
; ()if(sell condition) closeOrder



ونعمل دالة closeorder


void closeordar(int typer){
 for(int c=0;c<OrdersTotal();c++){
 OrderSelect(c,SELECT_BY_POS,MODE_TRADES);
 if(OrderMagicNumber()==MagicNumber&&OrderSymbol()==Symbol()&&OrderType()== typer){
 if(OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,30);
 if(OrderType()==OP_SELL)OrderClose(OrderTicket(),OrderLots(),Ask,30);

    }
  }
  }

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

الكود صحيح ولكن يلزم ان تضع شرط
كود:

if (reversesignal= true)
قبل الكود السابق

اسلام العوامى 04-12-2013 09:35 AM

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

المشاركة الأصلية كتبت بواسطة ابو سمر (المشاركة 578619)
جزاك الله كل خير على المساعده
هركب الكود واشوف النتيجه
................
لو تكرمت ممكن تقولى سبب الخطأ اللى فى الصوره

http://www.fx-arabia.com/vb/uploaded...1386136384.jpg

،،،ابحث فوق هذا الكود ستجد قوس غير موجود او علامة ; والاغلب سيكون قوس،،،

ابو سمر 05-12-2013 02:08 AM

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

المشاركة الأصلية كتبت بواسطة العوامى (المشاركة 578627)
،،،اولا ستقوم بحجز متغير من النوع bool بأى اسم
كود:

extern bool CloseOppisite = false;
بعد ذلك تكتب الكود التالى قبل اكواد فتح الصفقات بحيث اذا تحققت شروط الشراء وفى نفس الوقت قيمة المتغير CloseOppisite تساوى true يقوم الاكسبيرت بغلق صفقات البيع والعكس وفى حالتنا هذه سنستخدم الموفنج كشرط دخول
كود:

if ( (mafast2<maslow2&&mafast1>maslow1&&CloseOppisite==true ))
     
      CloseSellOrders();
     
     
      if ((mafast2>maslow2&&mafast1<maslow1&&CloseOppisite==true))
   
    CloseBuyOrders();

وتقوم بعمل وظيفتين لغلق البيع او الشراء

كود:

int CloseBuyOrders()
{
  for (int i = 0 ; i < OrdersTotal() ; i++)
  {
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
    {
      if (OrderType()==OP_BUY)
      {
        bool y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,digits),3*t);
        while(y==false){y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,digits),3*t);Sleep(1000);}
      }
    }
  }
  return(0);


int CloseSellOrders()
{
 for (int i = 0 ; i < OrdersTotal() ; i++)
  {
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
    {
      if (OrderType()==OP_SELL)
      {
      bool y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,digits),3*t);
      while(y==false){y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,digits),3*t);Sleep(1000);}
      }
    }
    }
  return(0);
}


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

يا ريت حضرتك تظبطلى الاكواد بحيث يغلق عند الاشارة العكسيه

كود:

double buy=iCustom(Symbol(),0,"LongSignal",2,2);
double sell=iCustom(Symbol(),0,"LongSignal",3,2);
if(buy<10000)buy=true;
if(sell<10000)sell=true;

if (buy<10000&&buy==true)
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,0,"Long BUY",MagicNumber,0,Blue);

if (sell<10000&&sell==true)
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"Long SELL",MagicNumber,0,Blue);


amerelhozn 05-12-2013 03:00 AM

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

المشاركة الأصلية كتبت بواسطة العوامى (المشاركة 578627)
،،،اولا ستقوم بحجز متغير من النوع bool بأى اسم
كود:

extern bool CloseOppisite = false;
بعد ذلك تكتب الكود التالى قبل اكواد فتح الصفقات بحيث اذا تحققت شروط الشراء وفى نفس الوقت قيمة المتغير CloseOppisite تساوى true يقوم الاكسبيرت بغلق صفقات البيع والعكس وفى حالتنا هذه سنستخدم الموفنج كشرط دخول
كود:

if ( (mafast2<maslow2&&mafast1>maslow1&&CloseOppisite==true ))
     
      CloseSellOrders();
     
     
      if ((mafast2>maslow2&&mafast1<maslow1&&CloseOppisite==true))
   
    CloseBuyOrders();

وتقوم بعمل وظيفتين لغلق البيع او الشراء

كود:

int CloseBuyOrders()
{
  for (int i = 0 ; i < OrdersTotal() ; i++)
  {
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
    {
      if (OrderType()==OP_BUY)
      {
        bool y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,digits),3*t);
        while(y==false){y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,digits),3*t);Sleep(1000);}
      }
    }
  }
  return(0);


int CloseSellOrders()
{
 for (int i = 0 ; i < OrdersTotal() ; i++)
  {
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
    {
      if (OrderType()==OP_SELL)
      {
      bool y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,digits),3*t);
      while(y==false){y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,digits),3*t);Sleep(1000);}
      }
    }
    }
  return(0);
}






الكود صحيح ولكن يلزم ان تضع شرط
كود:

if (reversesignal= true)

قبل الكود السابق

اظن انها غلطة مطبيعة زي

if(reversesignal==true )
صح كده
لانها سؤال

sunegypt 05-12-2013 04:44 AM

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

ربنا يعينا يارب

الله المستعان

اسلام العوامى 05-12-2013 09:43 AM

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

المشاركة الأصلية كتبت بواسطة ابو سمر (المشاركة 579087)
شكرا اخى اسلام
جربت الكود كما شرحت ولكنه لايغلق الصفقات
اكيد انا ركبت الاكواد غلط

يا ريت حضرتك تظبطلى الاكواد بحيث يغلق عند الاشارة العكسيه

كود:

double buy=iCustom(Symbol(),0,"LongSignal",2,2);
double sell=iCustom(Symbol(),0,"LongSignal",3,2);
if(buy<10000)buy=true;
if(sell<10000)sell=true;

if (buy<10000&&buy==true)
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,0,"Long BUY",MagicNumber,0,Blue);

if (sell<10000&&sell==true)
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"Long SELL",MagicNumber,0,Blue);


،،،اولا يجب ان تتأكد من قيمة اندكس او اشارة المؤشر عند ظهورها على الشارت،،،

،،،بعد ذلك تقوم بوضع هذا المتغير فى global area ،،،

كود:


extern bool CloseOppisite = false;


،،،بعد ذلك تقوم بوضع الكود التالى،،،


كود:


int start()
  {
//----
bool buysignal,sellsignal;
  double buy=iCustom(Symbol(),0,"LongSignal",2,2);
double sell=iCustom(Symbol(),0,"LongSignal",3,2);
if(buy<10000)
{
buysignal=true;
sellsignal=false;
}
if(sell<10000)sell=true;
{
buysignal=false;
sellsignal=true;
}

if(buysignal==true&&
CloseOppisite = True)CloseSellOrders();
if(sellsignal==true&&
CloseOppisite = True)CloseBuyOrders();



if (buysignal==true)
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,0,"Long BUY",MagicNumber,0,Blue);

if (sellsignal==true)
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"Long SELL",MagicNumber,0,Red);
//----
  return(0);
  }
//+------------------------------------------------------------------+

int CloseBuyOrders()
{
  for (int i = 0 ; i < OrdersTotal() ; i++)
  {
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
    {
      if (OrderType()==OP_BUY)
      {
        OrderClose(OrderTicket(),OrderLots(),Bid,3);
      }
    }
  }
  return(0);


int CloseSellOrders()
{
 for (int i = 0 ; i < OrdersTotal() ; i++)
  {
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
    {
      if (OrderType()==OP_SELL)
      {
      OrderClose(OrderTicket(),OrderLots(),Ask,3);
      }
    }
    }
  return(0);
}


اسلام العوامى 05-12-2013 09:44 AM

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

المشاركة الأصلية كتبت بواسطة amerelhozn (المشاركة 579096)
اظن انها غلطة مطبيعة زي

if(reversesignal==true )
صح كده
لانها سؤال

،،،تمام،،،

sunegypt 06-12-2013 10:36 PM

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

انا لسه لم أصل اليه بعد ولكنى مستعجل عشان انزله :1 (114):

للاستئناس وللاطمئنان :1 (93):

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

اسلام العوامى 06-12-2013 11:33 PM

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

المشاركة الأصلية كتبت بواسطة sunegypt (المشاركة 579756)
متى سينزل الفيديو الحادى عشر اخى اسلام

انا لسه لم أصل اليه بعد ولكنى مستعجل عشان انزله :1 (114):

للاستئناس وللاطمئنان :1 (93):

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

،،،غدا صباحا باذن الله،،،

sunegypt 07-12-2013 12:12 AM

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

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

جزاك الله خيرا باشمهندس اسلام

وربنا يعينك يارب

اسلام العوامى 07-12-2013 10:27 AM

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



،،،الدرس يشرح طريقة عمل ادارة راس المال والمضاعفات والاكواد الخاصة بهما وحل مشكلة order send error 130 عند كتابة صفر فى خانة البروفيت او الاستوب لوز وشرح ( )MathCeil،،،

ابو سمر 07-12-2013 05:27 PM

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

المشاركة الأصلية كتبت بواسطة العوامى (المشاركة 579866)
،،،تم رفع الدرس الحادى عشر من دورة البرمجة فى الموضوع الخاص بها،،،



،،،الدرس يشرح طريقة عمل ادارة راس المال والمضاعفات والاكواد الخاصة بهما وحل مشكلة order send error 130 عند كتابة صفر فى خانة البروفيت او الاستوب لوز وشرح ( )MathCeil،،،

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

sunegypt 08-12-2013 12:45 AM

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

المشاركة الأصلية كتبت بواسطة العوامى (المشاركة 579866)
،،،تم رفع الدرس الحادى عشر من دورة البرمجة فى الموضوع الخاص بها،،،



،،،الدرس يشرح طريقة عمل ادارة راس المال والمضاعفات والاكواد الخاصة بهما وحل مشكلة order send error 130 عند كتابة صفر فى خانة البروفيت او الاستوب لوز وشرح ( )MathCeil،،،

جزاك الله تعالى خيرا استاذى الكريم اسلام العوامى

فى الطريق ان شاء الله الى هذا الدرس

تقبل ودى أستاذى الغالى

sunegypt 08-12-2013 04:41 AM

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

الله المستعان

دعواتكم

ابو سمر 08-12-2013 06:34 AM

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

OrderSelect(i, SELECT_BY_POS, MODE_TRADES)
ارجو التصحيح

اسلام العوامى 08-12-2013 09:18 AM

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

المشاركة الأصلية كتبت بواسطة ابو سمر (المشاركة 580084)
استاذى الكريم اسلام العوامى
حضرتك شرحت استخدام المضاعفات فى حالة اغلاق اخر صفقه على خساره
لو انا مش هستخدم ستوب لوز والصفقه ما زالت مفتوحه
وهعمل تبريد للصفقه الخاسره
هستخدم وقتها هذا الكود ؟؟
كود:

OrderSelect(i, SELECT_BY_POS, MODE_TRADES)
ارجو التصحيح

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



كود:


for(i=0;i<=orderstotall();i++)
{
orderselect(i,select_by_pos,mode_trades);
if(symbol==ordersymbol()&&MagicNumber==orderMagicNumber())
{

if(ordertype==op_buy)

{
if(ask>orderopenprice()+step)
{
ordersend(وتضع الاعدادات التى تريدها هنا);




ابو سمر 08-12-2013 09:47 PM

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

المشاركة الأصلية كتبت بواسطة العوامى (المشاركة 580096)
،،،تمام ، سوف تقوم بعمل حلقة تكرارية لاختيار اخر صفقة مفتوحة وتقوم بوضع شرط اذا كانت الصفقة شراء والسعر الحالى اكبر من سعر افتتاح الصفقة + step افتح صفقة شراء وضع الشروط التى تريدها والعكس للبيع،،،



كود:


for(i=0;i<=orderstotall();i++)
{
orderselect(i,select_by_pos,mode_trades);
if(symbol==ordersymbol()&&MagicNumber==orderMagicNumber())
{

if(ordertype==op_buy)

{
if(ask>orderopenprice()+step)
{
ordersend(وتضع الاعدادات التى تريدها هنا);




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

tunisia 09-12-2013 12:35 AM

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

اسلام العوامى 09-12-2013 10:53 AM

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

المشاركة الأصلية كتبت بواسطة ابو سمر (المشاركة 580223)
بارك الله فيك استاذى الفاضل
استفسار لو تكرمت
عند استخدام التريلنج ستوب
هل يجوز عمل حلقه تغلق جزء من العقد حسب التريلنج
ويترك باقى العقد لتفعيل التريلنج مره اخرى ؟؟
الشرح بمثال
فتحت صفقة شراء بلوت 3
وجعلت التريلنج ستوب 20
وجعلت نسبة تقسيم العقد الثلث
اذا صعد السعر 20 نقطه يتفعل التريلنج ويلاحق الارباح
فاذا هبط السعر بعدها وضرب ستوب التريلنج يغلق ثلث العقد ويترك الباقى
فعندها سيغلق جزء من العقد بقيمه 1 لوت ويترك العقد الاصلى ب 2 لوت
اذا صعد السعر مره اخرى 20 نقطه تتكرر نفس العمليه بتفعيل التريلنج ويغلق جزء من العقد بقيمه 1 لوت
سيتبقى معنا الجزء الثالث بقيمه 1 لوت
اذا صعد السعر 20 نقطه اخرى يتفعل التريلنج ويلاحق الارباح حتى يغلقها عند ضرب التريلنج
ارجو ان اكون وفقت فى الشرح

،،،فى هذه الحالة لن تستخدم استوب لوز او تريلينج صريح ولكن سيكون الاستوب لوز مخفى وايضا التريلينج بحيث تقوم بكتابة حلقة تقوم باختيار الصفقات المفتوحة وتقوم بعمل تريلينج داخل الكود نفسة اى تقوم بتخزين قيمة التريلينج داخل متغير فى الحلقة ولكن لا تستخدم ordermodify وعند وصول السعر لهذا المستوى تستخدم امر orderclose وتضع فى قيمة اللوت قيمة اللوت الاصلى وليس () orderlots مقسوم على نسبة التقسيم،،،

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

ابو سمر 09-12-2013 03:39 PM

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

المشاركة الأصلية كتبت بواسطة العوامى (المشاركة 580333)
،،،فى هذه الحالة لن تستخدم استوب لوز او تريلينج صريح ولكن سيكون الاستوب لوز مخفى وايضا التريلينج بحيث تقوم بكتابة حلقة تقوم باختيار الصفقات المفتوحة وتقوم بعمل تريلينج داخل الكود نفسة اى تقوم بتخزين قيمة التريلينج داخل متغير فى الحلقة ولكن لا تستخدم ordermodify وعند وصول السعر لهذا المستوى تستخدم امر orderclose وتضع فى قيمة اللوت قيمة اللوت الاصلى وليس () orderlots مقسوم على نسبة التقسيم،،،

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

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

Madawbs 10-12-2013 07:43 PM

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

تحياتي لحضرتك وجزاك الله عنا خير الجزاء
واتمني ان تستمر في الدروس ولا تتوقف لان اسلوبك سهل وتستطيع توصيل المعلومة ببساطه
تحياتي مرة اخري لشخصك الكريم
اخوك احمد

sunegypt 11-12-2013 04:00 AM

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

المشاركة الأصلية كتبت بواسطة Madawbs (المشاركة 581017)
السلام عليكم ورحمة الله وبركاته
تشرفت بمتابعة موضوعك وقمت بتجربةجميع الاكواد والحمد لله بنجاح وقمت بعمل عدة اكسبرتات منهم واحد يعمل بتقاطع بثلاثة متوسطات متحركة ويأخذ سيجنال الدخول من الماك دي ويتابع التريند من خلال متوسطين اخرين

تحياتي لحضرتك وجزاك الله عنا خير الجزاء
واتمني ان تستمر في الدروس ولا تتوقف لان اسلوبك سهل وتستطيع توصيل المعلومة ببساطه
تحياتي مرة اخري لشخصك الكريم
اخوك احمد

+1

:1 (62)::1 (62)::1 (62):

sunegypt 11-12-2013 04:49 AM

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


متابع معك اخى اسلام

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

sunegypt 11-12-2013 06:57 AM

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

لو انا عندى اكسبيرت بيدخل بيع او شراء على مؤشر

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

مثلا اعطانى المشر شراء وفتح صفقات شراء كل مسافه مثلا ( على اساس انى احدد له استيب يفتح كل مسافه يقطعها ) طبعا فى اتجاه اشارة الشراء

ثم ظهرت اشارت بيع عكسيه

وأريد ان اغلق الصفقات الموجبه فقط وأترك السالبه

ففى هذه الحاله

أضع هذا الكود تحت امر البيع

هل هذا الكود بهذه الطريقه صح ..؟

كود:



if(OrderType(OP_BUY)>0)
            {Close(OP_BUY)};

والعكس طبعا فى حاله البيع

هل كده صح ..؟ ولو خطأ .. ايه الطريقه الصح بعد اذنك استاذ اسلام ..؟

اسلام العوامى 11-12-2013 09:19 AM

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

المشاركة الأصلية كتبت بواسطة sunegypt (المشاركة 581179)
سؤال من مبتدأ وأريد ان اعرف هل انا كتبت صح ولا ايه استاذى اسلام

لو انا عندى اكسبيرت بيدخل بيع او شراء على مؤشر

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

مثلا اعطانى المشر شراء وفتح صفقات شراء كل مسافه مثلا ( على اساس انى احدد له استيب يفتح كل مسافه يقطعها ) طبعا فى اتجاه اشارة الشراء

ثم ظهرت اشارت بيع عكسيه

وأريد ان اغلق الصفقات الموجبه فقط وأترك السالبه

ففى هذه الحاله

أضع هذا الكود تحت امر البيع

هل هذا الكود بهذه الطريقه صح ..؟

كود:



if(OrderType(OP_BUY)>0)
            {Close(OP_BUY)};

والعكس طبعا فى حاله البيع

هل كده صح ..؟ ولو خطأ .. ايه الطريقه الصح بعد اذنك استاذ اسلام ..؟

،،،اولا سوف تقوم بعمل وظيفة لإغلاق الصفقات الرابحة ،،،
كود:



void CloseOnlyProfit(){


 for(int i=0;i<OrdersHistoryTotal();i++){
 OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
 if(OrderSymbol()==Symbol() && Magicnumber==OrderMagicNumber()){
 if(OrderProfit()>0){
 if(OrderType==OP_BUY){
OrderClose(i,OrderLots(),Bid,3,CLR_NONE);
}
else{
OrderClose(i,OrderLots(),Ask,3,CLR_NONE);
}
}
}
}
}

،،،ثم تقوم بعمل جملة شرطية لاستدعاء هذه الوظيفة فى حالة تحقق شروط اشارة عكسية ،،،

ابو سمر 11-12-2013 09:42 PM

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

اسلام العوامى 11-12-2013 10:15 PM

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

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

،،،اذا نظرت الى خانة الجورنال لعرفت السبب وهو ان قيمة اللوت خطأ وهذا كان نتيجة لنقص اقواس الحلقة التكرارية فى وظيفة جلب اخر لوت فكانت الوظيفة تعود دائما بقيمة اخر لوت صفر ،،،

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

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

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

ابو سمر 12-12-2013 12:08 AM

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

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


،،،اذا نظرت الى خانة الجورنال لعرفت السبب وهو ان قيمة اللوت خطأ وهذا كان نتيجة لنقص اقواس الحلقة التكرارية فى وظيفة جلب اخر لوت فكانت الوظيفة تعود دائما بقيمة اخر لوت صفر ،،،

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

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

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

بارك الله فيك استاذى
كنت اتابع الجورنال دوما ولم الحظ شئ لاننى لم اكتب كود Print
الاكسبرت الان يعمل جيدا
وان شاء الله سوف اضيف اليه بعض الاضافات كاغلاق جزء من العقود مع التريلنج
وباقى العقود تغلق مع الاشارة العكسيه
كما اننى اقوم الان بعمل تطبيقات على مؤشرات اخرى
........................
استفسار
بعض المؤشرات تكون مغلقة الكود

وكلما عدلت فى قيم المؤشر
الاكسبرت ياخذ الاعدادات الافتراضيه للمؤشر ولا ياخذ الاعدادات الجديده
ما هى الطريقه التى اجعل الاكسبرت يقرأ اى اعداد اضعه
او بمعنى ادق كيف اتحكم فى اعدادات المؤشر من خلال الاكسبرت نفسه
........................................
لا يزال لدى استفسارات كثيره
وافكار كثيره
ولكنى اتدرج مع كل مرحلة باضافة شئ جديد
حتى لا اتشتت
..............
شكرا استاذى الفاضل



اسلام العوامى 12-12-2013 09:36 AM

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

المشاركة الأصلية كتبت بواسطة ابو سمر (المشاركة 581561)
بارك الله فيك استاذى
كنت اتابع الجورنال دوما ولم الحظ شئ لاننى لم اكتب كود Print
الاكسبرت الان يعمل جيدا
وان شاء الله سوف اضيف اليه بعض الاضافات كاغلاق جزء من العقود مع التريلنج
وباقى العقود تغلق مع الاشارة العكسيه
كما اننى اقوم الان بعمل تطبيقات على مؤشرات اخرى
........................
استفسار
بعض المؤشرات تكون مغلقة الكود

وكلما عدلت فى قيم المؤشر
الاكسبرت ياخذ الاعدادات الافتراضيه للمؤشر ولا ياخذ الاعدادات الجديده
ما هى الطريقه التى اجعل الاكسبرت يقرأ اى اعداد اضعه
او بمعنى ادق كيف اتحكم فى اعدادات المؤشر من خلال الاكسبرت نفسه
........................................
لا يزال لدى استفسارات كثيره
وافكار كثيره
ولكنى اتدرج مع كل مرحلة باضافة شئ جديد
حتى لا اتشتت
..............
شكرا استاذى الفاضل



،،،ومن دون ان تكتب print سيظهر لك الخطأ على هيئة رقم فمثلا كان الجورنال يظهر invalid lots amount for order send او لو كان الخطأ من الاستوب سيظهر error 130 وهكذا،،،

،،،بالنسبة للمؤشرات اذا اردت ضبط اعداداتها عن طريق الاكسبيرت تقوم بعمل الاتى،،،
كود:


 iCustom( string symbol, int  timeframe, string name, ..., int  mode, int shift)

،،،ومكان النقط تكتب اعدادات المؤشر لكن بترتيب وجودها فى المؤشر نفسة بمعنى اذا كانت اعدادات مؤشر كالتالى،،،
Period = 5
lenth = 3
UseAtr = false
،،،تقوم بكتابة الكود كالاتى،،،
كود:


 iCustom( string symbol, int timeframe, string name,5,3,0, int mode, int shift)

،،،او تقوم بكتابة متغيرات مكان الاعدادات وتقوم بالتعويض عنها فى global area ،،،

ابو سمر 12-12-2013 01:41 PM

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

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


،،،ومن دون ان تكتب print سيظهر لك الخطأ على هيئة رقم فمثلا كان الجورنال يظهر invalid lots amount for order send او لو كان الخطأ من الاستوب سيظهر error 130 وهكذا،،،

،،،بالنسبة للمؤشرات اذا اردت ضبط اعداداتها عن طريق الاكسبيرت تقوم بعمل الاتى،،،
كود:


 iCustom( string symbol, int  timeframe, string name, ..., int  mode, int shift)

،،،ومكان النقط تكتب اعدادات المؤشر لكن بترتيب وجودها فى المؤشر نفسة بمعنى اذا كانت اعدادات مؤشر كالتالى،،،
Period = 5
lenth = 3
UseAtr = false
،،،تقوم بكتابة الكود كالاتى،،،
كود:


 iCustom( string symbol, int timeframe, string name,5,3,0, int mode, int shift)

،،،او تقوم بكتابة متغيرات مكان الاعدادات وتقوم بالتعويض عنها فى global area ،،،

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

sunegypt 12-12-2013 02:53 PM

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

المشاركة الأصلية كتبت بواسطة العوامى (المشاركة 581196)
،،،اولا سوف تقوم بعمل وظيفة لإغلاق الصفقات الرابحة ،،،
كود:



void CloseOnlyProfit(){


 for(int i=0;i<OrdersHistoryTotal();i++){
 OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
 if(OrderSymbol()==Symbol() && Magicnumber==OrderMagicNumber()){
 if(OrderProfit()>0){
 if(OrderType==OP_BUY){
OrderClose(i,OrderLots(),Bid,3,CLR_NONE);
}
else{
OrderClose(i,OrderLots(),Ask,3,CLR_NONE);
}
}
}
}
}

،،،ثم تقوم بعمل جملة شرطية لاستدعاء هذه الوظيفة فى حالة تحقق شروط اشارة عكسية ،،،

طيب انا اسف استاذى اسلام .. وكيف نكتب هذه الجمله الشرطيه ..؟

بصراحه حاولت ولم اقدر افعلها ...

تلميذ لسه بقى :1 (114):

اسلام العوامى 12-12-2013 03:04 PM

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

المشاركة الأصلية كتبت بواسطة sunegypt (المشاركة 581775)
طيب انا اسف استاذى اسلام .. وكيف نكتب هذه الجمله الشرطيه ..؟

بصراحه حاولت ولم اقدر افعلها ...

تلميذ لسه بقى :1 (114):

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


if(??????????????? && CloseOppositeSignal==true )
{CloseOnlyProfit();}


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

ابو سمر 12-12-2013 07:20 PM

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

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

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

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

if(Multiplication==true)
{
if(profitorloss()==false)lot=lastlot()*mode;
if(profitorloss()==true)lot=lot;
}

حيث mode قيمة المضاعفه

اسلام العوامى 12-12-2013 08:33 PM

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

المشاركة الأصلية كتبت بواسطة ابو سمر (المشاركة 581922)
استاذى الفاضل
بعد التعديل الاخير الاكسبرت يغق على عكس الاشاره ....تمام
يدخل الصفقه العكسيه بلوت مضاعف ... تمام جدا
اذا حقق الهدف يغلق الصفقه المضاعفه ... تمام جدا
عند تحقيق شروط الدخول الجديد يدخل باخر لوت وهو المضاعفه ولا يدخل باللوت الاساسى
علما بان شروط المضاعفات كالتالى
كود:

if(Multiplication==true)
{
if(profitorloss()==false)lot=lastlot()*mode;
if(profitorloss()==true)lot=lot;
}

حيث mode قيمة المضاعفه

،،،ارفق الكود كامل لاستطيع تحديد المشكلة،،،

،،،ولكن للوهلة الاولى يبدو الخطأ من اسم المتغيرlot داخل كود المضاعفات حيث من المفترض فى بداية start ان نقوم بعمل متغير newlot او lots او اى كان المسمى المهم ان قيمته عند بداية الوظيفة ستكون نفس قيمة lot ،،،

newlot=lot

،،،وبعد ذلك نقوم بتغيره داخل شرط المضاعفات،،،

كود:


double newlot=lot;
if(Auto.Lots==true)newlot=Lots();
if(Multiplication==true)
{
if(profitorloss()==false)newlot=lastlot()*mode;
if(profitorloss()==true)newlot=lot;
}


ابو سمر 12-12-2013 08:36 PM

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

المشاركة الأصلية كتبت بواسطة ابو سمر (المشاركة 580223)
بارك الله فيك استاذى الفاضل
استفسار لو تكرمت
عند استخدام التريلنج ستوب
هل يجوز عمل حلقه تغلق جزء من العقد حسب التريلنج
ويترك باقى العقد لتفعيل التريلنج مره اخرى ؟؟
الشرح بمثال
فتحت صفقة شراء بلوت 3
وجعلت التريلنج ستوب 20
وجعلت نسبة تقسيم العقد الثلث
اذا صعد السعر 20 نقطه يتفعل التريلنج ويلاحق الارباح
فاذا هبط السعر بعدها وضرب ستوب التريلنج يغلق ثلث العقد ويترك الباقى
فعندها سيغلق جزء من العقد بقيمه 1 لوت ويترك العقد الاصلى ب 2 لوت
اذا صعد السعر مره اخرى 20 نقطه تتكرر نفس العمليه بتفعيل التريلنج ويغلق جزء من العقد بقيمه 1 لوت
سيتبقى معنا الجزء الثالث بقيمه 1 لوت
اذا صعد السعر 20 نقطه اخرى يتفعل التريلنج ويلاحق الارباح حتى يغلقها عند ضرب التريلنج
ارجو ان اكون وفقت فى الشرح

اقتباس:

المشاركة الأصلية كتبت بواسطة العوامى (المشاركة 580333)
،،،فى هذه الحالة لن تستخدم استوب لوز او تريلينج صريح ولكن سيكون الاستوب لوز مخفى وايضا التريلينج بحيث تقوم بكتابة حلقة تقوم باختيار الصفقات المفتوحة وتقوم بعمل تريلينج داخل الكود نفسة اى تقوم بتخزين قيمة التريلينج داخل متغير فى الحلقة ولكن لا تستخدم ordermodify وعند وصول السعر لهذا المستوى تستخدم امر orderclose وتضع فى قيمة اللوت قيمة اللوت الاصلى وليس () orderlots مقسوم على نسبة التقسيم،،،


استاذى الفاضل
حاولت التطبيق على اغلاق جزء من العقود
ولكنى فشلت
برجاء شرح كود الاغلاق
شكرا لك

ابو سمر 12-12-2013 08:51 PM

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

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


،،،ارفق الكود كامل لاستطيع تحديد المشكلة،،،

،،،ولكن للوهلة الاولى يبدو الخطأ من اسم المتغيرlot داخل كود المضاعفات حيث من المفترض فى بداية start ان نقوم بعمل متغير newlot او lots او اى كان المسمى المهم ان قيمته عند بداية الوظيفة ستكون نفس قيمة lot ،،،

newlot=lot

،،،وبعد ذلك نقوم بتغيره داخل شرط المضاعفات،،،

كود:


double newlot=lot;
if(Auto.Lots==true)newlot=Lots();
if(Multiplication==true)
{
if(profitorloss()==false)newlot=lastlot()*mode;
if(profitorloss()==true)newlot=lot;
}



تسلم استاذى
كان الخطأ عندى فى ادارة راس المال
كنت شايل اكواد Auto.lots
رجعت الاكواد واشتغل مظبوط
ارجو الاجابة على المشاركة السابقه الخاصه باغلاق جزء من العقود
شكرا لك

Madawbs 13-12-2013 05:28 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
السلام عليكم يا استاذنا في الفيديو 11 الامر بتاع orderselect لم يتم وضعه في متغير فايه الفايده منه كدة؟ اعتقد يجب وضعه في متغير والتحرك داخل هذا المتغير في for or while loops

وبعد اذن حضرتك لو ممكن تشرح لنا ازاي اختار الاستراتيجية الجيدة ولو ممكن تدينا امثلة يعني افضل مؤشر ناخد منه التريند وايه المؤشر الي ناخد منه سيجنال الدخول والخروج ولو ممكن اتقل عليك شوية وتقول لنا ازاي نحط مؤشر علي بيانات مؤشر تاني) last indicator data

ومشكور علي المجهود الجميل

اسلام العوامى 13-12-2013 06:02 PM

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

المشاركة الأصلية كتبت بواسطة Madawbs (المشاركة 582297)
السلام عليكم يا استاذنا في الفيديو 11 الامر بتاع orderselect لم يتم وضعه في متغير فايه الفايده منه كدة؟ اعتقد يجب وضعه في متغير والتحرك داخل هذا المتغير في for or while loops

وبعد اذن حضرتك لو ممكن تشرح لنا ازاي اختار الاستراتيجية الجيدة ولو ممكن تدينا امثلة يعني افضل مؤشر ناخد منه التريند وايه المؤشر الي ناخد منه سيجنال الدخول والخروج ولو ممكن اتقل عليك شوية وتقول لنا ازاي نحط مؤشر علي بيانات مؤشر تاني) last indicator data

ومشكور علي المجهود الجميل

،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،ما السبب الذى يجعلنا نضع ordersend فى متغير داخل الكود المشروح بالفيديو؟؟،،،

،،،هل جربت تطبيق اى من الاكواد ولم تجد له فائده او لم يعمل معك؟؟،،،

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

،،،اما الجزء الخاص بتطبيق مؤشر على بيانات مؤشر اخر سيتم شرحة فى الدروس عندما نصل للجزئية المتعلقة بالمؤشرات،،،

Madawbs 13-12-2013 07:37 PM

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

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

،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،ما السبب الذى يجعلنا نضع ordersend فى متغير داخل الكود المشروح بالفيديو؟؟،،،

،،،هل جربت تطبيق اى من الاكواد ولم تجد له فائده او لم يعمل معك؟؟،،،

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

،،،اما الجزء الخاص بتطبيق مؤشر على بيانات مؤشر اخر سيتم شرحة فى الدروس عندما نصل للجزئية المتعلقة بالمؤشرات،،،

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


الساعة الآن 11:43 PM

Powered by vBulletin® Copyright ©2000 - 2024

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