النتائج 3,736 إلى 3,750 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 03-05-2013, 03:36 PM #3736
- 04-05-2013, 12:49 AM #3737
- 04-05-2013, 01:54 PM #3738
شكرا استاذ اسامة واستاذ جميل على المساعدة
- 04-05-2013, 09:46 PM #3739
رد:موضوع مخصص للأسئلة البرمجية
تمام أستاذ أسامه و جزاك الله خيرا .. سأجرب الحل الأول ..
أنا أستخدم داله لحساب اللوت
كود PHP:double new(){
double newLot;
double A=orderscnt(OP_BUY)+orderscnt(OP_SELL);
if(A==1)newLot=Lot2;
if(A==2)newLot=Lot3;
if(A==3)newLot=Lot4;
if(A==4)newLot=Lot5;
if(A==5)newLot=Lot6;
if(A==6)newLot=Lot7;
if(A==7)newLot=Lot8;
if(A==8)newLot=Lot9;
if(A==9)newLot=Lot10;
if(A==10)newLot=Lot11;
if(A==11)newLot=Lot12;
if(A==12)newLot=Lot13;
if(A==13)newLot=Lot14;
if(A==14)newLot=Lot15;
return(newLot);
}
كود PHP:if(orderscnt(OP_BUY)>=1 && PendingOrders(OP_SELLSTOP)+PendingOrders(OP_BUYSTOP)==0 && last_type==OP_BUY )
{
TP=s-(TakeProfit*point);
SL=s+(StopLoss*point)+spr;
if(newLot>MarketInfo(Symbol(),MODE_MAXLOT))newLot=MarketInfo(Symbol(),MODE_MAXLOT);
OrderSend(Symbol(),OP_SELLSTOP,new(),s,3*Q,SL,TP,"dentist_hussein EA",MagicNumber,0,Red);
}
////////////////////////
if
while(orderscnt(OP_SELL)>=1 && PendingOrders(OP_BUYSTOP)+PendingOrders(OP_SELLSTOP)==0 && last_type==OP_SELL )
{
TP=b+(TakeProfit*point);
SL=b-(StopLoss*point)-spr;
if(newLot>MarketInfo(Symbol(),MODE_MAXLOT))newLot=MarketInfo(Symbol(),MODE_MAXLOT);
OrderSend(Symbol(),OP_BUYSTOP,new(),b,3*Q,SL,TP,"dentist_hussein EA",MagicNumber,0,Blue);
}
وجزاك الله حيرا .
- 04-05-2013, 09:49 PM #3740
- 05-05-2013, 12:05 AM #3741
رد:موضوع مخصص للأسئلة البرمجية
لاحظ يا دكتور إنك في أوردر سيند إستدعيت حجم اللوت من الدالة lot()
وبالتالي يجب وضع الشرط في دالة اللوت
ويجب أن تكون في نهاية الدالة بالشكل ده
كود PHP:double new(){
double newLot;
double A=orderscnt(OP_BUY)+orderscnt(OP_SELL);
if(A==1)newLot=Lot2;
if(A==2)newLot=Lot3;
if(A==3)newLot=Lot4;
if(A==4)newLot=Lot5;
if(A==5)newLot=Lot6;
if(A==6)newLot=Lot7;
if(A==7)newLot=Lot8;
if(A==8)newLot=Lot9;
if(A==9)newLot=Lot10;
if(A==10)newLot=Lot11;
if(A==11)newLot=Lot12;
if(A==12)newLot=Lot13;
if(A==13)newLot=Lot14;
if(A==14)newLot=Lot15;
if(newLot>MarketInfo(Symbol(),MODE_MAXLOT))newLot=MarketInfo(Symbol(),MODE_MAXLOT);
return(newLot);
}
آخر تعديل بواسطة xcv114 ، 05-05-2013 الساعة 12:14 AM
- 05-05-2013, 11:57 AM #3742
السلام عليكم ورحمة الله وبركاته
كيف حالك أستاذنا الغالي أسامة والاخ الاستاذ جميل والحمدلله على السلامة الاستاذ يوسف
عندي سؤال أعتقد انه بسيط لكني مش عارف اوصل للمنطق البرمجي:
السؤال
لو فرضنا عندي الاكسبييرت يضع الماجيك نمبر لكل زوج يتاجر به بشكل اوتوماتيكي ولنفرض وضعناه على زوج اليورو دولار وكان الماجيك نمبر = 1 وايضا على زوج الباوند دولار وكان الماجيك نمبر = 2
فكيف أفرض على الاكسبيرت اذا دخل صفقة على أحد الزوجين بأن لايدخل على الزوج الآخر طالما هناك عملية مفتوحة وهو من قام بفتحها وليس المستخدم؟
وبارك الله في جهودكم جميعا.
- 05-05-2013, 12:35 PM #3743
رد:موضوع مخصص للأسئلة البرمجية
وعليكم السلام ورحمة الله
تفضل ضيف هذه الدالة ثم جرب بعد افتتاح السوق بوضع الأكسبيرت على الشارتين .
كود PHP:int orderscnt(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderType()==OP_SELL||OrderType()==OP_BUY){
cnt++;
}
}
}
return(cnt);
}
- 05-05-2013, 12:42 PM #3744
رد:موضوع مخصص للأسئلة البرمجية
في حلول أخرى للتعرف على العمليات المفتوحة بواسطة الإكسبيرت .. أعتقد أسهلها هو التعرف على الأوردرات عن طريق الكومنت
ستقوم بتعريف متغير نصي خارجي مثلا
كود PHP:extern string comment="Autotarde";
كود PHP:OrderSend(Symbol(),OP_BUY,Lots,Ask,3*Q,0,0,comment,MagicNumber,0,Blue);
كود PHP:int AutoOrders(){
int cnt=0;
for(int i =0;i<=OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderComment()==comment){
cnt++;
}
}
return(cnt);
}
كود PHP:if(AutoOrders()<1 && إلخ)//Buy
if(AutoOrders()<1 && إلخ)//Sell
- 05-05-2013, 03:11 PM #3745
- 05-05-2013, 03:14 PM #3746
- 05-05-2013, 03:21 PM #3747
بارك الله بكم جميع يبدو اني توصلت للحل المنطقي ويلي كان سهل جدا
اولا جميع ارقام الماجيك نمبر يجب ان تخزن في مصفوفة خاصة بالماجيك نمبر للازواج التي يتم العمل عليها بعدين نفس الكود يلي أرفقو الاستاذ جميل مع إضافة حلقة لمصفوفة الماجيك نمبر فاذا كان الامر المفتوح يحمل رقم يساوي أحد ارقام المصفوفة فاذا هذا الامر مفتوح من قبل الاكسبيرت وعلى هذا الاساس لن يفتح اي امر جديد في الازواج الاخرى
بارك الله بكم جميعا أساتذتنا
- 05-05-2013, 11:26 PM #3748
- 06-05-2013, 12:37 AM #3749
رد:موضوع مخصص للأسئلة البرمجية
إما أن تستخدم الشرط بداخل الكود كما شرحها الأخ xcv في المشاركه السابقه
أو أن تضعها مع الأوامر و تجعل الأوامر
كود PHP:if(new()>MarketInfo(Symbol(),MODE_MAXLOT))newLot=MarketInfo(Symbol(),MODE_MAXLOT);
else newLot=new();
OrderSend(Symbol(),OP_SELLSTOP,newLot,s,3*Q,SL,TP,"dentist_hussein EA",MagicNumber,0,Red);
- 06-05-2013, 01:08 AM #3750
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM