النتائج 7,426 إلى 7,440 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 25-05-2016, 02:37 PM #7426
لن تحتاج إلى أن تدخل إسم نفس الزوج لكن الداله StringFind سوف تبحث عن الإسم EURUSD في أي نص فمثلا لو كان إسم الزوج هو EURUSDm أو proEURUSD
أو مهما كان فسوف يعمل أيضا بشكل صحيح
يمكنك بنفس الطريقة إذا كنت تريد أن تبحث فقط بنفس فكرتك فإبحث عن EUR فسوف يحضر لك جميع الأزواج التي بها اليورو ثم إبحث عن USD فسوف يحضر لك جميع الأزواج التي بها الدولار
أيضا يمكنك معرفة مكان العمله هل هي الأساس أم الفرعيه فالداله StringFind تعود برقم أول قيمه وجد فيها الإسم فمثلا لو كنت تبحث عن USD فسوف تعود بالقيمه 3 أي أن موقعها في التكست يبدأ من الحرف رقم 3
أما الEUR فسوف تعود بالقيمه 0 أي أن موقعها يبدأ من الحرف الأول
- 25-05-2016, 02:42 PM #7427
مشكلة الإتصال تحدث ليس بسبب منصة الميتاتريدر نفسها لكن بسبب خطأ في الإتصال مع مزود الأسعار أو البروكر
أما في لغة mql نفسها فيوجد بعض الأوامر تعمل على MQL5 ولا تعمل على MQL4 لكن ما زالت التحديثات مستمرة للغتين
بالنسبه للخطأ 138 فهو يعني إعادة تسعير ليس له علاقة بالميتاتريدر لكن البروكر لم يقبل الأمر بسبب الحركة السريعة للأسعار فظهر هذا الخطأ يمكنك زيادة قيمة Slippage لتفادي هذا الخطأ
- 25-05-2016, 07:23 PM #7428
جزاك الله خيرا أستاذي العزيز
جاري متابعة العمل
تحياتي
- 26-05-2016, 09:16 PM #7429
أستاذي العزيز مامعنى
break;
ومالفرق الذي يحصل بين إستخدامها وإلغاءها
مثلا عندما نسخت الكود الخاص بك وإختبرته عمل بشكل صحيح
فعدلت الكود حسب إحتياجي كالتالي
كود PHP:
for(int i=0;i<SymbolsTotal(false);i++)
{
if(StringFind(SymbolName(i,false),"EURUSD",0)>=0)EURUSD=i;
if(StringFind(SymbolName(i,false),"GBPUSD",0)>=0)GBPUSD=i;
if(StringFind(SymbolName(i,false),"AUDUSD",0)>=0)AUDUSD=i;
if(StringFind(SymbolName(i,false),"NZDUSD",0)>=0)NZDUSD=i;
if(StringFind(SymbolName(i,false),"USDCAD",0)>=0)USDCAD=i;
if(StringFind(SymbolName(i,false),"USDJPY",0)>=0)USDJPY=i;
if(StringFind(SymbolName(i,false),"USDCHF",0)>=0)USDCHF=i;
//break;
}
وشكرا مقدما على التوضيح
تحياتي
- 27-05-2016, 05:17 PM #7430
طلب برمجي بسيط ارجو الافاده
لدي اكسبيرت لمؤشر خارجي المشكله ان الاكبيرت لايفتح الا صفقات الشراي حتي لو اعطي المؤشر اشاره بيع
الاكسبيرت والمؤشر في المرفقات الاكسبيرت اسمه CROCODILE والمؤشر اسمه SSG BLINE ارجو من احد المبرمجين المحترمين ان يريني خطأي....................................وشكرا
- 30-05-2016, 01:20 PM #7431
break سوف توقف الحلقة عند نقطة معينه وتخرج منها
مثلا لو كانت الحلقة من 1 إلى 10 وأنت تريد وضع شرط إذا تحقق هذا الشرط فلا تكمل الحلقة وتوقف
مثال
كود PHP:for(int i=0;i<10;i++)
{
if(Close[i]>Open[i])break;
else
Print("Close Less Than Open");
}
- 30-05-2016, 01:22 PM #7432
إستدعائك للمؤشر خاطئ راجع هذه المشاركه
https://forum.arabictrader.com/t236901.html#post3056220
- 30-05-2016, 07:34 PM #7433السلام عليكم الاستاذ الفاضل مستر دولار
1-كيف يمكن عمل دالة حساب عدد مرات تكرار 3 صفقات خاسرة على التوالي ؟
2-كيف يمكن عمل دالة حساب عدد مرات تكرار صفقتين خاسرتين تليهما صفقتين رابحتين على التوالي ؟
بالنسبة للسؤال الأول حاولت معه كالتالي:
- دالة حساب أكبر عدد الصفقات الخاسرة على التوالي:
كود:int ConsecutiveLosts() { for(int i=0;i<OrdersHistoryTotal();i++) { int Lost; int MaximumLost; bool s=OrderSelect(i,SELECT_BY_POS,MODE_HISTORY); if(OrderSymbol()==Symbol()) { if(OrderProfit()<0)Lost++; else if(OrderProfit()>=0) { if(Lost>MaximumLost)MaximumLost=Lost; Lost=0; } } } if(Lost>MaximumLost)MaximumLost=Lost; return(MaximumLost); }
- ثم دالة حساب عدد تكرار الصفقات الخاسرة على التوالي كالتالي :
كود:int CountRepetition() { int cnt=0; for(int i=0;i<OrdersHistoryTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) { if(OrderSymbol()==Symbol()) { if(ConsecutiveLosts()==3) { cnt++; } } } } return(cnt); }
ولكن عند التجربة تطلع النتيجة دائما 0 ! فأرجو منكم التصحيح مع حل السؤال البرمجي 2
تحية ود وتقديرآخر تعديل بواسطة femtogold4 ، 30-05-2016 الساعة 07:36 PM
- 30-05-2016, 09:12 PM #7434
وعليكم السلام ورحمة الله وبركاته
سوف تقوم بعمل 2 عداد الأول سيحسب عدد الصفقات الخاسرة المتتالية ثم العداد الآخر سيحسب عدد المرات التي تكرر فيها وكانت الخسارة أكثر من 3 صفقات
مثال
كود PHP:int ConsecutiveLosts()
{
int Lost;
int LostCounter;
for(int i=0;i<OrdersHistoryTotal();i++)
{
bool s=OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol())
{
if(OrderProfit()<0)Lost++;
else if(OrderProfit()>=0)
{
if(Lost>=3)LostCounter++;
Lost=0;
}
}
}
return(LostCounter);
}
- 30-05-2016, 09:33 PM #7435
بالنسبه للسؤال الثاني سوف تطبق نفس الطريقه
مثال
كود PHP:int ConsecutiveWinLosts()
{
int Lost,Win;
int WinLostCounter;
for(int i=0;i<OrdersHistoryTotal();i++)
{
bool s=OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol())
{
if(OrderProfit()<0)Lost++;
else if(OrderProfit()>=0)
{
Win++;
}
if(Lost==2&&Win==2)
{
Lost=0;Win=0;
WinLostCounter++;
}
}
}
return(WinLostCounter);
}
- 31-05-2016, 07:53 PM #7436
- 09-06-2016, 04:29 PM #7437
اذا سمحت مستر دولار بخصوص ناسخ الصفقات فى هذا الموضوع https://forum.arabictrader.com/t200487.html
ما طريقة كتابة كود فيه يجعله يقوم بالاتى اذا كانت الصفقة الحالية خاسرة يقوم بنسخ الصفقة التالية نسخ عكسى بلوت مضاعف واذا اتت هذه الصفقة ايضا خاسرة يقوم بنسخ الصفقة المقبلة نسخ عادى بمضاعفة اللوت واذا خسرت هذه ايضا ينسخ الصفقة التى تليها نسخ عكسى بمضاعفة اللوت وهكذا حتى تاتى صفقة رابحة او تكون الصفقة الاولى رابحة فيتوقف عن النسخ تماما...كيف اكتب هذا فى كود الاكسبيرت؟ تحياتى
- 14-06-2016, 07:00 PM #7438
استاذي الفاضل
هل يمكن التحكم بزر الأمر السريع
الملف المرفق 457691
https://forum.arabictrader.com/attac...1&d=1465607925
من حيث الاخفاء والاظهار
هنا سبب سؤالي
https://forum.arabictrader.com/t237088.html
شكرا لجهودك
- 14-06-2016, 07:53 PM #7439
اخي مستر دولار اريد دالة لادارة راس المال بثلاث متغيرات first lot و risk lot و usd risk
وتكون الدالة هكذا if add (usd risk) to AccountBalance thin add ( RiskLots) to first lot لا اعلم كيف ستكتبها برمجيا ولاكن اريدها بهذا الشكل فهل هذا ممكن مثال لو usd risk = 1000
وrisk lot= 0.01 وfirst lot=0.05 الحساب 5000 واصبح 6000 هذا يعني تتم اضافة مبلغ usd risk الى الحساب فيزيد اللوت بمقدار 0.01 لكل 1000 فيصبح 0.06 ...... بهذا اخي استطيع التحكم في first lot كما اريد مهما كان حجم الحساب ويتغير فقط حسب الربح الذي احدده انا ايضا ..بارك الله فيك
- 15-06-2016, 08:21 AM #7440
كل عام وأنتم بخير ، عندي سؤال بخصوص البرمجة ، كيف أقوم بتحويل هذا الأكسبيرت إلى إكسبيرت بوضع الأوردرات والخروج منها عند تحقيق الشروط،
الكود المرفق الخاص بالأكسبيرت هوا للخروج فقط
كود PHP://+------------------------------------------------------------------+//| PL.mq4 |
//| Copyright 2016, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright ""
#property link ""
extern int CloseCandle=0;
extern int MagicNumber=0;
int init()
{
return(0);
}
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS deinitialization function |
//+------------------------------------------------------------------+
void deinit()
{
Comment("");
}
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS Start function |
//+------------------------------------------------------------------+
int start()
{
Comment(" ");
double SC_B=iCustom(Symbol(),0,”#PL1”,2,CloseCandle);
double SC_S=iCustom(Symbol(),0,”#PL2”,3,CloseCandle);
if(SC_B<5000)
{
CloseOrders(OP_BUY);
}
if(SC_S<5000)
{
CloseOrders(OP_SELL);
}
return(0);
}
void CloseOrders(int type)
{
for(int i=0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
int ticket=OrderTicket();
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
{
OrderClose(ticket,OrderLots(),OrderClosePrice(),30);
}
}
}
//+---------------------------------------------------------------------------------+
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM