• 1:36 مساءاً




تبادل الخبرات في برمجة MQL

إضافة رد
Like Tree32Likes

أدوات الموضوع
الصورة الرمزية Rock
عضو ذهبي
الصورة الرمزية Rock
 
تاريخ التسجيل: Apr 2011
المشاركات: 14,766
خبرة السوق: 5 الى 10 سنوات
معدل تقييم المستوى: 28
Rock will become famous soon enough
افتراضي رد: تبادل الخبرات في برمجة MQL
131#
26 - 04 - 2018, 05:14 PM
اقتباس:
المشاركة الأصلية كتبت بواسطة ARRESSS23 مشاهدة المشاركة
مشكور حبيبي روووك على الرد السريع ،

أولا ، بالنسبة للمتغير distance فأنا لم أقم بتعريفه في الكود ، أو بالاحرى تخصيص (( affecte )) قيمة له في الكود ، حيث أترك هاذ العملية حتى الباك تيست بحكم أنه خارجي extern ،

ثانيا ، النصيحة اللي قدمتها لي (( و مشكور عليها أخي )) استعملتها من قبل فلم تنجح ، و السبب أن المتغير bors من نوع double ، و هذا النوع سواء في لغة mql4 أو باقي اللغات لا يمكن أن تتساوى مع قيم أخرى ، و السبب أن الله وحده من يعلم عدد الارقام وراء الفاصلة
لذلك ، كان لابد من استعمال دالة normalisedouble حتى أتحكم في عدد الارقام بعد الفاصلة و أيضا operator (( أكبر من أو يساوي )) عوض استعمال ( يساوي ) ،

أتمنى أكون شرحت كما ينبغي ،،
هلا ياغالى
طب فى حاله استخدمناها بالشكل التالى
NormalizeDouble(bors,Digits);
هل سيتحقق المطلوب بنفس العملية السابقة

وهل تقصد من عدم تساوي مع قيم اخري انه هيصل سعر الاسك او البيد لهذا السعر بمراحل تشغيل الاكسيبرت بالتالى سيتساوي كلا منهم بنفس القيمه ؟!

التوقيع

كن عظيماً ودوداً قبل أن تكون عظاماً ودوداً
Rock غير متواجد حالياً  
رد مع اقتباس

عضو جديد
 
تاريخ التسجيل: Jul 2017
المشاركات: 31
معدل تقييم المستوى: 0
ARRESSS23 is on a distinguished road
افتراضي رد: تبادل الخبرات في برمجة MQL
132#
26 - 04 - 2018, 07:58 PM
اقتباس:
المشاركة الأصلية كتبت بواسطة Rock مشاهدة المشاركة
هلا ياغالى
طب فى حاله استخدمناها بالشكل التالى
NormalizeDouble(bors,Digits);
هل سيتحقق المطلوب بنفس العملية السابقة

وهل تقصد من عدم تساوي مع قيم اخري انه هيصل سعر الاسك او البيد لهذا السعر بمراحل تشغيل الاكسيبرت بالتالى سيتساوي كلا منهم بنفس القيمه ؟!
نعم ، أعتقد ان استعملنا NormalizeDouble(bors,Digits) سينجح الامر ،

بالنسبة لسؤالك الثاني أخي روووك ، عملية التساوي ممكنة نظريا فقط ، أما عمليا فهي مستحيلة لسببين على ما أظن :

- السبب الاول رياضي بامتياز ، فالاعداد الحقيقية تحمل الكثير من الارقام بعد الفاصلة بصفة غير متناهية، خذ عندك مثال العدد ( بي ) ، فعمليا لا يمكننا اعطاء قيمة مساوية بالضبط لهذا العدد ، مادمنا نحن عاجزين عن ايجاد عدد مساوي له ، فكذلك الحاسوب اللذي نعطيه الامر بايجاد عدد حقيقي مساوي ل ( بي ) سيعجز عن ذلك بالتأكيد و النتيجة راح تطلع error ، اما ان كان المطلب ايجاد قيمة قريبة ل ( بي ) ، هنا عمليا المطلب ممكن تحقيقه سواء لنا نحن البشر ، أو بالنسبة للآلة ،

