لا يمكن ذلك للأسف فيجب أن تفتح كل حساب وتضع الإكسبرت عليه أو تضع الإكسبرت على منصه واحده وتستخدم ناسخ الصفقات بوضعه على باقي الحسابات
رأيت الرساله
تحياتي
Printable View
السلام عليكم
استاذنا مستر دولار
عرفنا الاستوب والتيك والتريلينج المخفي
هل يوجد طريقه لجعل الاوامر المعلقه مخفيه عن البروكر؟؟
سوال غريب قليلا
السلام عليكم استاذى الكريم
مستر دولار
فى المرفقات مؤشر يعمل على خط المتوسط فى صفقات الشراء و خط المتوسط فى صفقات البيع
مع اضافة عدد النقاط بعد هذا المتوسط
المطلوب هنا
متوسط على كل الصفقات بيع وشراء معا على نفس الشارت ويكون خط متوسط حسابى لهم جميعا
ممكن هذا الطلب
ولك الشكر والتقدير
تحياتى
وعليكم السلام ورحمة الله وبركاته
يمكنك وضع خطوط أفقيه مكان الأمر المعلق وتضع شرط عندما يصل السعر إلى هذا الخط يتفعل الأمر عن طريق جعل كل نوع أمر معلق بلون معين مثلا أمر الشراء تجعل الخط باللون الأخضر وأمر البيع باللون الأحمر
وتجعل الأهداف والاستوب لوز معرفه في خانة description في الخط
واجهتني مشكلتين ارجوا الانتباه لها
لاحظ في الصورة التالية
خطوط صغيرة عبارة عن امر معلق وهدف
أول مشكلة تكرار الأمر على نفس الخط (يصعد ينفذ شراء ويحقق الهدف .. ثم يرجع وينفذ مرة أخرى)
حاولت تجاوزها بحذف الخط بعد المرور عليه .. لكنه حتى الان لا يحذف كل الخطوط كما ترى في الصورة
المشكلة الأخرى التنفيذ
فاحيانا يمر على الخط ويسلم عليه ولا ينفذ
الملف المرفق 458917
لاحظ ايضا
صفقة البيع المفتوحة حاليا
فتحها قبل لمس الخط بنصف نقطة لأنه اصلا لم يلمس الخط
من النوادر أن يكون سعر ال Bid يساوي قيمة الخط فلا بد من وضع مسافة خطأ
وهنا اشكالية الموازنة بين التوسيع والتضييق في المعادلة وقراءة مكان الخط والسليباج
ومع ذلك طريقة الخط أروع وأجمل من الأوامر الحقيقية المباشرة
لاحظ في الصورة التالية
أوامر بيع وأهدافها
لم تنفذ ولكن هنا السبب معروف وهو أن الحساب (ادارة راس المال ) لا تسمح بفتح صفقات جديدة
وهو فرق جوهري جعلني اختار وضع خط بدل الامر المعلق
ممكن المساعدة لحل الخطأ في الكود، هذا الكود لعمل الأوردر فقط
[CODE]//+------------------------------------------------------------------+//| - EA(1).mq4 |
//| Copyright 2012, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013,"
#property link ""
extern int CloseCandle=0;
extern int MagicNumber=0;
extern int MaxTrades=100;
extern double Lots=1;
extern int StopLoss=0;
extern int TakeProfit=0;
datetime Time0;
double point;
int digits;
int init()
{
Time0=Time[0];
if(Digits<4)
{
point=0.01;
digits=2;
}
else
{
point=0.0001;
digits=4;
}
return(0);
}
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS deinitialization function |
//+------------------------------------------------------------------+
void deinit() {
Comment("");
}
int orderscnt(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
cnt++;
}
}
}
return(cnt);
}
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS Start function |
//+------------------------------------------------------------------+
int start()
{
Comment(" ");
double c=iCustom(Symbol(),0,”hh”,0,0);
double d=iCustom(Symbol(),0,”hh”,1,0);
if(c>d&&Time0!=Time[0])
{
if(orderscnt()<MaxTrades){
if(StopLoss==0){SL=0;}else{SL=Ask-StopLoss*Point;}
if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*Poi nt;}
OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Bid ,Digits),3,SL,TP,"",0,0,Blue)
PlaySound("Alert.wav");
Time0=Time[0];
}
if(d>c&&Time0!=Time[0])
{
if(orderscnt()<MaxTrades){
if(StopLoss==0){SL=0;}else{SL=Ask-StopLoss*Point;}
if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*Poi nt;}
OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bi d,Digits),3*P,SL,TP,"",0,0,Red);
PlaySound("Alert.wav");
Time0=Time[0];
}
return(0);
}
//+---------------------------------------------------------------------------------+
/CODE]
السلام عليكم ورحمة الله وبركاته
بعد التحية والتقدير
أريد دالة تعود بقيمة أعلى قمة للزيكزاك ضمن مجال سعري محدد وعدد شموع محددة بداية من آخر شمعة،
ودالة تعود بأقل قيمة لأقل قاع ضمن المجال السعري وشموع محددة
ارجو المساعدة بارك الله فيكم
السلام عليكم
هل توجد معادله تكون ابسط من هذا الكود
هذه الشروط وضعتها للتحكم بقيمه اللوت وتعمل بشكل جيد ولكن للاسف انها تبطئ من عمل الاكسبيرت قليلاكود PHP:
if (Lots==0.0) {
if(AccountBalance()<=5) Lots = 0.01 ;
if(AccountBalance()>=25) Lots = 0.02 ;
if(AccountBalance()>=100) Lots = 0.07 ;
if(AccountBalance()>=300) Lots = 0.19 ;
if(AccountBalance()>=400) Lots = 0.51 ;
if(AccountBalance()>=1000) Lots = 1.3 ;
if(AccountBalance()>=5000) Lots = 2.6 ;
if(AccountBalance()>=15000) Lots = 6.0 ;
if(AccountBalance()>=50000) Lots = 14.0;
if(AccountBalance()>=100000) Lots = 29.0 ;
if(AccountBalance()>=200000) Lots = 50.0 ;
if(AccountBalance()>=500000) UseRiskPercent = TRUE ;}
هل يوجد معادله او كود ابسط واخف
وعليكم السلام ورحمة الله وبركاته
حسب ما أرى في الكود فأنت لم تضع متوالية معينه لتحديد حجم اللوت حسب رأس المال لكن وضعت حجم اللوت يدويا
إذا إستطعت ربطها بمعادلة رياضيه سيكون أسهل وأخف بكثير أما إذا لم تجد حل فإستخدام الداله else if بحيث إذا تحقق الشرط الأول فلن يقوم الإكسبرت بقراءة باقي الكود
مثال
كود PHP:
if (Lots==0.0) {
if(AccountBalance()<=5) Lots = 0.01 ;
else if(AccountBalance()>=25) Lots = 0.02 ;
else if(AccountBalance()>=100) Lots = 0.07 ;
else if(AccountBalance()>=300) Lots = 0.19 ;
else if(AccountBalance()>=400) Lots = 0.51 ;
else if(AccountBalance()>=1000) Lots = 1.3 ;
else if(AccountBalance()>=5000) Lots = 2.6 ;
else if(AccountBalance()>=15000) Lots = 6.0 ;
else if(AccountBalance()>=50000) Lots = 14.0;
else if(AccountBalance()>=100000) Lots = 29.0 ;
else if(AccountBalance()>=200000) Lots = 50.0 ;
else if(AccountBalance()>=500000) UseRiskPercent = TRUE ;
}