منتديات بورصات

منتديات بورصات (https://forum.borsaat.com/)
-   منتدى المؤشرات و الاكسبرتات (https://forum.borsaat.com/f14/)
-   -   تبادل الخبرات في برمجة MQL (https://forum.borsaat.com/t933685.html)

smowaled 13 - 04 - 2016 11:23 AM

رد: تبادل الخبرات في برمجة MQL
 
1 مرفق
دالة I***pertEnabled تستخدم لمعرفة إذا المنصة تسمح بأستخدام الأكسبيرت أم هي في وضعية الـ Disable ... توي أستخدمتها للرد على أحد المواضيع في القسم :14:

دالة SendMessage وأقصد هنا SendMessageA وتستخدم لأرسال أوامر
اكسيبرت لايقاف التداول الالى على الحساب!

سمير محمد ارمان 13 - 04 - 2016 12:42 PM

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

المشاركة الأصلية كتبت بواسطة smowaled (المشاركة 2089698)
دالة I***pertEnabled تستخدم لمعرفة إذا المنصة تسمح بأستخدام الأكسبيرت أم هي في وضعية الـ Disable ... توي أستخدمتها للرد على أحد المواضيع في القسم :14:

دالة SendMessage وأقصد هنا SendMessageA وتستخدم لأرسال أوامر

السلام عليكم
طيب ما هى الاستفاده من هذه الدوال
ولك الشكر والتقدير
تحياتى لك
[PHP]#include <WinUser32.mqh>
#include <stdlib.mqh>

#import "user32.dll"
int GetParent(int hWnd);
#import [/PHP]

سمير محمد ارمان 13 - 04 - 2016 12:47 PM

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

المشاركة الأصلية كتبت بواسطة smowaled (المشاركة 2089698)
دالة I***pertEnabled تستخدم لمعرفة إذا المنصة تسمح بأستخدام الأكسبيرت أم هي في وضعية الـ Disable ... توي أستخدمتها للرد على أحد المواضيع في القسم :14:

دالة SendMessage وأقصد هنا SendMessageA وتستخدم لأرسال أوامر

سؤال ثانى
كيف يتم استخدام هذا الاكسبيرت
وماهى نتائج التجربه
تحياتى

smowaled 13 - 04 - 2016 07:28 PM

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

المشاركة الأصلية كتبت بواسطة سمير محمد ارمان (المشاركة 2089748)
السلام عليكم
طيب ما هى الاستفاده من هذه الدوال
ولك الشكر والتقدير
تحياتى لك
[PHP]#include <WinUser32.mqh>
#include <stdlib.mqh>

#import "user32.dll"
int GetParent(int hWnd);
#import [/PHP]

جميل .. أول جملتين هي لشمل أو ضم المكتبتين للأكسبيرت وفمثلاً مكتبة stdlib أستخدمها في أغلب الأحيان عشان أستخدم دالة ErrorDescription ففي هذا المثال مالها داعي بس جرت العادة عندي على أستخدام الدالة المذكورة فلهذا أغلب ما أكتب يحوي هذه المكتبة
بالنسبة لمكتبة WinUser32 ضميتها لأخذ دالة SendMessageA

جملة import user32 هذي لأستخدام دالة GetParent والتي لم تكن معرفة في مكتبة WinUser32 الموجودة في كومبيوتري

هذي الدوال تسمى WinAPI أو Windows API وهي دوال للتعامل مع نظام الوندوز وبرامجه .. ويمكن أستعمالها في أغلب اللغات البرمجية

smowaled 13 - 04 - 2016 07:38 PM

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

المشاركة الأصلية كتبت بواسطة سمير محمد ارمان (المشاركة 2089749)
سؤال ثانى
كيف يتم استخدام هذا الاكسبيرت
وماهى نتائج التجربه
تحياتى

ما قد أستخدمته .. كتبته اليوم لموضوع أخونا أحمد .. بس نفض الغبار عن دوال WinAPI عندي وذكرني بأيام WinSpy و Spy++ لاسترجاع الـ Windows Handle

ونستطيع أستخدام الأكسبيرت مثلاً لوقف التداول في المنصة في وقت معين :) طبعا بعد أضافة كود الوقت

mohamed982 13 - 04 - 2016 08:19 PM

رد: تبادل الخبرات في برمجة MQL
 
موضوع رائع وفي وقته
طيب انا عايز استعمل الدالتين دول من دوال الـ User32 بما انك على علم بالـ c و MQL قولنا ازاى نترجم الدالتين دول لل mql
[PHP]
HWND CreateWindow(
LPCTSTR lpClassName,
LPCTSTR lpWindowName,
DWORD dwStyle,
int x,
int y,
int nWidth,
int nHeight,
HWND hWndParent,
HMENU hMenu,
HANDLE hInstance,
PVOID lpParam
);
[/PHP]

[PHP]
ATOM WINAPI RegisterClass(
_In_ const WNDCLASS *lpWndClass
);

[/PHP]

انا حاولت اعملهم بس للاسف بيظهرلي ايرور كمثال
[PHP]
#define WS_CHILD 1
#import "User32.dll"
int CreateWindow( string lpClassName,string lpWindowName,int dwStyle, int x, int y, int nWidth, int nHeight,int hWndParent,int hMenu, int hInstance, int lpParam );
int RegisterClass (const string lpWndClass);
#import

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+


//----------------------------------------------
int OnInit()
{
//--- indicator buffers mapping
int R=RegisterClass("MyClass");
if(R>0){Print("Successfully Registered New Class");}else{Print("Class Registeration Falied");}

//-
return(INIT_SUCCEEDED);
}
[/PHP]

بيظهلي الخطا ده ولو جربت اي فانكشن تانيه برده بيظهرلي الخطا ده
http://www.borsaat.com/vb/uploaded/5...1460564346.png

TREND_SEEKER 13 - 04 - 2016 08:24 PM

رد: تبادل الخبرات في برمجة MQL
 
موضوع بدايته قويه
موفق أخي أبو ابراهيم

smowaled 13 - 04 - 2016 10:08 PM

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

المشاركة الأصلية كتبت بواسطة mohamed982 (المشاركة 2090011)
موضوع رائع وفي وقته
طيب انا عايز استعمل الدالتين دول من دوال الـ User32 بما انك على علم بالـ c و MQL قولنا ازاى نترجم الدالتين دول لل mql
[PHP]
HWND CreateWindow(
LPCTSTR lpClassName,
LPCTSTR lpWindowName,
DWORD dwStyle,
int x,
int y,
int nWidth,
int nHeight,
HWND hWndParent,
HMENU hMenu,
HANDLE hInstance,
PVOID lpParam
);
[/PHP][PHP]
ATOM WINAPI RegisterClass(
_In_ const WNDCLASS *lpWndClass
);

[/PHP]انا حاولت اعملهم بس للاسف بيظهرلي ايرور كمثال
[PHP]
#define WS_CHILD 1
#import "User32.dll"
int CreateWindow( string lpClassName,string lpWindowName,int dwStyle, int x, int y, int nWidth, int nHeight,int hWndParent,int hMenu, int hInstance, int lpParam );
int RegisterClass (const string lpWndClass);
#import

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+


//----------------------------------------------
int OnInit()
{
//--- indicator buffers mapping
int R=RegisterClass("MyClass");
if(R>0){Print("Successfully Registered New Class");}else{Print("Class Registeration Falied");}

//-
return(INIT_SUCCEEDED);
}
[/PHP]بيظهلي الخطا ده ولو جربت اي فانكشن تانيه برده بيظهرلي الخطا ده

عشان تستخدم دوال مكتبة ما لابد من معرفة أسم الدالة في الصحيح في داخل المكتبة ... فمثلاً
لا يوجد دالة RegisterClass في User32.dll أنما يوجد
RegisterClassA
RegisterClassW
RegisterClas***A
RegisterClas***W

أيضاً لايوجد CreateWindow أنما يوجد
CreateWindowExA
CreateWindowExW

الدوال هنا أما ANSI ونستخدم A أو Unicode ونستخدم W

smowaled 13 - 04 - 2016 10:14 PM

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

المشاركة الأصلية كتبت بواسطة TREND_SEEKER (المشاركة 2090012)
موضوع بدايته قويه
موفق أخي أبو ابراهيم

أن شاء الله بالتعاون مع بعض نصل لمستوى أفضل

سمير محمد ارمان 14 - 04 - 2016 12:40 PM

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

المشاركة الأصلية كتبت بواسطة smowaled (المشاركة 2089998)
ما قد أستخدمته .. كتبته اليوم لموضوع أخونا أحمد .. بس نفض الغبار عن دوال WinAPI عندي وذكرني بأيام WinSpy و Spy++ لاسترجاع الـ Windows Handle

ونستطيع أستخدام الأكسبيرت مثلاً لوقف التداول في المنصة في وقت معين :) طبعا بعد أضافة كود الوقت

شكرا على التوضيح
طيب الان فى كود ثانى
منه ممكن نشغل برنامج التداول من جديد
بمعنى
الان يوجد كود اغلاق برنامج التداول
فى كود تانى ممكن يرجعه يعمل من جديد على حسب شرط معين
تحياتى لك


03:11 PM

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.