السلام عليكم استاذى الكريم لك الشكر والعرفان على المساعده الكريمه من شخصك الكريم لك تحياتى وتقديرى
Printable View
وعليكم السلام ورحمة الله وبركاته
يكفي أن تضيف شرط ما هو فرق السعر الحالي عن سعر آخر صفقة مفتوحه
مثال
كود PHP:
double LastOrderPrice(int type)
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
{
return(OrderType());
}
}
return(0);
}
if(MathAbs(Ask-LastOrderPrice(OP_BUY))>=5*Point)
{
// open buy
}
if(MathAbs(Bid-LastOrderPrice(OP_SELL))>=5*Point)
{
// open sell
}
سوف تقوم بعمل دالة لمعرفة بداية رقم الشمعه للشهر ونهاية الشهر
مثال
ثم سيكون مجال البحثكود PHP:
int StartBar=iBarShift(Symbol(),0,D'2015.01.01 00:00',false);
int EndBar=iBarShift(Symbol(),0,D'2015.02.01 00:00',false);
كود PHP:
for(int i=StartBar;i<EndBar;i++)
وعليكم السلام ورحمة الله وبركاته
يمكنك ذلك عن طريق الدالة المخصصة في الميتا تريدر OnChartEvent
كود:
//+------------------------------------------------------------------+
//| ChartEvent function |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
const long &lparam,
const double &dparam,
const string &sparam)
{
//---
}
ثم بعد ذلك عليك تحسس نوع الحدث الذي تم على الشارت عن طريق المعرف الخاص به .. والممرر للدالة بالباراميتر ( id ) وهنا أنت تحتاج الحدث CHARTEVENT_OBJECT_CLICK
فيكون الكود كالتالي
كود:
if(id == CHARTEVENT_OBJECT_CLICK)
{
//...........
}
الآن يمكنك العمل وكتابة الكود الذي تريد .. ويجب أن تتحقق من الكائن الذي تم الضغط عليه وذلك عن طريق باقي البارامترات الممرره للدالة وهي تختلف حسب الحدث وفي حالتك ستكون كالتالي
lparam = إحداثي اكس
dparam = إحداثي واي
sparam = اسم الكائن
وعليكم السلام ورحمة الله وبركاته
تفضل راجع الإكسبرت المرفق خصوصا الداله OnChartEvent
وراجع هذا الموضوع
https://forum.arabictrader.com/t195197.html
بارك الله بك يا أستاذ أسامة :eh_s(7):
جاري الإطلاع حالا
تحياتي
ممتاز لله الحمد والشكر قدرت أنفذ أمر بعد الضغط على الزر :18:
بس يا أستاذ أسامة مافهمتش ( OBJPROP_SELECTED و OBJPROP_STATE ) لما ألغيهم بيتغير مظهر الزر شوية عند الضغط زي " إفكت " تقريبا ولما أحطهم بيبقى الزر بدون تأثيرات ومابيتغيرش بمظهرو حاجة
هي دي وظيفتهم بس ولا في حاجة تانية
وشكرا ليك ياغالي
السلام عليكم ورحمة الله وبركاته
أستاذ أسامة كيف أستطيع ضبط أوبجكت معين بحيث يظهر فقط على الفريم الحالي ؟
إستخدمت هذا السطر
لكن القيمة التي توضع مكان النقاط في السطر السابق هي احد القيم التاليةكود PHP:
ObjectSetInteger(0,name,OBJPROP_TIMEFRAMES , .... );
ولا توجد بينها قيمة تمثل الفريم الحالي !!!!كود PHP:
OBJ_NO_PERIODS
OBJ_PERIOD_M1
OBJ_PERIOD_M5
OBJ_PERIOD_M15
OBJ_PERIOD_M30
OBJ_PERIOD_H1
OBJ_PERIOD_H4
OBJ_PERIOD_D1
OBJ_PERIOD_W1
OBJ_PERIOD_MN1
OBJ_ALL_PERIODS
عند إستدعاء مؤشر مثلا يمكننا وضع 0 لتمثل الفريم الحالي فحاولت وضع 0 هنا لكن لم تنجح :0010:
فهل هناك طريقة لجعل ظهور الكائن على الفريم الحالي فقط عند إنشائه ؟؟
وشكرا مقدما :eh_s(7):
تسلم إيديك يا أستاذ أسامة
:0031:100%
السلام عليكم ورحمة الله
استاذ اسامة عندي مشكلة صغيرة في عمل مضاعفات على الباي استوب
فانا كتبت في دالة الشراء والبيع
والمضاعفات تعمل ولكن المشكلة ان المضاعفات تلغي مع اول اوردر شراء او بيع يتم مسحةكود PHP:
if(Multi_Factor>0 && LastOrderProfH()<0) NewLot=LastOrderLotH()*Multi_Factor;
الاوردر الاول خاسر فوضع سل استوب .. وخسر فوضع باي استوب بمضاعفة فخسرت فوضع سيل استوب بمضاعفة .. ولم تفعل وتم مسحها .. فيبدا من جديد باللوت المبدئي دون متابعة المضاعفة
اعتقد المشكلة في كتابة الدالة LastOrderProfH()
وانا وضعتها كالتالي
فما هو الحل كي اجعل الاوامر الغير مفعلة خارج حساب الاكسبيرت بارك الله فيككود PHP:
double LastOrderProfH(){ for(int i=OrdersHistoryTotal()-1; i>=0; i--){ if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo){ return(OrderProfit()); } } return(0);}
ماهو
property strict#
اريد اضافة مؤشر على متجر ميتاكوست ولا استطيع بسبب هذا الامر المطلوب وعندما ضيفته على المؤشر بعد خانة الحقوق تم قبوله على الموقع ولكن المؤشر اصبح لا يعمل بعد وضعه على الميتاتريدر يعني اصبح لا يعطي اشارات او اسهم
ما العمل ؟
ده رابط به شرح الامر
http://docs.mql4.com/mql4changes
بعد الضغط على compile لا يعطي أخطاء ولكنه لا يعمل على الشارت
جربت احذف القيمة صفر من خانة return (0) to other variable ولكن يبقى الوضع على ما هو عليه
ولكن لما بحذف كود property strict# من المؤشر بيعود للعمل مرة اخرى ولكن لا يتم قبوله على الموقع
ما الحل إذن ؟!