المؤشر هو نفسه الذي أرفقته لي في المشاركه السابقه
حتى يعمل المؤشر قم بوضع في المسار MetaTrader/experts/indicators
ثم قم بإغلاق الميتاتريدر وأعد تشغيله وسوف تجد المؤشر بإسمه موجود في خانة
المؤشرات الخارجيه Custom indicators
Printable View
الحل الأسهل هو مراجعة هذه النتائج يدويا لأن عمل هذا المؤشر صعب وفي نفس الوقت النتائج ستكون غالبا متشابه لأن البيانات التاريخيه للعملات حتى لو كان فيها إختلاف فسوف يكون إختلاف بسيط
إذا كنت مصر على عمل مثل هذا المؤشر وترى أنه سيكون ذو فائده إفتح موضوع خاص وإشرح لنا المؤشر والمطلوب لأن هذا القسم مخصص للاسئله البرمجيه فقط
شكرا مستر دولار ما اريده بالضبط وكما فهمت من شرحك
اني اريد ان يتحقق r1 + r2+r3 or a1+a2+a3
كما فهمت من الشرح انه يجب وضعها جميعها في اقواس كما هو مرفقاذا تحققت اي من الشروط يفتح صفقهكود PHP:
if((r1&&r2&&r3)|| (a1 &&a2&&a3))
اي اذا تطابق r1 , r2,r3 يقوم بفتح صفقه
وكذلك اذا تطابق a1,a2,a3 يقوم بفتح صفقه
وجزاك الله كل خير
اخي مستر دولار الفاضل من باب العلم ليس اكثر هل هذا الكود صحيح ويقضي حاجتي اما انه هناك ترتيب معين لذلك وجزاك الله كل خير
اقصد به بدل ان اضع اشاره او
اتعامل مع كل الشروط بشكل مستقل مثلا اذا تحققr1,r2,r3 افتح صفقه واعطيني انذار
واذا تحقق a1,a2,a3 افتح صفقه واعطيني انذار
اي مثل المضاعفات لكن بشرط يفتح صفقه اذا كان ليس هناك صفقه
واطلت عليك مستر دولار وجزاك الله كل خير وجعل مثواك الجنه انت واهلك واحبتك امين امين وشكرا
اخ مستر حاولت اكثر من مره ببرمجه فكرتي ولكن دون فائده لقله الخبره .
كما قلت الفكره هوفتح اوامر معلقه يوميا عند فتح الساعه 17 ولاتقفل ولا تحذف هذه الاوامر الا نهايه الاسبوع فاذا تفعل امر ما يقوم كود المضاعفات بفتح عقود معاكسه مضاعفه و ان تبقى ايضا الى نهايه الاسبوع فاذا تفعلت هذه العقود المعاكسه يقوم كوذ المضاعفات مره اخرى بفتح عقود معاكسه مضاعفه وهكذا يبقى يضاعف الى ان يصل الى المضاعفه الثالثه او الرابعه او الخامسه حسب تغيرالضبط اوالتحكم في اقصى عدد للمضاعفات.
لنفرض أن لدي 5 قيم
A1,A2,A3,A4,
وأيضا 5 قيم أخرى
B1,B2,B3,B4,
أريد وضع مقارنه إذا تحققت أن ( A1 أكبر من A2 و A3 أكبر من A4 )
أو إذا تحققت ( B1 أكبر من B2 و B3 أكبر من B4 ) يفتح صفقه
سوف يكون الكود كالآتي
لكن إذا كتبت الكود بهذا الشكلكود PHP:
if((A1>A2&&A3>A4)||(B1>B2||B3>B4))
{
// open order
}
فعلامة || سوف تكون مرتبطة فقط بالشرط A3>A4 أو B1>B2كود PHP:
if(A1>A2&&A3>A4||B1>B2&&B3>B4)
{
// open order
}
فتكون الشروط كامل
A1 أكبر من A2 و B3 أكبر من B4 و A3 أكبر من A4 أو B1 أكبر من B2
هل لاحظت الفرق بين الكودين الاول والثاني
هذا الكود المدموج للىستوب المتحرك يظهر الخطاء 4051 ......حتى لم اجد trailingstep بداخل الكود. قدتكون هي السبب
وهل دمج اكواد اداره راس المالتكون هكذا صحيحه؟
كود PHP:
double LotManage()
{
double lot1 = MathCeil(AccountFreeMargin() * RiskPercent1 / 1000) / 100 ;
double lot2 = MathCeil(AccountFreeMargin() * RiskPercent2 / 1000) / 100 ;
double lot3 = MathCeil(AccountFreeMargin() * RiskPercent3 / 1000) / 100 ;
double lot4 = MathCeil(AccountFreeMargin() * RiskPercent4 / 1000) / 100 ;
if(lot1<MarketInfo(Symbol(),MODE_MINLOT))lot1=MarketInfo(Symbol(),MODE_MINLOT);
if(lot1>MarketInfo(Symbol(),MODE_MAXLOT))lot1=MarketInfo(Symbol(),MODE_MAXLOT);
if(lot2<MarketInfo(Symbol(),MODE_MINLOT))lot2=MarketInfo(Symbol(),MODE_MINLOT);
if(lot2>MarketInfo(Symbol(),MODE_MAXLOT))lot2=MarketInfo(Symbol(),MODE_MAXLOT);
if(lot3<MarketInfo(Symbol(),MODE_MINLOT))lot3=MarketInfo(Symbol(),MODE_MINLOT);
if(lot3>MarketInfo(Symbol(),MODE_MAXLOT))lot3=MarketInfo(Symbol(),MODE_MAXLOT);
if(lot4<MarketInfo(Symbol(),MODE_MINLOT))lot4=MarketInfo(Symbol(),MODE_MINLOT);
if(lot4>MarketInfo(Symbol(),MODE_MAXLOT))lot4=MarketInfo(Symbol(),MODE_MAXLOT);
return (MathMin(lot1,200)); return (MathMin(lot2,200)); return (MathMin(lot3,200)); return (MathMin(lot4,200));}
الاخوة الكرام / السلام عليكم ورحمة الله
هل منكم من يرشدني لكيفية تنفيذ سكربت من خارج منصة التداول ؟
وبشرح أوضح للسؤال :
1 - يوجد لدي سكربت لتنفيذ أمر شراء " على سبيل المثال" ، وهو موجود في 5 منصات تداول "’MT4" من 5 شركات مختلفة .
2 - أريد تنفيذ سكربت أمر شراء في إحدى منصات التداول ، عندها يتنفذ السكربت في المنصات الأربعة الأخرى تلقائياً .
وبارك الله في من أحسن عملاً .
كود إدارة رأس المال غير صحيح
فعند عمل الداله الأمر return الأول فقط هو الذي سيتفعل وباقي الكود كأن ليس له وجود
فلو راجعت تعريف الأمر return فهو ينهي الداله ويعود بالقيمه المحدده بالتالي عندما يكون عند أول أمر return سوف ينفذه ولن ينفذ باقي الأوامر
لحل هذه المشكله يمكنك تعديل الكود
ثم في الأمر الأول سوف تستخدم الدالهكود PHP:
double LotManage(double riskpercent)
{
double lot = MathCeil(AccountFreeMargin() * riskpercent / 1000) / 100 ;
if(lot<MarketInfo(Symbol(),MODE_MINLOT))lot1=MarketInfo(Symbol(),MODE_MINLOT);
if(lot>MarketInfo(Symbol(),MODE_MAXLOT))lot1=MarketInfo(Symbol(),MODE_MAXLOT);
return (MathMin(lot,200));
}
والأمر الثانيكود PHP:
LotManage(RiskPercent1);
وهكذاكود PHP:
LotManage(RiskPercent2);
وبنفس الطريقه يمكنك تعديل التريلينج ستوب بأن تجعل قيمة TrailingStop والماجيك نمبر كمتغير خاص بالداله ثم تستخدم الداله أكثر من مره على حسب عدد الماجيك نمبر عندك
اخي مستر لوسمحت ساعدني في برمجه هذه الفكره
حاولت اكثر من مره ببرمجه فكرتي ولكن دون فائده لقله الخبره .
كما قلت الفكره هوفتح اوامر معلقه يوميا عند فتح الساعه 17 ولاتقفل ولا تحذف هذه الاوامر الا نهايه الاسبوع فاذا تفعل امر ما يقوم كود المضاعفات بفتح عقود معاكسه مضاعفه و ان تبقى ايضا الى نهايه الاسبوع فاذا تفعلت هذه العقود المعاكسه يقوم كوذ المضاعفات مره اخرى بفتح عقود معاكسه مضاعفه وهكذا يبقى يضاعف الى ان يصل الى المضاعفه الثالثه او الرابعه او الخامسه حسب تغيرالضبط اوالتحكم في اقصى عدد للمضاعفات.
مرحبا أيها الاصدقاء سؤالي هده المرة بسيط .
هل توجد شركات وساطة تستقبل السكريبت ويعمل حتى لو أقفلت حاسوبك ؟
و شكرا على مساعدتكم .