كيف يمكن برمجيا حفظ قيمة معينة في متغيرات تحتفظ بقيمتها وحتي وان تم اغلاق المنصة او حدث اي مشكلة
لأن المتغيرا ت العادية وقتية فقط
؟؟؟
Printable View
كيف يمكن برمجيا حفظ قيمة معينة في متغيرات تحتفظ بقيمتها وحتي وان تم اغلاق المنصة او حدث اي مشكلة
لأن المتغيرا ت العادية وقتية فقط
؟؟؟
ياريت كنت عارفه برمجه عشان اجاوبك
لانو انا محتاجه لكل دعوه صادقه
السلام عليكم ورحمة الله وبركاته
يمكن ذلك باستخدام مجموعة دوال Global variables
وستجد معلومات عنها في البرنامج نفسه كما في الصورة
الملف المرفق 325424
وفق الله الجميع
أعتقد عن طريقة GlobalVariableSet و GlobalVariableGet
يعني مثلا بعد OrderSend ممكن تحفظ أخر قيمة للوت بالشكل ده
طبعا إسم المتغير الجزئين دول "LastLot"+TicketNumber عشان يكون الإسم فريد ( unique) يعني :)كود PHP:GlobalVariableSet("LastLot"+TicketNumber,Lots);
بس طبعا هتعرف int TicketNumber خارج إستارت عشان تقدر تستخدمها في أي مكان في الإكسبيرت
وتخليها بالشكل ده في الإستخدام
----------------------------------------------------كود PHP:TicketNumber=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,SL,TP,"",MagicNumber,0,Red);
GlobalVariableSet("LastLot"+TicketNumber,Lots);
وبعد كده بتستدعيها في أي مكان في الإكسبيرت مثلا
تعود بقيمة أخر لوت إتفتحكود PHP:GlobalVariableGet("LastLots"+TicketNumber)
---------------------------------
وأعتقد أنها تظل في الذاكرة فترة 4 أسابيع من تاريخ أخر إستدعاء لها
----------------------------
وإنتظر بارضوة رأي باقي الإخوة المبرمجين
لإني ما إستخدمتهاش قبل كده
بس فاكر إني قريتها في مكان قبل كده :)
شكرا لكم علي الرد وبارك الله فيكم
يعني طريقتها شبيهة بالكوكيز !!
يمكنك كتابة القيمة في ملف
مرفق
وظيفة لفتح الملف و كتابة القيمة
وظيفة لقراءة الملف و استخراج القيمة
يتم التعامل مع الوظائف كالتاليكود:void writer(double value)
{
int handle=FileOpen("my_data.txt",FILE_CSV | FILE_READ | FILE_WRITE,';');
int ret=FileWrite(handle,value);
FileClose(handle);
}
//----
string reader()
{
double out;
int handle=FileOpen("my_data.txt",FILE_CSV | FILE_READ,';');
if(handle>0)
{
string str=FileReadString(handle);
FileClose(handle);
}
return(str);
}
كود:double value = your calculation
writer(value);
do something....
string str=reader();
double out=StrToDouble(str);
المشاركة السابعة
القيم تحفظ في المنصه نفسها لذلك الإكسبرت لن يستطيع قراءة المتغيرات إلا إذا كانت محفوظه في نفس المنصة
يمكنك الإطلاع على المتغيرات المحفوظه من المسار
Tools------->Global Variables
ويمكنك حفظ أي قيم أو حذف قيم يدويا
أما إذا أردت حفظ القيم على نفس الجهاز بحيث يستخدمها أي إكسبرت آخر أو على أي برنامج ميتاتريدر آخر فإستخدم طريقة الأخ mb
الافضل استخدام دالة الكتابة الى ملف (انا مجربها ومستخدمها لان موجودة في مواضيع وضاح عطار موضوع لن تقراع الا هنا تلقاه مثبت)
وهناك دالة القراءة (ليست صعبة لكني لم استخدمها بعد)
ولكن كما تفضلت لا يمكن القراءة الا من ملف الميتاتريدر
ويمكن حل هذه المشكلة برمجيا باستخدام برمجة dll
وقد قدم coder guru مكتبة dll للكتابة او القراءة الى ملف خاج مجلد الميتاتريدر
ساحاول البحث عنه في النت
تفضل اخي الكريم هذا الرابط
هو ما تبحث عنه بالضبط
http://www.xpworx.com/download-free/...-functions.php
لكني لم اجرب المكتبة