النتائج 2,371 إلى 2,385 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 03-07-2012, 12:06 AM #2371
واضح الآن أن السبب ليس في الشروط لأنه قام بتنفيذ أمر الطباعه لذلك الخطأ في الأمر OrderModify نفسه
ضع الكود
كود PHP:bool modified=OrderModify(ticket,OrderOpenPrice(),NormalizeDouble(SL,digits),NormalizeDouble(TP,digits),0,Red);
if(modified==false)Print("Modify error :",GetLastError());
- 03-07-2012, 12:14 AM #2372
- 03-07-2012, 01:37 AM #2373
- 03-07-2012, 01:48 AM #2374
رد:موضوع مخصص للأسئلة البرمجية
قمت بعمل التعديل المطلوب ولكن هل الجزء الخاص بإستخدام عدد المحاولات لعمل مودفاى صحيح !!
كود PHP:int triednumber;
while(true)
{
if(IsTradeContextBusy()){Sleep(1000);}
else {
int ticket=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,digits),slippage*Q,0,0," EA",MagicNumber,0,Blue);
if(ticket<0)Alert("Order Send Error "+GetLastError(),"||","open price for the order"+Ask);}
if(TP!=0||SL!=0&&ticket>0)
{
while(true)
{
bool modified=OrderModify(ticket,OrderOpenPrice(),NormalizeDouble(SL,digits),NormalizeDouble(TP,digits),0,Blue);
if(modified==false)Print("Modify error :",GetLastError());
triednumber++;
if(ticket<=0){
Sleep(500);
RefreshRates();}
else
break;
if(triednumber>20)break;
}
}
GlobalVariableSet("T"+Symbol(),Time[0]);
triednumber++;
if(ticket<=0){
Sleep(500);
RefreshRates();}
else
break;
if(triednumber>20)break;
}
آخر تعديل بواسطة spiders101 ، 03-07-2012 الساعة 01:58 AM
- 03-07-2012, 01:53 AM #2375
رد:موضوع مخصص للأسئلة البرمجية
استاذ اسامة ، انا استخدم الكود التالى لعمل المضاعفات العادية 2 ، 4 ، 8 ، ...
كود PHP:if(UseMultiplier){
if(WinorLoss()==false){Lots=lastlot()*Multiplier;}
if(WinorLoss()==true){Lots=Firstlot;}
}
1 - 1 - 2 - 3 - 5 - 8 - 13 - 21 - 34 - 55 - 89
أرجو شرح كيفية عمل ذلك .
- 03-07-2012, 03:17 AM #2376
لديك خطأ في الجزء
كود PHP:if(ticket<=0){
Sleep(500);
RefreshRates();}
الداله OrderModify تعود بقيمتين ترو في حال تم عمل مودفاي بشكل صحيح وفولس في حال حدوث خطأ
لذلك قمت بتعريف المتغير modified
كود PHP:bool modified=OrderModify(ticket,OrderOpenPrice(),NormalizeDouble(SL,digits),NormalizeDouble(TP,digits),0,Blue);
كود PHP:if(modified==false){
Sleep(500);
RefreshRates();}
)
- 03-07-2012, 03:19 AM #2377
راجع الإكسبرت المرفق سوف تجد هذا الكود
كود PHP:if(UseFiboMultiplier_Sell){newLot=LastLot(OP_SELL,MagicNumber,1)+LastLot(OP_SELL,MagicNumber,2);}
لذلك قمت بعمل داله لمعرفة حجم لوت آخر صفقتين ويتم جمعهم
- 03-07-2012, 08:00 AM #2378
رد:موضوع مخصص للأسئلة البرمجية
اطلعت على الاكسيبرت ولكن وجدت المضاعفات تكون لصفقات البيع فقط وانا اريد المضاعفات لأى صفقة خاسرة بيع أو شراء ، ولذلك حذفت الجزء الخاص بنوع الصفقة من دالة LastLot كالتالى ..
كود PHP:double LastLot(int M,int Q){
int d;
for(int i=OrdersTotal();i>=0;i--){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
double L=OrderLots();
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==M){
d++;
if(d==Q)return(L);
}
}
}
كود PHP:if(UseFiboMultiplier_Sell){
if(WinorLoss()==false){Lots=LastLot(MagicNumber,1)+LastLot(MagicNumber,2);}
if(WinorLoss()==true){Lots=Firstlot;}
}
كود PHP:OrderSend error 4051
invalid lots amount for OrderSend function
- 03-07-2012, 08:52 AM #2379
رد:موضوع مخصص للأسئلة البرمجية
تمام أخي أسامه كان لدي مشكله في وضع الأقواس وشكرا جزيلا لتنبيهك و قمت بمراجعة كل الأكواد بالإكسبيرت لأظبط الاقواس فرجاء الإطلاع لأن الإكسبيرت عند تفعيله على الشارت ورسم الخطين لا يقوم بوضع الأوامر ..
الإكسبيـــــــرت
وجزاك الله كل خير
- 03-07-2012, 11:52 AM #2380
السلام عليكم
MetaEditor is crashed
هل واجهتم هذه المشكلة
كل ما فتح اى اكسبيرت بصيغة mq4 تواجهنى هذه المشكلة
حملت المنصة مرة ثانية نفس المشكلة
هل من حل
- 03-07-2012, 11:57 AM #2381
السلام عليكم ورحمة الله تعالى وبركاته
أستاذ أسامة أثناء الباكتست السبريد او الفرق بين الـ Ask والـ Bid بيتجاب منين ؟
- 03-07-2012, 06:14 PM #2382
- 03-07-2012, 06:29 PM #2383
هذا لإنك تعتمد في المضاعفات على الصفقات التي تغلق على خساره لكن لو لاحظت الداله التي تبحث عن حجم اللوت
كود PHP:
double LastLot(int M,int Q){
int d;
for(int i=OrdersTotal();i>=0;i--){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
double L=OrderLots();
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==M){
d++;
if(d==Q)return(L);
}
}
}
كود PHP:double LastLot(int M,int Q){
int d;
for(int i=OrdersHistoryTotal();i>=0;i--){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
double L=OrderLots();
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==M){
d++;
if(d==Q)return(L);
}
}
}
- 03-07-2012, 07:40 PM #2384
لديك أخطاء أخرى في شروط وضع الهدف والأستوب لوز
كود PHP:if(UseRecTP)TP=(Ask+TP_R);
if(UseRecSL)SL=(Ask-SL_R);
أيضا إستخدم الداله NormalizeDouble مع السعر
مثلا
كود PHP:OrderSend(Symbol(),OP_BUYSTOP,Lots1,NormalizeDouble(buy,Digits),3,SL,TP,"first",MagicNumber,0,Green);
- 03-07-2012, 07:48 PM #2385
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM