• 12:54 مساءاً




موضوع خاص للاستفسارات البرمجيه

إضافة رد
Like Tree14Likes

أدوات الموضوع
الصورة الرمزية خالد شحاتة
مشرف قسم المؤشرات والاكسبرتات
الصورة الرمزية خالد شحاتة
 
تاريخ التسجيل: Jun 2012
الدولة: مصر
المشاركات: 1,562
خبرة السوق: 5 الى 10 سنوات
معدل تقييم المستوى: 13
خالد شحاتة is on a distinguished road
افتراضي رد: موضوع خاص للاستفسارات البرمجيه
31#
24 - 12 - 2015, 07:44 PM
اقتباس:
المشاركة الأصلية كتبت بواسطة nezar1978 مشاهدة المشاركة
السلام عليكم
سؤال خاص بلمنصه
انا مشغل منصه وهي بتفتح صفقات من نفسها وانا اجهل لماذا
معقوله من شركه نفسها
مع العلم اني مشغل اكسبيرت لكن على زوج اليورو دولار
وعليكم السلام ورحمة الله وبركاته
تأكد اولا من الاكسبرت هل يعمل على كل المنصه ام الشارت المفتوح عليه فقط
خالد شحاتة غير متواجد حالياً  
رد مع اقتباس

عضو جديد
 
تاريخ التسجيل: Oct 2015
المشاركات: 13
معدل تقييم المستوى: 0
for ever tread is on a distinguished road
افتراضي رد: موضوع خاص للاستفسارات البرمجيه
32#
24 - 12 - 2015, 07:51 PM
اقتباس:
المشاركة الأصلية كتبت بواسطة abo_samar مشاهدة المشاركة
اخى الكريم الموضوع مخصص للاستفسارات البرمجيه فقط
اما طلبات البرمجه يتم فتح موضوع لها وشرح المطلوب بالتفصيل
ساققوم بالرد فى موضوعك
مشكور استاذ abo_samar بارك الله لك فى اولادك ورزقك
for ever tread غير متواجد حالياً  
رد مع اقتباس
عضو نشيط
 
تاريخ التسجيل: May 2015
المشاركات: 444
معدل تقييم المستوى: 9
hany80 is on a distinguished road
افتراضي رد: موضوع خاص للاستفسارات البرمجيه
33#
24 - 12 - 2015, 10:01 PM
اقتباس:
المشاركة الأصلية كتبت بواسطة abo_samar مشاهدة المشاركة
الربح نسبه بالدولار
والتريلنج يعتمد على النقاط
ستقوم بعمل متغير يحسب نسبة ال 60% واخر يحسب 40%
ثم تقوم بقسمة النسب على عدد نقاط الربح
والناتج تضعه فى دالة التريلنج
هل ممكن أخى abo_samar تكتب هذه المعادله التى شرحتها لأنى توهت
و للمعلوميه أهم نقطه أن الترلينج لا يبدأ فى الظهور للصفقه إلا بعد تحقيق 60% من الربحيه بالدولار و ليس من بداية الصفقه
hany80 غير متواجد حالياً  
رد مع اقتباس
عضو جديد
 
تاريخ التسجيل: Jun 2010
المشاركات: 141
معدل تقييم المستوى: 14
غلباوي is on a distinguished road
افتراضي رد: موضوع خاص للاستفسارات البرمجيه
34#
26 - 12 - 2015, 12:12 AM
السلام عليكم ورحمة الله وبركاتة
اخى abo_samar كيف احدد اكسيبرت ليعمل لفترة معينة
ارجوا الشرح بالتفصيل صيغة الكود واين يوضع بالظبط فى الاكسيبرت
والف شكر اخى
غلباوي غير متواجد حالياً  
رد مع اقتباس
الصورة الرمزية خالد شحاتة
مشرف قسم المؤشرات والاكسبرتات
الصورة الرمزية خالد شحاتة
 