- السبب الثاني يتعلق بطبيعة السوق ، فتحرك السعر يتم بسرعة خيالية أحيانا ، بل غالبا ، لنفترض أن الزمن T0 هو الزمن اللذي سيتساوى فيه السعر مع قيمة معينة ، حواسيبنا غير مهيئة لتنفيذ أمر في هذا الزمن بالذات ، فهناك تأخر زمني لعوامل كثيرة منها سرعة النت ، الخ ،،،

لذلك من الافضل استعمال دالة normalisedouble و أيضا استبدال التساوي ب (( أكبر من أو يساوي )) أو (( أصغر من يساوي )) ،،،

بالمناسبة اكتشفت الخطأ في الكود بتاعي ، الخطأ يكمن في الدالة :
if(trade == True)
الخ
كنت مضطر لاستعمال هاذ الدالة قبل أوامر البيع ، و السبب هو تفعيل اوامر بيع كثيرة عوض أمر بيع واحد ،
للاسف لا أعلم كيف أعالج الامر و لا واحد يريد مساعدتي في باقي المنتديات
ARRESSS23 غير متواجد حالياً  
رد مع اقتباس
الصورة الرمزية Rock
عضو ذهبي
الصورة الرمزية Rock
 
تاريخ التسجيل: Apr 2011
المشاركات: 14,766
خبرة السوق: 5 الى 10 سنوات
معدل تقييم المستوى: 28
Rock will become famous soon enough
افتراضي رد: تبادل الخبرات في برمجة MQL
133#
27 - 04 - 2018, 10:27 PM
اقتباس:
المشاركة الأصلية كتبت بواسطة ARRESSS23 مشاهدة المشاركة
نعم ، أعتقد ان استعملنا NormalizeDouble(bors,Digits) سينجح الامر ،

بالنسبة لسؤالك الثاني أخي روووك ، عملية التساوي ممكنة نظريا فقط ، أما عمليا فهي مستحيلة لسببين على ما أظن :

- السبب الاول رياضي بامتياز ، فالاعداد الحقيقية تحمل الكثير من الارقام بعد الفاصلة بصفة غير متناهية، خذ عندك مثال العدد ( بي ) ، فعمليا لا يمكننا اعطاء قيمة مساوية بالضبط لهذا العدد ، مادمنا نحن عاجزين عن ايجاد عدد مساوي له ، فكذلك الحاسوب اللذي نعطيه الامر بايجاد عدد حقيقي مساوي ل ( بي ) سيعجز عن ذلك بالتأكيد و النتيجة راح تطلع error ، اما ان كان المطلب ايجاد قيمة قريبة ل ( بي ) ، هنا عمليا المطلب ممكن تحقيقه سواء لنا نحن البشر ، أو بالنسبة للآلة ،

- السبب الثاني يتعلق بطبيعة السوق ، فتحرك السعر يتم بسرعة خيالية أحيانا ، بل غالبا ، لنفترض أن الزمن T0 هو الزمن اللذي سيتساوى فيه السعر مع قيمة معينة ، حواسيبنا غير مهيئة لتنفيذ أمر في هذا الزمن بالذات ، فهناك تأخر زمني لعوامل كثيرة منها سرعة النت ، الخ ،،،

لذلك من الافضل استعمال دالة normalisedouble و أيضا استبدال التساوي ب (( أكبر من أو يساوي )) أو (( أصغر من يساوي )) ،،،

بالمناسبة اكتشفت الخطأ في الكود بتاعي ، الخطأ يكمن في الدالة :
if(trade == True)
الخ
كنت مضطر لاستعمال هاذ الدالة قبل أوامر البيع ، و السبب هو تفعيل اوامر بيع كثيرة عوض أمر بيع واحد ،
للاسف لا أعلم كيف أعالج الامر و لا واحد يريد مساعدتي في باقي المنتديات
فهمت عليك ياغالى بما تقصده بتحرك السعر مع عدم التساوي بسبب حركه الاسواق
لنحدد الآمر بـ =<

