-
مساء الخير
هل ممكن بدل مضاعفة الوت يتم مضاعفة الاهداف بمعني في صفقة مفتوحة ضربت الاستوب 10 نقطة الصفقة الي هتتفتح يكون الهدف 20 حقق ربح الصفقة الجديدة تاخد هدف 10 ضربت الاستوب الصفقة الجديدة تكون الاهداف 40 وهكذا لحد ما تحقق الهدف وترجع الي الاهداف الاصلية 10 نقطة
بانتظار ردودكم مع جزيل الشكر
-
عفوا لدي سؤال اخر لو سمحتم هل ممكن عدم فتح صفقة فوق صفقة تم فتحها من قبل بمعني اذا كان السعر 1.100 تم فتح صفقة شراء اذا نزل الي 1.90 فتح صفقة بيع اذا نزل الي 1.80 تم فتح بيع اذا صعد الي 1.90 لا يفتح صفقات واذا صعد الي 1.100 لا يفتح صفقات اذا صعد الي 1.110 يفتح صفقة شراء
-
-
هل يمكنك ان تشرح لي كيف لو سمحت
-
1 مرفق
هناك عدة طرق لكن أضمن طريقة هي باستخدام دوال الجلوبال للاحتفاظ بهدف آخر صفقة مفتوحة ثم نقوم باستدعائها عند فتح صفقة جديدة وهكذا...
الميزة بدوال الجلوبال أنها تحتفظ بقيمتها حتى لو انقطع التيار أو السيرفر أو اغلقت المنصة...، فبعد استئناف المنصة يكمل الاكسبيرت عمله باستدعاء الدالة المخزنة بالحاسوب...
راجع مثال بالاكسبيرت المرفق
-
شكرا جزيلا يعطيك العافية و بالنسبة لفتح صفقة فوق صفقة بعد اذنك شو حلها
-
سلمت أناملك أستاذي العزيز حسن
الله يخليك لنا دوم يارب ويرزقك من حيث لا تحتسب
-
ستقوم بعمل دالة تعود بسعر آخر صفقة بدلالة النوع كالتالي :
ثم تضع شروط فتح الصفقات كالتالي :
بحيث Step متغير خارجي للمسافة بين صفقة والصفقة الموالية من نفس النوع
-
-
1 مرفق
شكراً جزيلاً استاذي العزيز لمساعدتك و طول اناتك و اعتذر للاطالة، الكود خاص بنوع واحد فقط ام بيع او شراء لكن عندما يعمل بيع مع شراء بيصير يفتح بيع فوق شراء وشراء فوق شراء وبيع فوق بيع المطلوب لا يتنفذ اي صفقات فوق اي امر موجود علي الشارت و الصورة المرفقة توضح الفكرة التي احاول ايصالها ملف مرفق 1546
-
إذا تقصد صفقات التعزيز من نفس النوع فالدالة صحيحة
ارفق الاكسبيرت الذي قمت بعمله للتصحيح
-
1 مرفق
السلام عليكم أخي حسن
فجأة قام الاكسبيرت بفتح عدة صفقات غير مطلوبة ولم يحدد هدف وستوب وجائتني الملاحظة التالية :
external order
مالمقصود بهذه الملاحظة ولماذا تظهر ؟ أول مرة أراها بصراحة ؟
مرفق الصورة
-
وعليكم السلام
لغويا تعني صفقة منفصلة أو خارجية...
وهي فقط عبارة عن تعليق (كومنت) الصفقة، ليست لها علاقة بأخطاء أو تحذيرات الاكسبيرت،
يعني إسأل مبرمج الاكسبيرت لتوضيح المعنى او ارفق الكود مفتوح للبحث فيه
-
يعطيك العافية اخي، تفضل رابط الاكسبيرت و شكراً جزيلاً سلف
https://ge.tt/7KNghVl2
-
شكرا لك عزيزي حسن
الاكسبيرت مغلق الكود للاسف .. أنا الان بصدد برمجة نفس الفكرة تقريبا حتى يمكنني التعديل عليه لأي سبب طارئ في المستقبل
متشكرك كثير استاذي وتهمني كثير استشارتك دائما الله ينور عليك
-
1 مرفق
تم تصحيح الأخطاء بالنسخة المرفقة
-
-
-
الف شكر استاذي العزيز يعطيك العافية يسلم ايديك، و كل سنة و حضرتك و كل الاخوة بالموقع بألف ألف خير
-
-
مرحبا، يعطيك العافية اخي، لو سمحت بموضوع المصفوفة كيف ممكن نكتب فيها شروط لفتح الاوردرات؟؟ و هل ممكن اضافتها لاي اكسبيرت او الها طرق خاصة بالتعامل معها؟ و هل تقبل تحديد TakeProfit و StopLoss و شكرا جزيلا سلف
-
-
يعطيك العافية اخي و شكراً جزيلاً.
سؤال جديد من بعد امرك، حالياً اعمل على اكسبيرت خدمي سيكون متاحاً للجميع ان شاء الله و مجاني، سؤالي هل يمكنني في حال قام احد الاشخاص ببيعه دون علمي ان اوقف جميع النسخ القديمة و توزيع اصدار جديد، في حال كان الرد ايجابا كيف يمكنني فعل ذلك، عذراً على الاطالة و شكراً سلف
-
غير ممكن، لكن يمكنك اضافة شرط رقم الحساب او تاريخ صلاحية
وعموما طالما الاكسبيرت مجاني فلا يهم اذا استخدم لاغراض اخرى كبيعه او ادارة الحسابات...
-
السلام عليكم أخي حسن
ممكن لو تكرمت كود عدد الأوامر المعلقة المفتوحة الآن، وفق نوعها المعين، بدلالة كومنتها المعين
شكرا لك مقدما
-
وعليكم السلام ورحمة الله وبركاتة
كود عدد الاوامر بدلالة النوع والكومنت
-
شكرا لك أخي أحمد
لدي عدد كبير من الأوامر المعلقة المفتوحة بمختلف أنواعها وكومنتاتها
سؤالي هو
هل يلزمني كتابة دالة منفصلة لكل أمر معلق بنوعه وكومنته المختلف لحساب عدد صفقاته المفتوحة ؟
أم هذه الدالة أعلاه تشمل جميع أنواع الأوامر المعلقة وبمختلف أنواعها وكومنتاتاها
وبمجرد استدعاء الدالة وتحديد الأمر المعلق وكومنته في الاستدعاء يتم احتساب عدد الأوامر المعلقة المفتوحة وفق ما تم تحديده ؟
شكرا لك
-
العفو اخي
هذه الدالة تعود لك بعدد اي نوع من الصفقات بدلالة الكومنت الذي تحدده وهي تكفي لجميع انواع الصفقات
مثال لعد الصفقات
-
شكرا اخي الكريم وهو كذلك.
-
string Symbols_Array[]={"EURUSD","GBPUSD","USDJPY","AUDUSD","NZDUSD"};
int size=ArraySize(Symbols_Array);
double SL,TP;
for(int i=0;i<size;i++)
{
if(TotalOrders(-1)<1 && iClose(START+Symbols_Array[i]+END,0,1)>iOpen(START+Symbols_Array[i]+END,0,1))
{
if(Stoploss!=0){SL=MarketInfo(START+Symbols_Array[i]+END,MODE_ASK)-Stoploss*MarketInfo(START+Symbols_Array[i]+END,MODE_POINT);}else SL=0;
if(Takeprofit!=0){TP=MarketInfo(START+Symbols_Arra y[i]+END,MODE_ASK)+Takeprofit*MarketInfo(START+Symbols _Array[i]+END,MODE_POINT);}else TP=0;
int tk1=OrderSend(START+Symbols_Array[i]+END,OP_BUY,NewLots,MarketInfo(START+Symbols_Array[i]+END,MODE_ASK),30,SL,TP,"",MagicNumber,0,Blue);
}
else if(TotalOrders(-1)<1 && iClose(START+Symbols_Array[i]+END,0,1)<iOpen(START+Symbols_Array[i]+END,0,1))
{
if(Stoploss!=0){SL=MarketInfo(START+Symbols_Array[i]+END,MODE_BID)+Stoploss*MarketInfo(START+Symbols_A rray[i]+END,MODE_POINT);}else SL=0;
if(Takeprofit!=0){TP=MarketInfo(START+Symbols_Arra y[i]+END,MODE_BID)-Takeprofit*MarketInfo(START+Symbols_Array[i]+END,MODE_POINT);}else TP=0;
int tk2=OrderSend(START+Symbols_Array[i]+END,OP_SELL,NewLots,MarketInfo(START+Symbols_Arra y[i]+END,MODE_BID),30,SL,TP,"",MagicNumber,0,Blue);
}
}
}
اخي بالنسبة للمصفوفة بعد التجربة وجدت انه لا يعمل بالشكل المطلوب، حيث انه يقوم بفتح اوردرات على الزوج الحالي فقط الموجود على المنصة. هل يمكنك معالجته لو سمحت، مع جزيل الشكر
-
2 مرفق
أخي الكريم
أولا يجب كتابة الكود ضمن كود PHP كما بالصورة (بالوضع المتطور للمشاركة) حتى يكون مرتب وواضح بدون أخطاء
ملف مرفق 1786
ثانيا الخطأ لديك بشرط عدد الصفقات TotalOrders أكيد مقترن بالزوج الحالي فقط
أيضا لا تستخدم شرط else حتى يتم مراجعة الشروط كاملة في كل تكة سعرية
إذن الصحيح كالتالي :
ولا تنسى أن تضع الأزواج بقائمة الماركت واتش
ملف مرفق 1787
-
السلام عليكم استاذ حسن
اريد ان اعرف فائدة هذه الاكواد في الاكسبيرت
-
متشكرك كثير عزيزي أحمد
وفقك الله
-
العفو اخي rambo
اللهم امين
-
السلام عليكم أستاذ حسن
والله صار لي يومين عم بحاول في هالمشكلة بس إلى الآن ما وصلت للحل للأسف
قمت بإستخدام الدالة التالية للحصول على آخر سعر لآخر صفقة معلقة مفتوحة بدلالة النوع والكومنت
وعند استدعاء هذه الدالة تعمل بكفاءة وبدون مشاكل، ولكن عند استدعائها داخل الجملة الشرطية if لا تعمل ويكون العائد على الدالة صفر
وتأكدت بأن العائد صفر باستخدام الأمر برينت
وأنا بالطبع أريد العائد الصحيح وليس صفر، وأيضا لا أريد استدعائها واستخدامها الا داخل الجملة الشرطية if
بارك الله فيك
-
وعليكم السلام ورحمة الله وبركاتة
جرب هذا الكود وهو لاستاذنا حسن كيرا
دالة تستخرج تفاصيل آخر صفقة مفعلة من ربح، نوع، سعر، هدف، وقف، زمن ... بدلالة شرط معين عبارة عن كومنت
وقد اضفت لك شرط الكومنت
مثال
-
وعليكم السلام
دالة معرفة سعر آخر صفقة مفتوحة بدلالة الكومنت والنوع كالتالي :
-
وعليكم السلام
الدالة OnTick يتم استداعائها بتنفيذ ما بداخلها كل تكة للسعر
الدالة OnInit يتم استدعائها لمرة واحدة عند بداية عمل الاكسبيرت
الدالة OnDeinit يتم استدعائها لمرة واحدة عند نهاية عمل الاكسبيرت
الداله OnTimer يتم إستدعائها كل وقت معين تقوم بتنفيذ الأوامر الموجوده بداخلها ويمكن أن يصل هذا الوقت حتى 1 ملي ثانيه
يتم إستدعائها في الإكسبرت أو المؤشرات فقط ولا يمكن إستخدامها مع الإسكربتات
لتفعيل الداله OnTimer يجب أن تحدد الفاصل الزمني لكل مره يتم إستدعاء الداله فيها بإستخدام الداله EventSetTimer
كما بالكود نجد يعني إستدعاء الداله OnTimer كل 300 ملي ثانيه
أو تستخدم ويعني إستدعاء الداله OnTimer كل 1 ثانيه
الداله EventKillTimer تستخدم لإنهاء عمل الداله OnTimer
مثلا لو تريد توقف عمل الداله OnTimer عند تحقق شرط معين
ثالثا: OnChartEvent
راجع المشاركة التالية :
OnChartEvent
-
-
شكرا لك أخي أحمد بارك الله فيك