تاريخ التسجيل: Jun 2012
الدولة: مصر
المشاركات: 1,562
خبرة السوق: 5 الى 10 سنوات
معدل تقييم المستوى: 13
خالد شحاتة is on a distinguished road
افتراضي رد: موضوع خاص للاستفسارات البرمجيه
35#
26 - 12 - 2015, 04:11 AM
اقتباس:
المشاركة الأصلية كتبت بواسطة hany80 مشاهدة المشاركة
هل ممكن أخى abo_samar تكتب هذه المعادله التى شرحتها لأنى توهت
و للمعلوميه أهم نقطه أن الترلينج لا يبدأ فى الظهور للصفقه إلا بعد تحقيق 60% من الربحيه بالدولار و ليس من بداية الصفقه
اولا ستقوم بحجز ثلاث متغيرات كالتالى
[PHP]
extern int USDProfit=100; // الربح المطلوب بالدولار
extern int ProfitPercent_1=60; // النسبه الاولى
extern int ProfitPercent_2=40; // النسبه الثانيه
[/PHP]وبداخل start نكتب معادلات حساب النسب وتحويلها الى نقط
[PHP]
double Percent_1=(USDProfit*ProfitPercent_1)/100; // نسبه الربح التى سيتم تفعيل التريلنج منها
double Percent_2=(USDProfit*ProfitPercent_2)/100; // نسبة الربح المستخدمه للتريلنج
int step=(Percent_1/lot)*10; // عدد نقاط تفعيل التريلنج
int moveto=(Percent_2/lot)*10; // عدد نقاط وضع الستوب المتحرك
[/PHP]اخيرا ستقوم بوضع step و moveto بداخل دالة التريلنج ستوب
hany80 likes this.
خالد شحاتة غير متواجد حالياً  
رد مع اقتباس
الصورة الرمزية خالد شحاتة
مشرف قسم المؤشرات والاكسبرتات
الصورة الرمزية خالد شحاتة
 
تاريخ التسجيل: Jun 2012
الدولة: مصر
المشاركات: 1,562
خبرة السوق: 5 الى 10 سنوات
معدل تقييم المستوى: 13
خالد شحاتة is on a distinguished road
افتراضي رد: موضوع خاص للاستفسارات البرمجيه
36#
26 - 12 - 2015, 04:27 AM
اقتباس:
المشاركة الأصلية كتبت بواسطة غلباوي مشاهدة المشاركة
السلام عليكم ورحمة الله وبركاتة
اخى abo_samar كيف احدد اكسيبرت ليعمل لفترة معينة
ارجوا الشرح بالتفصيل صيغة الكود واين يوضع بالظبط فى الاكسيبرت
والف شكر اخى
وعليكم السلام ورحمة الله وبركاته
فى بداية دالة start تضع الشرط التالى
[PHP]
if (TimeCurrent() > StrToTime("2015.12.31 00:00:00")) {
Alert("Expert has expired.");
return (0);
}
[/PHP]ومعناه اذا كان التاريخ الحالى اكبر من 31 ديسمبر 2015
اعطى تنبيه الاكسبرت منتهى الصلاحيه
ويتوقف عمل الاكسبرت
خالد شحاتة غير متواجد حالياً  
رد مع اقتباس
عضو جديد
 
تاريخ التسجيل: Jun 2010
المشاركات: 141
معدل تقييم المستوى: 14
غلباوي is on a distinguished road
افتراضي رد: موضوع خاص للاستفسارات البرمجيه
37#
26 - 12 - 2015, 05:41 AM
[QUOTE=abo_samar;2012637]وعليكم السلام ورحمة الله وبركاته
فى بداية دالة start تضع الشرط التالى
[PHP]
if (TimeCurrent() > StrToTime("2015.12.31 00:00:00")) {
Alert("Expert has expired.");
return (0);
}

[PHP]
//+------------------------------------------------------------------+
//| MACD Sample.mq4 |
//| Copyright 2005-2014, MetaQuotes Software Corp. |
//| http://www.mql4.com |
//+------------------------------------------------------------------+
#property copyright "2005-2014, MetaQuotes Software Corp."
#property link "http://www.mql4.com"

input double TakeProfit =50;
input double Lots =0.1;
input double TrailingStop =30;
input double MACDOpenLevel =3;
input double MACDCloseLevel=2;
input int MATrendPeriod =26;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnTick(void)
{
double MacdCurrent,MacdPrevious;
double SignalCurrent,SignalPrevious;
double MaCurrent,MaPrevious;
int cnt,ticket,total;
//---
// initial data checks
// it is important to make sure that the expert works with a normal
// chart and the user did not make any mistakes setting external
// variables (Lots, StopLoss, TakeProfit,
// TrailingStop) in our case, we check TakeProfit
// on a chart of less than 100 bars
//---
if(Bars<100)
{
Print("bars less than 100");
return;
}
if(TakeProfit<10)
{
Print("TakeProfit less than 10");
return;
}
//--- to simplify the coding and speed up access data are put into internal variables
MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_ MAIN,0);
MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE _MAIN,1);
SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MOD E_SIGNAL,0);
SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MO DE_SIGNAL,1);
MaCurrent=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRIC E_CLOSE,0);
MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRI CE_CLOSE,1);

