السلام عليكم
الكود الموجود هنا---ينقل فقط اول حرف من النص
*-* نقل البيانات بين الميتاتريدر والإكسل *-* مكتبة قوية جدا
مثلا EURUSD ينقل فقط اول حرف E
ما الحل؟
Printable View
السلام عليكم
الكود الموجود هنا---ينقل فقط اول حرف من النص
*-* نقل البيانات بين الميتاتريدر والإكسل *-* مكتبة قوية جدا
مثلا EURUSD ينقل فقط اول حرف E
ما الحل؟
وعليكم السلام ورحمة الله وبركاته
تفضل هذه أحدث نسخة من المكتبه قمت بتجربتها وهي تعمل بشكل صحيح
رائع اخي
الزوج وقيمة نقطته كمثال!
نص كامل
http://www13.0zz0.com/2017/11/29/18/699464905.png
رد منقول:
موضوع يهمك
سأطرح هناك مثال للنقل وفي اي خلية تضع القيمة الخ --- سهل جدا--ستفهمه بسهولة وسترتاح كثيرا بعد ذلك
النقل الفوري من الميتاتريدر للاكسل-
اي شيء تتصوره تستطيع نقله--قيم سعرية مباشرة---متوسطات اسعار--قيم مؤشرات--بل حتى اسماء جماعتك لو حبيت
لو طبقته لفكرتك هنا للاكسل---ستعرف معنى كلمة فرق
يعني تخيل بيانات اليورو وعرفتها
مجرد تغير التشارت في المنصة الى الكيبل مثلا
سترى الكيبل فورا في الاكسل بكافة بياناته وقرارته
الاشكال الستة اذا كنت ترسمها برمجيا --سيتم رسمها فورا بشكل تلقائي
مثال توضيحي
نريد ملف اكسل
الخانة الاولى وليكن مكانها A1 فيه اسم اليورو دولار ---
الخانة الثانية وليكن مكانها B1 فيها سعر البد لليورو دولار
الخانة الثالثة وليكن مكانها C1 فيها سعر الاسك لليورو دولار
الخانة الرابعة وليكن مكانها D1 فيها سعر البايفوت لليوم السابق
http://www2.0zz0.com/2017/11/29/19/664346221.png
نريد ان يكون اسم ملف الاكسل gashaweb
سواء:
امتداد gashaweb.xls
او امتداد gashaweb.csv
دعنا نختار امتداد xls , واسم الشيت في الاسفل--تاب اسفل الاكسل ليكن EURUSD_Pivot
الاسماء انتقلت من البرنامج للاكسل--- البرنامج نفسه انشأ ملف اكسل جديد اذا لايوجد سابقا بالاسم الذي حددناه والشيت نيم ايضا بنفس الاسم الذي حددناه في البرنامج:
http://www6.0zz0.com/2017/11/29/19/615763736.png
دول امبورت المكتبة تنسخ كما هي حسب الصورة السابقة
بعد ذلك في دالة OnInit وهي امور من مرة واحدة ثم ننساها:
1) نشيك فتح الملف من خلال المتغير MyExcel الذي سنستخدمه لاحقا في OnTimer
2) نسمي الملف ونسمي رقم الصفحة كما حددنا سلفا
3) مدة التحديث للبيانات--في الصورة اسفل كل 1 ثانية---ممكن تخليها كل 60 ثانية لو حبيت من خلال تغييير 1 داخل EventSetTimer الى 60
تنسخ كماهي دون تغيير حتى لو اردت تطبيقها عل 100 استراتيجية مختلفة
http://www9.0zz0.com/2017/11/29/19/633120643.png
والأفضل تحذف اشلرط الخ
وتختصرها للمهم فقط:
http://www5.0zz0.com/2017/11/29/19/713610642.png
ثم OnTimer
. . .
ثم بعد الانتهاء OnDenint بحيث:
عند اغلقا الخبير او الاكسل
1) يحفظ البيانات الاخيرة
2) يغلق الملف
http://www11.0zz0.com/2017/11/29/19/494837973.png
نأتي للمهم OnTimer
كل ماسبق سيكون ثابت لأي فكرة أخرى في حياتك
والتغير بتغير الفكرة فقط في دالة OnTimer
ذكرنا البيانات التي سنعرضها--اسك - بد -بايفقوت-- وقبلها اسم زوج التشارت Symbol
الكود في مرفقات Mr.Dollar ضعه تحت فولدر Libraries
يعني انتبه ان تضعه تحت expert او include الخ
ثم الكوزد اسفل احفظه تحت Experts--الكود اسفل هو الصور اعلاه
لاتفتح اكسل
اجعل البرنامج يفتحه عفويا لحظة التطبيق على التشارتكود PHP:
extern string filename="gashaweb.xls";
extern string ExcelSheetName = "EURUSD_Pivot";
extern int myExcel=0;
#import "excellinkW.dll"
int ExcelStart(string,int);
string ExcelVersion();
int ExcelPutString(int,int,int,string);
int ExcelPutValue(int,int,int,double);
int ExcelFormatCellColor(int,int,int,int,int);
int ExcelFormatCellFontSize(int,int,int,int);
int ExcelFormatCellFont(int,int,int,int);
double ExcelGetValue(int,int,int);
string ExcelGetString(int,int,int);
int ExcelSaveFile(string);
int ExcelSheetRename(int, string);
int ExcelPutCalc(int,int,int,string);
string ExcelGetCalc(int,int,int,string);
int ExcelEnd();
int ExcelClose();
int ExcelFreeString();
string ExcelCell(int,int);
int ExcelUnixTime();
#import
int OnInit()
{
EventSetTimer(1);
myExcel = ExcelStart(filename,1);
ExcelSheetRename(1,ExcelSheetName);
return(INIT_SUCCEEDED);
}
void OnTimer()
{
if (myExcel>=0)
{
double pivot = NormalizeDouble( ( High[1] + Low[1] + Close[1] ) / 3.0 , _Digits) ;
ExcelPutString(1,1,1,Symbol());
ExcelPutValue(1,1,2,Bid);
ExcelPutValue(1,1,3,Ask);
ExcelPutValue(1,1,4,pivot);
}
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
ExcelSaveFile(filename);
ExcelEnd();
EventKillTimer();
}
انتهى الأساسيات جدا--وهو النقل المجرد للبيانات
لو تلاحظ دوال المكتبة في الكود حول 20 دالة--استخدمنا منها فقط خمس دوال
هناك دوال لتلوين الخلية او القيمة او اختيار فونت اكبر او اصغر
-
-
-
-
-
-
اختبار للجميع لو غيرنا 1 الى 2 في الكود اسفل --- مالتغير الذي سيحدث؟
من:
إلى:كود PHP:
ExcelSheetRename(1,ExcelSheetName);
كود PHP:
ExcelSheetRename(2,ExcelSheetName);