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

doctor forex 19-12-2015 10:02 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
سؤال برمجى لو تكرمتم
لما نحب ندخل فى أكسبرت pip_step & pip_step_exponent
ونيجى نعرف الـ steps ونقول ; int step2,step3 وبعدها فى البرمجة نكتب ;Step2=pip_step_exponent*Step
;Step3=pip_step_exponent*Step2


يبقى أنا لى سؤالين :
السؤال الأول : مش المفروض أن step2 و step3 تاخد القيمة double ؟ ليه بقى ؟ لأن أولا الـstep مرتبطة بالـpoints بمعنى أنى لو pip step = 25وعملت pip step exponent = 1.5 يبقى المفروض الـstep2 = 37.5 لو int هتطلع 38 مش هتطلع بالقيمة الصح ,وبالتالى هتؤثر على قيمة كووووووووووول الـsteps اللى بعدها وهتيجى عند مرحلة معينة وتلاقى الـsteps كلها بقت زى بعضها .. صح ولا غلط ؟
السؤال الثانى : أنا لما اعرّف الـ step2 و الـstep3 فى أول الأكسبرت ، الأكسبرت هيطبق الـpip step exponent على الأتنين دول بس ولا كل الـsteps اللى بعدها ؟ يعنى لو هيطبق الـpip step exponent على الستبين دول بس يبقى انا محتاج أعرف عدد من الـsteps فى الأول بعدد صفقات التبريد اللى أنا محتاجها ؟؟؟؟؟؟؟؟؟؟؟؟؟؟


أرجو الرد ولكم منى جزيل الشكر

hajsoft 26-12-2015 07:38 PM

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


//+------------------------------------------------------------------+
//| Hajsoft1.mq4 |
//| Copyright 2015, HajSoft |
/
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, HajSoft""
#property version "1.00"
#property strict


extern double Lot = 0.01 ;
extern int StepOp = 3 ;
extern int StepReO = 1 ;
extern int TakeProfit = 0 ;
extern int HTP = 7 ;
extern int MagicNumber = 868380 ;

int T,B1,S1,C,B2,S2;
double TPB,TPS;
bool BE,SE ;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()

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

if ( TakeProfit == 0 ) {TPB = 0;}
else {TPB = Ask+TakeProfit*Point*T;}
if ( TakeProfit == 0 ) {TPS = 0;}
else {TPS = Bid-TakeProfit*Point*T;}

B1= OrderSend(Symbol(),OP_BUY,Lot,Ask,4,0,TPB," Buy Initial ",MagicNumber,0,clrSeaGreen);
S1 = OrderSend(Symbol(),OP_SELL,Lot,Bid,4,0,TPS," Sell Initial ",MagicNumber,0,clrDarkOrange);

//---
return(INIT_SUCCEEDED);
}

//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
double OrderStepPriceB2 = LastOpenPriceB() + StepOp*Point*T ;
double OrderStepPriceS2 = LastOpenPriceS() - StepOp*Point*T ;

//if ( Ask != OrderOpenPrice() )
//if ( Ask >= OrderOpenPrice() + StepReO*Point*T )
//if ( Ask <= OrderOpenPrice ()- StepReO*Point*T )
{
if ( Ask > OrderStepPriceB2 )

{
B2 = OrderSend(Symbol(),OP_BUY,Lot,Ask,4,0,TPB," Buy Initial ",MagicNumber,0,clrSeaGreen);
S2 = OrderSend(Symbol(),OP_SELL,Lot,Bid,4,0,TPS," Sell Initial ",MagicNumber,0,clrDarkOrange);

}
if ( Bid < OrderStepPriceS2 )

{
B2 = OrderSend(Symbol(),OP_BUY,Lot,Ask,4,0,TPB," Buy Initial ",MagicNumber,0,clrSeaGreen);
S2 = OrderSend(Symbol(),OP_SELL,Lot,Bid,4,0,TPS," Sell Initial ",MagicNumber,0,clrDarkOrange);
}
}
}


double LastOpenPriceB()
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
bool s1=OrderSelect(i,SELECT_BY_TICKET,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()== MagicNumber && OrderType() == OP_BUY )
{
return(OrderOpenPrice());}

}
return(0);
}
//--------------------- LastOpenPrice For Sell Order -----------------------+