total=OrdersTotal();
if(total<1)
{
//--- no opened orders identified
if(AccountFreeMargin()<(1000*Lots))
{
Print("We have no money. Free Margin = ",AccountFreeMargin());
return;
}
//--- check for long position (BUY) possibility
if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious &&
MathAbs(MacdCurrent)>(MACDOpenLevel*Point) && MaCurrent>MaPrevious)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+ TakeProfit*Point,"macd sample",16384,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES ))
Print("BUY order opened : ",OrderOpenPrice());
}
else
Print("Error opening BUY order : ",GetLastError());
return;
}
//--- check for short position (SELL) possibility
if(MacdCurrent>0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious &&
MacdCurrent>(MACDOpenLevel*Point) && MaCurrent<MaPrevious)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"macd sample",16384,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES ))
Print("SELL order opened : ",OrderOpenPrice());
}
else
Print("Error opening SELL order : ",GetLastError());
}
//--- exit from the "no opened orders" block
return;
}
//--- it is important to enter the market correctly, but it is more important to exit it correctly...
for(cnt=0;cnt<total;cnt++)
{
if(!OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
continue;
if(OrderType()<=OP_SELL && // check for opened position
OrderSymbol()==Symbol()) // check for symbol
{
//--- long position is opened
if(OrderType()==OP_BUY)
{
//--- should it be closed?
if(MacdCurrent>0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious &&
MacdCurrent>(MACDCloseLevel*Point))
{
//--- close order and exit
if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,Vio let))
Print("OrderClose error ",GetLastError());
return;
}
//--- check for trailing stop
if(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Bid-Point*TrailingStop)
{
//--- modify order and exit
if(!OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green))
Print("OrderModify error ",GetLastError());
return;
}
}
}
}
else // go to short position
{
//--- should it be closed?
if(MacdCurrent<0 && MacdCurrent>SignalCurrent &&
MacdPrevious<SignalPrevious && MathAbs(MacdCurrent)>(MACDCloseLevel*Point))
{
//--- close order and exit
if(!OrderClose(OrderTicket(),OrderLots(),Ask,3,Vio let))
Print("OrderClose error ",GetLastError());
return;
}
//--- check for trailing stop
if(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
{
//--- modify order and exit
if(!OrderModify(OrderTicket(),OrderOpenPrice(),Ask +Point*TrailingStop,OrderTakeProfit(),0,Red))
Print("OrderModify error ",GetLastError());
return;
}
}
}
}
}
}
//---
}
//+------------------------------------------------------------------+

[/PHP]

اخى الاكسيبرت المرفق يا ريت توضح لى اضع الكود فى اى منطقة بالظبط
والف شكر اخى
غلباوي غير متواجد حالياً  
رد مع اقتباس
الصورة الرمزية خالد شحاتة
مشرف قسم المؤشرات والاكسبرتات
الصورة الرمزية خالد شحاتة
 
تاريخ التسجيل: Jun 2012
الدولة: مصر
المشاركات: 1,562
خبرة السوق: 5 الى 10 سنوات
معدل تقييم المستوى: 13
خالد شحاتة is on a distinguished road
افتراضي رد: موضوع خاص للاستفسارات البرمجيه
38#
26 - 12 - 2015, 08:59 AM
[QUOTE=غلباوي;2012650]
اقتباس:
المشاركة الأصلية كتبت بواسطة abo_samar مشاهدة المشاركة
وعليكم السلام ورحمة الله وبركاته
فى بداية دالة start تضع الشرط التالى
[PHP]
if (TimeCurrent() > StrToTime("2015.12.31 00:00:00")) {
Alert("Expert has expired.");
return (0);
}

[PHP]
//+------------------------------------------------------------------+
//| MACD Sample.mq4 |
//| Copyright 2005-2014, MetaQuotes Software Corp. |
//| http://www.mql4.com |
//+------------------------------------------------------------------+
#property copyright "2005-2014, MetaQuotes Software Corp."
#property link "http://www.mql4.com"

input double TakeProfit =50;
input double Lots =0.1;
input double TrailingStop =30;
input double MACDOpenLevel =3;
input double MACDCloseLevel=2;
input int MATrendPeriod =26;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnTick(void)
{
// هنا ---
double MacdCurrent,MacdPrevious;
double SignalCurrent,SignalPrevious;
double MaCurrent,MaPrevious;
int cnt,ticket,total;
//---
// initial data checks
// it is important to make sure that the expert works with a normal
// chart and the user did not make any mistakes setting external
// variables (Lots, StopLoss, TakeProfit,
// TrailingStop) in our case, we check TakeProfit
// on a chart of less than 100 bars
//---
if(Bars<100)
{
Print("bars less than 100");
return;
}
if(TakeProfit<10)
{
Print("TakeProfit less than 10");
return;
}
//--- to simplify the coding and speed up access data are put into internal variables
MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_ MAIN,0);
MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE _MAIN,1);
SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MOD E_SIGNAL,0);
SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MO DE_SIGNAL,1);
MaCurrent=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRIC E_CLOSE,0);
MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRI CE_CLOSE,1);