بالنسبه لتفعيل اومر كثيره ممكن نحدد عند تحقيق المطلوب بانعكاس السعر
نعمل دايره for

int r ;
for ( r=0;r>=1;r++);
{

if (r==1)
{
break ;
double d =OrderSend("باقي الآمر")};

بحيث لو حرف r = 1 تتوقف ويفتح امر البيع او الشراء المطلوب
وكده هيفتح امر واحد فقط عندما يكون الار تساوي 1

التوقيع

كن عظيماً ودوداً قبل أن تكون عظاماً ودوداً
Rock غير متواجد حالياً  
رد مع اقتباس
عضو جديد
 
تاريخ التسجيل: Jul 2017
المشاركات: 31
معدل تقييم المستوى: 0
ARRESSS23 is on a distinguished road
افتراضي رد: تبادل الخبرات في برمجة MQL
134#
28 - 04 - 2018, 09:06 PM
اقتباس:
المشاركة الأصلية كتبت بواسطة Rock مشاهدة المشاركة
فهمت عليك ياغالى بما تقصده بتحرك السعر مع عدم التساوي بسبب حركه الاسواق
لنحدد الآمر بـ =<

بالنسبه لتفعيل اومر كثيره ممكن نحدد عند تحقيق المطلوب بانعكاس السعر
نعمل دايره for

int r ;
for ( r=0;r>=1;r++);
{

if (r==1)
{
break ;
double d =OrderSend("باقي الآمر")};

بحيث لو حرف r = 1 تتوقف ويفتح امر البيع او الشراء المطلوب
وكده هيفتح امر واحد فقط عندما يكون الار تساوي 1
للاسف لم أتمكن من صيياغة هاذ الحلقة ، الكود عندك أخي روووك ، حاول ادماج هاذ الحلقة في الكود و لنر النتيجة ،
ARRESSS23 غير متواجد حالياً  
رد مع اقتباس
الصورة الرمزية Rock
عضو ذهبي
الصورة الرمزية Rock
 
تاريخ التسجيل: Apr 2011
المشاركات: 14,766
خبرة السوق: 5 الى 10 سنوات
معدل تقييم المستوى: 28
Rock will become famous soon enough
افتراضي رد: تبادل الخبرات في برمجة MQL
135#
30 - 04 - 2018, 10:45 PM
اقتباس:
المشاركة الأصلية كتبت بواسطة ARRESSS23 مشاهدة المشاركة
للاسف لم أتمكن من صيياغة هاذ الحلقة ، الكود عندك أخي روووك ، حاول ادماج هاذ الحلقة في الكود و لنر النتيجة ،
كود:
if ( " السعر وصل بخساره 20 بيب ")
{
int r;
for(r=0;r>=1;r++)
{
if ( r==1) break ;
double d = OrderSend(Symbol(),0,0.01,Ask,10,double  stoploos , double takepro ,NULL,55522,0,clrBeige );
}
هو الكود غير جاهز هو مجرد فكره

التوقيع

كن عظيماً ودوداً قبل أن تكون عظاماً ودوداً
Rock غير متواجد حالياً  
رد مع اقتباس
عضو جديد
 
تاريخ التسجيل: Apr 2018
المشاركات: 22
معدل تقييم المستوى: 0
ياسر ابوزياد is on a distinguished road
افتراضي رد: تبادل الخبرات في برمجة MQL
136#
31 - 05 - 2018, 11:24 PM
كلام جميل وكان الله في العون
ياسر ابوزياد غير متواجد حالياً  
رد مع اقتباس
الصورة الرمزية bibou2014
عضو نشيط
الصورة الرمزية bibou2014
 
تاريخ التسجيل: Feb 2017
المشاركات: 303
معدل تقييم المستوى: 8
bibou2014 is on a distinguished road
افتراضي رد: تبادل الخبرات في برمجة MQL
137#
02 - 07 - 2018, 02:32 PM
السلام عليكم ممكن كود العمل لمدة معينة على حساب معين
لانه لدي اكسبرت عندي اربعة سنين و انا اطور فيه و اريد بيعه
لكن ينقصني ختمه بكود العمل لمدة معينة
و كود العمل على حسب معين فقط
وشكرا
bibou2014 غير متواجد حالياً  
رد مع اقتباس
الصورة الرمزية سمير محمد ارمان
مشرف سابق
الصورة الرمزية سمير محمد ارمان
 
تاريخ التسجيل: Nov 2009
المشاركات: 33,660
معدل تقييم المستوى: 48
سمير محمد ارمان will become famous soon enough
افتراضي رد: تبادل الخبرات في برمجة MQL
138#
03 - 07 - 2018, 06:07 PM
اقتباس:
المشاركة الأصلية كتبت بواسطة bibou2014 مشاهدة المشاركة
السلام عليكم ممكن كود العمل لمدة معينة على حساب معين
لانه لدي اكسبرت عندي اربعة سنين و انا اطور فيه و اريد بيعه
لكن ينقصني ختمه بكود العمل لمدة معينة
و كود العمل على حسب معين فقط
وشكرا
تم العمل
فى المرفقات
تحياتى
الملفات المرفقة
نوع الملف: mq4 bibou2014.mq4‏ (1.5 كيلوبايت, المشاهدات 4)
سمير محمد ارمان غير متواجد حالياً  
رد مع اقتباس
عضو جديد
 
تاريخ التسجيل: Mar 2018
المشاركات: 126
معدل تقييم المستوى: 7
عبد ربه 2018 is on a distinguished road
افتراضي رد: تبادل الخبرات في برمجة MQL
139#
04 - 07 - 2018, 09:06 AM
السلام عليكم
سؤال فقط هو عندما اريد تحويل مؤشر الى اكسبرت هل يجب ان يكون المؤشر مفتوح الكود ام لا يهم ؟
وشكرا
عبد ربه 2018 غير متواجد حالياً  
رد مع اقتباس
عضو جديد
 
تاريخ التسجيل: Apr 2017
المشاركات: 67
معدل تقييم المستوى: 8
kazamadrid is on a distinguished road
افتراضي رد: تبادل الخبرات في برمجة MQL
140#
22 - 09 - 2018, 12:26 PM
اين يتم وضع هاذا الكود
//+------------------------------------------------------------------+
//| Check the correctness of the order volume |
//+------------------------------------------------------------------+
bool CheckVolumeValue(double volume,string &description)
{
//--- minimal allowed volume for trade operations
double min_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME _MIN);
if(volume<min_volume)
{
description=StringFormat("Volume is less than the minimal allowed SYMBOL_VOLUME_MIN=%.2f",min_volume);
return(false);
}

//--- maximal allowed volume of trade operations
double max_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME _MAX);
if(volume>max_volume)
{
description=StringFormat("Volume is greater than the maximal allowed SYMBOL_VOLUME_MAX=%.2f",max_volume);
return(false);
}

//--- get minimal step of volume changing
double volume_step=SymbolInfoDouble(Symbol(),SYMBOL_VOLUM E_STEP);

int ratio=(int)MathRound(volume/volume_step);
if(MathAbs(ratio*volume_step-volume)>0.0000001)
{
description=StringFormat("Volume is not a multiple of the minimal step SYMBOL_VOLUME_STEP=%.2f, the closest correct volume is %.2f",
volume_step,ratio*volume_step);
return(false);
}
description="Correct volume value";
return(true);
}
kazamadrid غير متواجد حالياً  
رد مع اقتباس


إضافة رد



جديد مواضيع منتدى المؤشرات و الاكسبرتات

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
مجموعة كتب في برمجة الاندرويد - كتب تعلم برمجة الإندرويد - Android Books ليالي دمشق استراحة بورصات 1 11 - 07 - 2015 03:54 AM
أبحث عن أستراتيجية لربح 4 نقاط (لنتادل الخبرات) العيد سفيان منتدى تداول العملات العام 1 06 - 02 - 2013 09:04 PM
ارجووو الرد من اصحاب الخبرات ....... alaa366 منتدى المؤشرات و الاكسبرتات 6 20 - 07 - 2010 03:18 AM


01:36 PM