double LastOpenPriceS()
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
bool s1=OrderSelect(i,SELECT_BY_TICKET,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()== MagicNumber && OrderType() == OP_SELL )
{
return(OrderOpenPrice());}

}
return(0);
}
//////////////////////
//+------------------------ Hide TakeProfit For Buy Orders ------------------------------------------+
int HBuyTP()
{
for( int i=OrdersTotal() ; i>=0 ; i-- )
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber && OrderType() == OP_BUY)
{
if (Bid>(OrderOpenPrice() + HTP * Point * T))
{
C = OrderClose(OrderTicket(),OrderLots(),Bid,4*T,clrAq uamarine);
}
}
}
}
return(0);
}
//+----------------------- Hide TakeProfit For Sell Orders ------------------------------------------+

int HSellTP()
{
for( int i=OrdersTotal() ; i>=0 ; i-- )
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber && OrderType() == OP_SELL)
{
if (Ask<(OrderOpenPrice() - HTP * Point * T))
{
C = OrderClose(OrderTicket(),OrderLots(),Ask,4*T,clrAq uamarine);
}
}
}
}
return(0);
}

hajsoft 28-12-2015 06:05 PM

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

اسلام العوامى 28-12-2015 06:38 PM

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

المشاركة الأصلية كتبت بواسطة hajsoft (المشاركة 845464)
السلام عليكم ورحمة الله وبركاته
بارك الله فيكم و رزقكم خير الدنيا و الآخرة على كل المجهودات و المعلومات القيمة
عند استفسار جزاكم الله الف خير
هل توجد دالة او وظيفة برمجية تمكنني من حفظ قيمة متغير او بمعنى ادق ان اجعل الإكسبيرت يقرأ الاكيوتى قبل فتح اى صفقات ويحتفظ بقيمته
وفى الاعدادات نضع خانه ونسميها profit مثلا
ونضع شرط الاغلاق اذا كان الاكيوتى الحالى اكبر من او يساوى اخر اكيوتى + profit اغلق جميع العقود
ثم يقوم بتخزين قيمة الاكيوتى الجديد ويصبح اخر اكيوتى
ثم يبدأ ويستدعى اخر اكيوتى مره اخرى
ارجو ان يكون الشرح واضح
وفى الحقيقه لا اعلم اذا كانت هذه الفكره قابله للتنفيذ ام لا
تقبلو تحياتي

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

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

،،،وبذلك ستظل قيمة المتغير ثابته ولن تتغير سوى بتحقيق شرط الاغلاق،،،

،،،تقبل تحياتى،،،

hajsoft 28-12-2015 07:49 PM

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

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


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

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

،،،وبذلك ستظل قيمة المتغير ثابته ولن تتغير سوى بتحقيق شرط الاغلاق،،،

،،،تقبل تحياتى،،،

لله يكرمك استاذي الفاضل
شكرا جزيلا:1 (73)::1 (105):

hajsoft 30-12-2015 04:30 PM

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

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


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

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

،،،وبذلك ستظل قيمة المتغير ثابته ولن تتغير سوى بتحقيق شرط الاغلاق،،،

،،،تقبل تحياتى،،،

السلام عليكم و رحمة الله و بركاته
بارك الله فيك اخي الفاضل
الآن عملت متغير static في oninit . و نجحت في حفظ القيمة ثابتة بعد كل تيك . لكن مع اقفال جميع الصفقات ؛ تبقى قيمة المتغير ثابتة لأنه في oninit . و محافظة على نفس القيمة السابقة . فهل من طريقة لتحديثه بعد اغلاق جميع الصفقات ؟

الله يكرمك . و تقبل تحياتي

اسلام العوامى 30-12-2015 05:46 PM

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

المشاركة الأصلية كتبت بواسطة hajsoft (المشاركة 845796)
السلام عليكم و رحمة الله و بركاته
بارك الله فيك اخي الفاضل
الآن عملت متغير static في oninit . و نجحت في حفظ القيمة ثابتة بعد كل تيك . لكن مع اقفال جميع الصفقات ؛ تبقى قيمة المتغير ثابتة لأنه في oninit . و محافظة على نفس القيمة السابقة . فهل من طريقة لتحديثه بعد اغلاق جميع الصفقات ؟

الله يكرمك . و تقبل تحياتي

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

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

hajsoft 20-01-2016 05:30 PM

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

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

forexeg 27-01-2016 10:33 PM

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

void OnTick()
void OnDeinit(const int reason)
int OnInit()

doctor forex 06-02-2016 07:06 PM

رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 
أخى الكريم اسلام العوامى
أخوانى الكرام المحيطين بالبرمجة
كيف احول int start إلى Void OnTick ؟


الساعة الآن 10:49 PM

Powered by vBulletin® Copyright ©2000 - 2024

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