total=OrdersTotal();
if(total<1)
{
//--- no opened orders identified
if(AccountFreeMargin()<(1000*Lots))
{
Print("We have no money. Free Margin = ",AccountFreeMargin());
return;
}
//--- check for long position (BUY) possibility
if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious &&
MathAbs(MacdCurrent)>(MACDOpenLevel*Point) && MaCurrent>MaPrevious)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+ TakeProfit*Point,"macd sample",16384,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES ))
Print("BUY order opened : ",OrderOpenPrice());
}
else
Print("Error opening BUY order : ",GetLastError());
return;
}
//--- check for short position (SELL) possibility
if(MacdCurrent>0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious &&
MacdCurrent>(MACDOpenLevel*Point) && MaCurrent<MaPrevious)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"macd sample",16384,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES ))
Print("SELL order opened : ",OrderOpenPrice());
}
else
Print("Error opening SELL order : ",GetLastError());
}
//--- exit from the "no opened orders" block
return;
}
//--- it is important to enter the market correctly, but it is more important to exit it correctly...
for(cnt=0;cnt<total;cnt++)
{
if(!OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
continue;
if(OrderType()<=OP_SELL && // check for opened position
OrderSymbol()==Symbol()) // check for symbol
{
//--- long position is opened
if(OrderType()==OP_BUY)
{
//--- should it be closed?
if(MacdCurrent>0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious &&
MacdCurrent>(MACDCloseLevel*Point))
{
//--- close order and exit
if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,Vio let))
Print("OrderClose error ",GetLastError());
return;
}
//--- check for trailing stop
if(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Bid-Point*TrailingStop)
{
//--- modify order and exit
if(!OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green))
Print("OrderModify error ",GetLastError());
return;
}
}
}
}
else // go to short position
{
//--- should it be closed?
if(MacdCurrent<0 && MacdCurrent>SignalCurrent &&
MacdPrevious<SignalPrevious && MathAbs(MacdCurrent)>(MACDCloseLevel*Point))
{
//--- close order and exit
if(!OrderClose(OrderTicket(),OrderLots(),Ask,3,Vio let))
Print("OrderClose error ",GetLastError());
return;
}
//--- check for trailing stop
if(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
{
//--- modify order and exit
if(!OrderModify(OrderTicket(),OrderOpenPrice(),Ask +Point*TrailingStop,OrderTakeProfit(),0,Red))
Print("OrderModify error ",GetLastError());
return;
}
}
}
}
}
}
//---
}
//+------------------------------------------------------------------+

[/PHP]اخى الاكسيبرت المرفق يا ريت توضح لى اضع الكود فى اى منطقة بالظبط
والف شكر اخى
مكانه فى الاقتباس
خالد شحاتة غير متواجد حالياً  
رد مع اقتباس
عضو جديد
 
تاريخ التسجيل: Jun 2010
المشاركات: 141
معدل تقييم المستوى: 14
غلباوي is on a distinguished road
افتراضي رد: موضوع خاص للاستفسارات البرمجيه
39#
26 - 12 - 2015, 02:53 PM
[QUOTE=abo_samar;2012774]
اقتباس:
المشاركة الأصلية كتبت بواسطة غلباوي مشاهدة المشاركة
مكانه فى الاقتباس
الف شكر يا باشا
فهمت كدا
لدى سؤال اخى
لو انا عملت الكود دا فى اكسيبرت وعملتلو كومبايل ورفعتة على السيرفر
واتاخد من على السيرفر باى وسيلة هل توجد طريقة لفكة ام لا
والف شكر اخى
غلباوي غير متواجد حالياً  
رد مع اقتباس
الصورة الرمزية سمير محمد ارمان
مشرف سابق
الصورة الرمزية سمير محمد ارمان
 
تاريخ التسجيل: Nov 2009
المشاركات: 33,660
معدل تقييم المستوى: 48
سمير محمد ارمان will become famous soon enough
افتراضي رد: موضوع خاص للاستفسارات البرمجيه
40#
26 - 12 - 2015, 03:44 PM
الشكر والتقدير لك اخى الكريم محمد على هذا الموضوع الرائع
جزاك الله عنا كل خير
وشكرا لك وكل عام وانت بكل خير
تحياتى لك
سمير محمد ارمان غير متواجد حالياً  
رد مع اقتباس


إضافة رد



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

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
عياده الاسنان للاستفسارات الطبيه اى حد عنده استفسار يتفضل هنا محمد السيد ص استراحة بورصات 29 09 - 09 - 2011 12:24 PM
إلغاء الترخيص الممنوح لشركة دار الأصول للاستـشارات المالية اقتصادي 55 منتدى الاسهم السعودية 0 03 - 04 - 2011 03:50 PM


12:54 PM