اولا اخي تحدد اعلي قمة وادني قاع خلال عدد معين من الشموع
ثم يأتي الشرط كالاتي
يجب ان تضع في المتغيرات عدد النقاط التي تريد ان يفتح بعدها العقد الاستيب وعدد الشموع والشارت الذي سيحسب عليه الشموع
بالتوفيق
عرض للطباعة
اولا اخي تحدد اعلي قمة وادني قاع خلال عدد معين من الشموع
ثم يأتي الشرط كالاتي
يجب ان تضع في المتغيرات عدد النقاط التي تريد ان يفتح بعدها العقد الاستيب وعدد الشموع والشارت الذي سيحسب عليه الشموع
بالتوفيق
الكود الاول هو الصحيح .. بالنسبة للالوان الكتير الي مع المؤشر غير الوانها عشان تعرف اي رقم خاص بسهم الشراء واي رقم خاص بسهم البيع والارقام دي هتكون بدل 0 و1
بارك الله فيك اخي hre007
السلام عليكم ورحمة الله وبركاته
عندي مشكلة مع مؤشر hidden gap volume وهي عند استدعائة في الاكسبيرت يتم تكراره كما في الصورة وهذا عندما اجري اختبار للاكسبيرتملف مرفق 29882
ما الحل بارك الله فيكم
السلام عليكم ورحمة الله وبركاته
اشكركم اخواني الكرام
وجدت الحل لهذه المشكلة في مشاركات سابقة للأستاذ حسن
السلام عليكم
استاذى الفاضل كيف اجعل الاكسبيرت يعمل وفقاً لمرور الساعة؟
بمعنى انى فى الاكسبيرت اجعله يعمل مثلاً من الساعة 10 الى الساعة 15 ولكن المشكلة انه اذا اغلق صفقة وكانت الساعة 10 ونصف مثلاً 10:30 فانه يقوم بفتح صفقة جديدة وانا اريده يفتح الصفقة وفق الساعة ليس اكثر ولا اقل يعنى اذا اغلق صفقة الساعة 10:30 يفتح الصفقة الاخرى الساعة 11:00 وهكذا فهل يمكننى ضبط الاكسبيرت وفق هذا؟؟
انا اضع الامر لعمل الاكسبيرت هكذا
&&Hour()>=10&&Hour()<=15
السلام عليكم ورحمة الله وبركاته
اخى الفاضل صممت اكسيبرت يفتح صفقات بيع وشراء ويغلق الشراء على ربح وايضا يغلق على الربح الاجمالى لو شغلته على عمله واحده يعمل بطريقة سليمه وعند تشغيله على اكثر من عمله يحدث خطا فى اغلاق الصفقات هذه هى الشرورط
if(USD!=0&&ChartProfit()>=USD){CA();}//اغلاق كل الصفقات على ربح
if(USD2!=0&&BuyProfit()>=USD2){CB();}//اغلاق صفقات الشراء فقط على ربح
double ChartProfit(){
double p= 0 ;
for(cnt=0;cnt<OrdersTotal();cnt++){
if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Ma gicNamber){
p=p+OrderProfit()+OrderCommission()+OrderSwap();
}
}return(p);
}
//----------------------------------------------------------------------------------------
// ربح الشراء
//----------------------------------------------------------------------------------------
double BuyProfit(){
double p= 0 ;
for(cnt=0;cnt<OrdersTotal();cnt++){
if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Ma gicNamber){
if (OrderType()==OP_BUY)
p=p+OrderProfit()+OrderCommission()+OrderSwap();
}
}return(p);
}
//----------------------------------------------------------------------------------------
// ربح البيع
//----------------------------------------------------------------------------------------
double SellProfit(){
double p= 0 ;
for(cnt=0;cnt<OrdersTotal();cnt++){
if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Ma gicNamber)
if(OrderType()==OP_SELL){
p=p+OrderProfit()+OrderCommission()+OrderSwap();
}
}return(p);
}
//----------------------------------------------------------------------------------------
// اغلاق جميع الصفقات
//----------------------------------------------------------------------------------------
void CA() {
for(cnt=OrdersTotal()-1;cnt>=0;cnt--)
if(OrderSelect(SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol()==Symbol()&&OrderMagicNumber()==Magi cNamber)
if (OrderType()==OP_BUY){
zs=OrderClose(OrderTicket(),OrderLots(),Bid,3,N);
} else if (OrderType()==OP_SELL){
zs=OrderClose(OrderTicket(),OrderLots(),Ask,3,N);
}else{
zs=OrderDelete(OrderTicket(),N);
}
}
//----------------------------------------------------------------------------
// اغلاق صفقات الشراء
//----------------------------------------------------------------------------
void CB(){
for (cnt=OrdersTotal()-1;cnt>=0;cnt--)
if (OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol()==Symbol()&&OrderMagicNumber()==Magi cNamber&&OrderType()==OP_BUY)
{
bool close_b=OrderClose(OrderTicket(),OrderLots(),Bid,3 ,clrGoldenrod);
}
}
//-------------------------------------------------------------------
// اغلاق صفقات البيع
//-------------------------------------------------------------------
void CS(){
for (cnt=OrdersTotal()-1;cnt>=0;cnt--)
if (OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol()==Symbol()&&OrderMagicNumber()==Magi cNamber&&OrderType()==OP_SELL)
{
bool close_s=OrderClose(OrderTicket(),OrderLots(),Ask,3 ,clrAzure);
}
}
اريده يحسب ربح وخسارة كل عمله على حده ويخرج واجمالى ربح او خسارة كل عمله على حده مع العلم عند تشغيله على عمله واحده يعمل بشكل طبيعى وعند اضافه عمله اخرى تحدث اخطاء
السلام عليكم / كيف يمكننى عمل دالة خارجية لتخذين عدد الشموع بين كل بفر لكى استخدمها فيما بعد فى الرسم و تحديد مكان الshift المطلوب
/للتوضيح /
اقوم برسم بفر تحديد قمم مثلا
و باستخدام دالة خارجية اقوم بتحديد سعر البفر قبل الاخير
و ارسم علية بفر اضافى جديد
- هنا يرسم المؤشر البفر فى السعر المطلوب ولكن لا يرسمة فى نفس البار للبفر السابق و علية اقوم بتعديل الshift و هنا واجهت مشكلة فى عمل دالة مناسبة لاستنتاج عدد البارات
كيف اعرف تاريخ انتهاء عمل الاكسيبرت. شكرا
حياك الله
لن تعرف الا اذا كتب المبرمج انه انتهى او اذا كان عندك الكود او لاحطت انه كان يعمل وفق شروط معينة ثم توقف عن فتح الصفقات ضمن نفس الشروط