النتائج 31 إلى 44 من 44
- 30-11-2017, 07:24 AM #31
- 30-11-2017, 07:24 AM #32
النتيجة هكذا:
- 30-11-2017, 07:33 AM #33كود PHP:
extern string filename="Market.xls";
extern string ExcelSheetName = "PipsValue";
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
string pairs[];
int TotalPairs;
int OnInit()
{
EventSetTimer(5);
myExcel = ExcelStart(filename,1);
ExcelSheetRename(1,ExcelSheetName);
int j=-1;
for(int i=0;i<SymbolsTotal(true);i++)
{
j++;
ArrayResize(pairs,j+1);
pairs[j]=SymbolName(i,true);
}
TotalPairs=SymbolsTotal(true);
return(INIT_SUCCEEDED);
}
void OnTimer()
{
if( TotalPairs != SymbolsTotal(true) ) OnInit();
if (myExcel>=0)
{
for(int i=0 ; i<TotalPairs ; i++)
{
ExcelPutString(1 , i+2 , 1 , pairs[i]);
ExcelPutValue( 1 , i+2 , 2 , MarketInfo(pairs[i],MODE_TICKVALUE));
ExcelPutValue( 1 , i+2 , 3 , MarketInfo(pairs[i],MODE_MARGINREQUIRED)/10.0);
}
}
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
ExcelSaveFile(filename);
ExcelEnd();
EventKillTimer();
}
افترض كان عدد الأزواج 30
ثم اصبحت 25!!
ونحن قلنا انه سيحتفظ بما سبق؟؟ ما الحل؟؟
ج: نظيف كود يملأ قيم فارغة في الخلال المزاحة من اسفل!
على النحو التالي:
- 30-11-2017, 03:46 PM #34
السلام عليكم ورحمة الله تعالى وبركاته
موضوع مميز كالعادة
لكن بعض الأمور لم أفهمها فأرجو توضيحها لو سمحت أخي الفيلسوف :
============
1
كود PHP:int ExcelStart(string,int);
أصلا الملف غير موجود إطلاقا فعلى أي أساس يحدد مساره وينشئه ؟
============
2
هل حصرا يجب أن يكون الملف من إمتداد xls أو csv
لأن إمتداد الإكسل الأصلي xlsx
============
3
المتغير
كود PHP:extern int myExcel=0;
============
4
حسب مافهمت من الكود أنه عند إزالة الاكسبرت من على الشارت فإن الاكسبرت يقوم بحفظ الملف ثم يغلقه
قام بالحفظ لكن لم يغلقه
طبعا الكود نسخ ولصق من الكود الذي وضعته أنت في الصفحة الأولى حتى الآن لم أغير شيء فيه
============
5
إن كنت أريد نقل تاريخ مع وقت شمعة معينة كيف أنقله
لاني لا أرى متغير datetime في التعريفات !!
إن كنت سأستخدم TimeToString فكما تعرف سينقل إما ساعة فقط أو تاريخ فقط
وشكرا لك مقدما
- 30-11-2017, 04:32 PM #35
اول تطبيق
كود PHP:void OnTick()
{
if(Open[0]>Close[0])ExcelFormatCellColor(1,5,5,clrWhite,clrRed);
if(Open[0]<Close[0])ExcelFormatCellColor(1,5,5,clrWhite,clrGreen);
}
كإرتفاع الصفوف وعرض الأعمدة مثلا
- 30-11-2017, 05:11 PM #36
مرحبا اخي
اكثر اسئلتك حتى لو اجبتها سابقا ولكن الجواب اليقين عند التجربة او عند اسامة---
مايخص
أليس من المفترض أن نضع فيها مسار الملف ؟ لماذا وضعت أنت اسم الملف ؟
أصلا الملف غير موجود إطلاقا فعلى أي أساس يحدد مساره وينشئه ؟
============
2
هل حصرا يجب أن يكون الملف من إمتداد xls أو csv
لأن إمتداد الإكسل الأصلي xlsx
2) xls ملفات اكسل 2010 على ما اعتقد ولكن تستطيع ان تضع اي امتداد يقبله الاكسل
3) اذا كان الملف غير موجود ينشئه في الديفولت لوكيشن-على ما اعتقد
myExcel=0; اتوقع فلاق flag للاكسل---اذا 0 غير موجود او لم يستطيع انشؤه-- مثلا ماعندك في جهازك برنامج اكسل-وبالتالي لايمكن الكتابة اليه او 1 ومعناها نجح في ايجاد الملف
او العكس
---
وبناء عليه اذا الفلاق اكبر من 0 -- الملف موجود وبالتالي تستطيع النقل اليه
إن كنت سأستخدم TimeToString فكما تعرف سينقل إما ساعة فقط أو تاريخ فقط
ولكن ان كنت تقصد نقل عدد الثواني التي مرت حولها الى int من datetime مع الحرص ان عدد الثواني اقل من او يساوي حد int العلوي
وجرب long ممكن تمشي---هذه الاسئلة مصممي المكتبة يعرفون--نحن من خلال التجربة نفحص
بقية الاسئلة لابد اسامة او التجربةآخر تعديل بواسطة فيلسوف البادية ، 30-11-2017 الساعة 05:16 PM
- 30-11-2017, 05:26 PM #37
او ممكن نقله للاكسل كتاريخ ثم تحويله من هناك--اعتقد يمكن--اذا كنت تبحيث عن الثواني---رغم انه بالتاريخ ممكن ينقل لك حتى الثواني على صيغة hh:mm:ss:mm
- 30-11-2017, 06:10 PM #38
مشكور أخي ماقصرت
بخصوص هذه الجزئية
أنا جربت فعلا نقل التايم لكن ظهر في الاكسل على شكل رقم عشري هكذا 1485770400 غيرت تنسيق الخلايا في الاكسل لتاريخ مامشي الحال ولوقت أيضا مامشي الحال
اللعبة حتكون في الاكسبرت ونقل المتغير كنص
لان تعريفات المكتبة كلها يا إما int او string او double
في الأعلى أنا لا أقصد التايم فريم كنت أقصد عندما نحول التايم لنص باستخدام TimeToString سيكون لها شكل من الاشكال التالية :
كود PHP:TimeToString(Time[i],TIME_DATE)
TimeToString(Time[i],TIME_MINUTES)
TimeToString(Time[i],TIME_SECONDS)
فهل يمكن نقله بهذا الشكل للاكسل ؟ هذا ما أريده لكن كما ذكرت لكم خبرتي في الدوال الخاصة بالتايم ضعيفة جدا ولا أعرف بشكل جيد كيف تعمل
وبارك الله في جهودكم جميعا
- 30-11-2017, 09:03 PM #39
- 30-11-2017, 09:16 PM #40
- 30-11-2017, 09:19 PM #41
- 30-11-2017, 09:20 PM #42
اذا تبي المللي سكندز - اعتقد الافضل تنقلها ديت-تايم للاكسل ومن هناك تحولها الى الصيغة التي نريدها
- 30-11-2017, 09:23 PM #43
- 30-11-2017, 10:37 PM #44