وعليكم السلام ورحمة الله وبركاته ، نستخدم الأمر
كل 1000 يساوي ثانية واحدة .كود PHP:Sleep(3000);
Printable View
وعليكم السلام ، هذا الكود سيرسل لك رسالة فتح صفقة جديدة ويمكنك اضافة ماتريده من المعلومات للسطر بعد تحويل الصيغة الى تيكست ، وكذلك تشغيل الخاصية من المنصة ، هذا السطر تضعة مباشرة بعد التنفيذ للأوردر بأمر Ordersend
كود PHP:string AlertText = Symbol() +" "+type+ " "+ DoubleToStr(OrderOpenPrice())+" " + TimeToString( OrderOpenTime()) ;
SendMail("Open Trade",AlertText);
اين اضع دالة تنويم الاكسبيرت
اريد اذا اغلقة الصفقة على ربح او خسارة ينام الاكسبيرت لمدة خمسة دقائق
كود://+------------------------------------------------------------------+
//| Moving Avreg EA.mq4 |
//| Copyright 2014, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
//اعدادات الموفينج السريع
extern string Fast_Moving_Average_Setting;
extern int FastMA_Period = 5;
extern int FastMA_Shift = 0;
extern int FastMA_Method = 3;
extern int FastMA_AppliedPrice = 0;
//اعدادات الموفينج البيطئ
extern string Slow_Moving_Average_Setting;
extern int SlowMA_Period = 14;
extern int SlowMA_Shift = 3;
extern int SlowMA_Method = 1;
extern int SlowMA_AppliedPrice = 0;
//اخذ الربح ووقف الخسارة وحجم العقد
extern string Order_Management;
extern int Take_Profit = 10;
extern int Stop_loss = 20;
extern double Manual_Lot = 0.1;
// رقم الماجيك للاكسبيرت
extern int Magic_Number = 12345;
//متغير قيمة النقطة
double A;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
A = 1; //--- قيمة النقطة في المنصة الرباعية = 1
if(Digits == 5 || Digits == 3) A=10*Point; else A=Point; //--- قيمة النقطة في المنصة الخماسية = 10
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
double FastMA_1 = iMA(Symbol(), 0, FastMA_Period, FastMA_Shift, FastMA_Method, FastMA_AppliedPrice, 1); // قيمة الموفينج السريع للشمعة رقم 1
double FastMA_2 = iMA(Symbol(), 0, FastMA_Period, FastMA_Shift, FastMA_Method, FastMA_AppliedPrice, 2); // قيمة الموفينج السريع للشمعة رقم 2
double SlowMA_1 = iMA(Symbol(), 0, SlowMA_Period, SlowMA_Shift, SlowMA_Method, SlowMA_AppliedPrice, 1); // قيمة الموفينج البطيئ للشمعة رقم 1
double SlowMA_2 = iMA(Symbol(), 0, SlowMA_Period, SlowMA_Shift, SlowMA_Method, SlowMA_AppliedPrice, 2); // قيمة الموفينج البطيئ للشمعة رقم 2
if(FastMA_2<SlowMA_2 && FastMA_1>SlowMA_1)
if(OrdersTotal() == 0)
{
bool asd = OrderSend(Symbol(),OP_BUY,Manual_Lot,Ask,3,Ask-(Stop_loss*A),Ask+(Take_Profit*A),"Abukareem",Magic_Number,0,Blue); // امر شراء
}
if(FastMA_2>SlowMA_2 && FastMA_1<SlowMA_1)
if(OrdersTotal() == 0)
{
bool asd = OrderSend(Symbol(),OP_SELL,Manual_Lot,Bid,3,Bid+(Stop_loss*A),Bid-(Take_Profit*A),"Abukareem",Magic_Number,0,Red); // امر بيع
}
}
//+------------------------------------------------------------------+
//| End tick function |
//+------------------------------------------------------------------+
ممكن المساعده يا اخوان
https://forum.arabictrader.com/image.../paperclip.png الملفات المرفقةالسلام عليكم ورحمة الله وبركاته
ارجو من الاخوة المختصين المساعدة بتحويل هذا المؤشر البسيط من ميتا تريدار 4 الى ميتا تريدار 5 (الملف الاول)
علماً بأنني ذهبت لموقع التحويل فقام الموقع بالتحويل على صيغة بيانات لم استطيع ان اتعامل معها(الملف الثاني)
شاكرا جهدكم ، بارك الله فيكم
- https://forum.arabictrader.com/images/attach/rar.gif المؤشر بصيغة ميتا 4.rar (8.4 كيلوبايت, المشاهدات 1)
- https://forum.arabictrader.com/images/attach/rar.gif بيانات المؤشر بعد التحويل لميتا 5.rar (1.7 كيلوبايت, المشاهدات 1)
جميل باشا
اولا اشكرك على اهتمامك والرد السريع ولكن يبدو انني سألت السؤال بشكل خاطئ
ما اريده هو كيف احصل على رقم شيفت شمعه معينه حتى استطيع الحصول على معلوماتها
يعني مثلا في كل تك اريد الحصول على رقم الشيفت لشمعه الساعة 7 صباحا لليوم الحالي
ارجو ان تكون الفكره وضحت
خالص شكري
نستخد حلقة للبحث مثل هذا الكود
ونضع استدعاء في قائمةكود PHP:void emailcloseorder(){
string type;;
for(int i=OrdersHistoryTotal()-1; i>=0; i--){
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
if(OrderMagicNumber()==MagicNo){
if(OrderCloseTime()>H_dnx)
{ H_dnx=OrderCloseTime();
if(OrderType()==OP_BUY) type="BUY CLOSE";
if(OrderType()==OP_SELL) type="SELL CLOSE";
{
if ( LastAlertTime!= "Close" ) {
string AlertText = Symbol() +" "+type+ " "+ DoubleToStr(OrderClosePrice())+" " + TimeToString( OrderCloseTime()) ;
if (AlertEmailSubject) SendMail("Alert",AlertText);
}}}}
LastAlertTime = "Close";
}
return;
}
ونضع في المتغيراتكود PHP:OnTick
كود PHP:extern bool AlertEmailSubject = 1;
string LastAlertTime;
datetime H_dnx, L_dnx;
ضعها قبل الشرط الذي تريد تأخيره وهي تعمل على تأخير قراءة مابعد sleep في الأكسبيرت بالمدة المحددة لكن 5 دقائق كثير وماجربتها من قبل وعادة يستخدم المبرمجون ثوان فقط ، جرب 10 ثوان وشوف تاثيرها .اقتباس:
اين اضع دالة تنويم الاكسبيرت
اريد اذا اغلقة الصفقة على ربح او خسارة ينام الاكسبيرت لمدة خمسة دقائق
تفضل هذا الكود سيعود لك ب هاي ولو شمعة الساعة 5 وبالتالي تغيرها كما تريد أو تجعلها من المتغيرات
كود PHP:
datetime some_time, timedd; double hif, lowf;
some_time=iTime(Symbol(),PERIOD_D1,0);
timedd=iTime(Symbol(),0,0);
int shift=iBarShift(Symbol(),0,some_time);
int shiftdd=iBarShift(Symbol(),0,timedd);
int tot=shift+shiftdd-5;
{
hif=High[tot];
lowf=Low[tot];
السلام عليكم
لدي سؤال اخواني حول استدعاء هذا النوع من المؤشرات لايعتمد على اندكس معين
مثل كيف نستدعي المؤشر ونعرف انه اخر ظهور كان احمر ؟ (سوق هابط ) او كان بار اخضر (سوق صاعد)
كما نلاحظ بالشارت مرفق اخر اشاره ظهرت لنا هي هبوط حمراء كيف نستطيع تمييز انه اخر اشاره ظهرت لنا هي حمراء او خضراء
هذا مؤشر يعتمد بتوقع على زجزاج نفس هذه المؤشرات تستخدم حتى نعرف السوق في حاله ترند صاعد او هابط
اذا قمنا استخدام استراتيجيه ممكن نستفيد اذا ظهرت اشاره بيع بالاستراتيجيه كانت اخر اشاره بمؤشر الفلتر حمراء ندخل بيع اذا كانت خضراء لاندخل لانه سوق صاعد
ياريت شرح طريق استدعاء ومعرفه اخر بار تم ظهوره صاعد ولا هابط لايعتمد على اندكس معين لانه ممكن يكون ظهر هبوط بعشر شمعات سابقه او اكثر او اقل
شكرا لكم :eh_s(7):
وعليكم السلام ورحمة الله وبركاته
سوف تقوم بإستخدام الحلقه للبحث في قيم المؤشر بدءا من الشمعه رقم 1 حتى تصل إلى أول إشاره شراء أو بيع ثم تتوقف عن البحث
كمثال
هذه الداله سوف تعود بقيمتين إذا كانت آخر قيمة للمؤشر شراء سيعود بالرقم 1 وإذا كانت آخر قيمه بيع سيعود بالرقم -1كود PHP:int LastSignal()
{
for(int i=1;i<Bars;i++)
{
double indi=iCustom(Symbol(),0,"_FILTER",0,i);
if(indi>0)
{
return(1);
}
if(indi<0)
{
return(-1);
}
}
}