النتائج 4,951 إلى 4,965 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 27-02-2014, 01:47 PM #4951
- 27-02-2014, 03:12 PM #4952
- 28-02-2014, 09:56 PM #4953
- 28-02-2014, 09:59 PM #4954
يمكنك إستخدام while
مثال
كود PHP:int ticket;
while(ticket<0)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"EA",Magic,0,Red);
}
كود PHP:int ticket;
int Tries;
while(ticket<0&&Tries<20)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"EA",Magic,0,Red);
Sleep(100);
Tries++;
}
- 28-02-2014, 10:00 PM #4955
- 28-02-2014, 10:04 PM #4956
يمكنك عمل دالة لمعرفة توقيت فتح آخر صفقه
مثال
كود PHP:datetime LastOrderTime()
{
for(int i=OrdersHistoryTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
return(OrderOpenTime());
}
}
return(0);
}
كود PHP:if(TimeCurrent()-LastOrderTime()>=2)
{
// open
}
- 01-03-2014, 05:09 PM #4957
- 01-03-2014, 06:00 PM #4958
اخ اسامه اذا السعر عند 1.500 وصعد الى 1.600 يعني 100 نقطه اريد معرفه اذا في هذا الفتره عدل مثلا 50 نقطه او لا
انا لا اتكلم عن قمه اي انه ممكن من عند 1.600 يواصل مسيره الى 1.700 يعني ليس مهم اذا كانت 1.600 قمه او لا
كل 100 نقطه يفحص اذا السعر عدل 50 نقطه او لا هل يمكن برمجه شيئ كهذا ولك جزيل الشكر
- 01-03-2014, 09:47 PM #4959
- 02-03-2014, 02:04 AM #4960
مثلا لو حقق ال 100 نقطه في خلال 10 شمعات
سوف تبحث من هاي كل شمعه مثلا من الشمعه رقم 8 إلى لو الشموع التي تليها ( 7 - 6 - 5 - .... ) وتحسب الفرق بين هذا الهاي وأقل لو في الشموع التاليه وترى هل هبط السعر 50 نقطه أم لا
حتى تحسب الحركه بدقة أكبر يمكن أن تستخدم فريم الدقيقه في البحث
- 02-03-2014, 08:42 PM #4961كود PHP:
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots 1
//--- plot Spread
#property indicator_label1 "Spread"
#property indicator_type1 DRAW_LINE
#property indicator_color1 clrRed
#property indicator_style1 STYLE_SOLID
#property indicator_width1 1
//--- indicator buffers
double SpreadBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- indicator buffers mapping
SetIndexBuffer(0,SpreadBuffer);
//---
string x = "MY First Indicator is running!!";
int countedBars = IndicatorCounted();
if (countedBars<0) return(-1);
if (countedBars>0) countedBars--;
int pos = Bars - countedBars;
while(pos>=0)
{
SpreadBuffer[pos]= High[pos]-Low[pos] ;
pos--;
}
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
//---
//--- return value of prev_calculated for next call
return(rates_total);
}
//+------------------------------------------------------------------+
//| Timer function |
//+------------------------------------------------------------------+
void OnTimer()
{
//---
}
//+------------------------------------------------------------------+
//| ChartEvent function |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
const long &lparam,
const double &dparam,
const string &sparam)
{
//---
}
//+------------------------------------------------------------------+
انا جديد في تعلم هده اللغة و لكن عندي معرفة بلغات البرمجة JAVA, C
حملت دروس coders_guru وعند كتابة اول كود لم يشتغل المؤشر و السبب هو debug في هدا السطر
SpreadBuffer[pos]= High[pos]-Low[pos] ;
المرجو المساعدة و ان امكن موضوع فيه شرح للتحديتات الجديدة في لغة MQL4 build 600 بالاخص الوظائف
OnInit() OnCalculate() OnTimer() OnChartEvent()
جازكم الله خيرا
نسيت المؤشر يقوم بحساب الفرق بين الهاي و اللو
- 03-03-2014, 01:47 AM #4962
عند حساب قيم المؤشر تضعها بداخل الداله OnCalculate
ثانيا بما أن عدد الشموع على الشارت تبدأ من 0 حتى عدد الشموع -1 فالمفروض أنك ستجعل الكود
كود PHP:int pos = Bars - countedBars-1;
وراجع هذا الموضوع
https://forum.arabictrader.com/t191447.htmlآخر تعديل بواسطة MR.dollar ، 03-03-2014 الساعة 01:51 AM
- 03-03-2014, 11:54 AM #4963
- 03-03-2014, 04:12 PM #4964
السلام عليكم ورحمة الله وبركاته
إخوتى المبرمجين كنت عايزمن حضراتكم فضلا وليس أمرا:
1-كود تعديل بروفيت صفقات الشراء لبروفيت أخر صفقة تعزيز شراء وكذلك للبيع ,
2-وكود أخر أيضا عند تفعل أوردر معلق معين يقوم بوضع أوردر معلق بمواصفات أخرى يعنى مثلا لو هناك أوردر 0.07 buy stop وتفعل هذا الأوردر يقوم بوضع أوردر معلق مثلا 0.24 sell stop
أخى مستر دولار كنت طلبت من سيادتكم إكسيبرت يقوم على أساس الكود الأول ولكنه يلزمه أن أكون فاتح شارت العملة التى يعمل عليها , فكيف ذلك وأن أضعه على أربع عملات كيف أفتحهم جميعا فى أن واحد أتمنى أن يكون الكود الذى طلبته لا يتطلب هذا الأمر لأنى أعمل على أكثر من عملة وأضطر إلى تغيير البروفيت يدويا
وجزاكم الله خيرا
- 03-03-2014, 10:09 PM #4965
أستاد MR.dollar عندي مشكلة في هدا السكربت
إدا إعتبرنا النقطة 1,3000 نقطت شراء . فهية في نفس الوقت نقطت وقف الخسار في صفقت SELL دخلت في النقطة 1,2980 .
المشكلة هنا عندما تغلق صفقت SELL و تفتح صفقت شراء في نفس النقطة فإن حجم LOTS يتضاعف حسب النقط 1,2980.ولا يتضاعف حسب النقطة 1,3000.
ولحل هده المشكلة فكرة في إنشاء دالة .حيت لا تفتح أيت صفقة إلى بعد مرور ثانية أو تانيتين من الصفقة المغلقة .
هل يمكنك أن تبرمج لي هاده الدلة في هدا السكربت من فضلك.
وإدا كان لديك حل أخر لأهده المشكلة أفضل من هدا الحل المرجو أن تخبرني به .
وشكرا لك وللمنتدي .
أستاد ماستر إن هده الدالة لم تغير أي شيئ في السكربت . ربما يجب تعديل هدا الشرط
if(TimeCurrent()-LastOrderTime()>=2) إلى هدا الشرط
if(TimeCurrent()-LastOrderTime()>=2second) حتى يعرف السكريبت أنها توقيت وليست نقاط
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM