استدعاء أنابيب الاتصال المسماة dll من MT5. كيف؟ - Page 2
الصفحة 2 من 489 FirstFirst 1234 الأخيرةالأخيرة
Results 11 to 20 of 31

Thread: استدعاء أنابيب الاتصال المسماة dll من MT5. كيف؟

  1. #11
    لهذا السبب كنت أقول أنه لا يهم إذا حاولت تمرير أنواع مختلفة من البيانات. لقد حاولت ذلك مع الباحثين ومضاعفة كذلك. أنا لست حتى الدخول إلى المصفوفات حتى الآن. تم تعليق السطر الذي كان الرئيسي (string [] args) لأنه يتم استخدام هذا الخط عندما أريد تشغيل التعليمات البرمجية كملف exe بدلاً من تجميع إلى dll.

  2. #12

    Quote Originally Posted by ;
    لهذا السبب كنت أقول أنه لا يهم إذا حاولت تمرير أنواع مختلفة من البيانات. لقد حاولت ذلك مع الباحثين ومضاعفة كذلك. أنا لست حتى الدخول إلى المصفوفات حتى الآن. تم تعليق السطر الذي كان الرئيسي (string [] args) لأنه يتم استخدام هذا الخط عندما أريد تشغيل التعليمات البرمجية كملف exe بدلاً من تجميع إلى dll.
    عيني ضبابية وأنا أقرأ النص بالكامل بطريقة مختلفة عما كنت تقصده. خطأي. لا يزال لدي شك في أنه داخل DLL الخاص بك تحتاج إلى استخدام نوع مؤشر لتلقي العنوان. لا أعتقد أنه يمكنك تمرير البيانات من خارج دلل بالطريقة التي لديك. ولكن مرة أخرى تقترح أنه يعمل عند التحميل من exe آخر ، فقط ليس mt5 .... لذا سأصمت وأتوقف عن التخمين.

  3. #13
    هاها ... في بعض الأحيان هذه الأشياء لا ضبابية ، وأنا أتفق. عند الذهاب إلى C # إلى C # ، يمكنني إدخال نص في Console.Readline و Console.Writeline وجعله يملأ على الجانب الآخر من خلال stre pipe. لا توجد حاجة المؤشرات. الآن إذا كان يمكنني فقط معرفة كيفية الحصول على MQL5 للقيام بنفس الشيء. أعلم أنني لست أول من جرب هذا ، لذا آمل أن يساعد أعضاءforexdropفي الحصول على هذا العمل ، فسيكون بإمكان الجميع استخدامه.

  4. #14
    Quote Originally Posted by ;
    القدرة على كتابة هذاالعمل مع C # هي ضرورة مطلقة. وستكون خارطة الطريق النهائية لما سيعمل به هذا هو C #. لا C # هو كسر صفقة في وضعي. لم أكن أعتقد أن مكتبات C # كانت القضية الكبرى. لدي بالفعل العميل والخادم يتحدث بدقة من خلال C # (أساسا مباشرة من MSDN). عندما أعرض MT5 أن الأمور تسوء. شخص ما هنا يجب أن يكون قادرًا على تحديد الشيء الصغير البسيط الذي أفتقده. حتى ذلك الوقت،
    إنني أقترح فقط أن تكون قراءةكتابة mql إلى جزء الأنابيب c كجسر من mt5 إلى نظام التشغيل والأنابيب. يجب أن يكون فقط دلل صغيرة مصممة فقط للقراءةالكتابة إلى الأنابيب ولا شيء أكثر من ذلك. بعد ذلك ، مهما كان ما تفعله في تطبيق c # الرئيسي الفعلي غير ذي صلة حيث يمكنك القراءةالكتابة إلى أنابيب من داخل تطبيقك كالمعتاد. يبدو أن مشكلتك ، من خلال ما يمكنني قوله ، أن مكتبات .net تبدو مختلفة عما كانت عليه في أوقات سابقة ، وأنا أفترض أن mql45 يستند إلى مكتبة c ، وليس مكتبات .net. قد يكون هذا ذو صلة وربما حل أفضل. لم أقرأ كل شيء ولكن يبدو أنه حل mql5:
    http://www.mql5.com/en/articles/115على أي حال ، أعتقد أنني خرجت من الأفكار.

  5. #15
    أنا على دراية جيدة بهذه المقالة. هذا هو واحد كنت استخدم لأول مرة ولكن في محاولة للحصول على وظيفة NamedPipeServerStream () مع كل من المحملين المتطابقين كان كابوس. أنا حتى أحاول أن أذهب الأساسية تماما مع هذا: أدخل رمز # 91 ؛ DllExport (إضافة ، CallingConvention = CallingConvention.StdCall) # 93؛ public static int Add (int left، int right) {return left right؛ } رمز MQL لإضافة عدد صحيح اثنين: Inserted Code #import PipeServer.dll int إضافة (int left، int right)؛ #import/ --------------------------------------------- --------------------- /| البرنامج النصي بدء وظيفة |/ ----------------------------------------------- ------------------- void OnStart () {for (int i = 0؛ ilt؛ 3؛ i ) {Print (Add (i، 10))؛ }} ما زلت أتلقى نفس الخطأ. لا يبدو أن تهتم ما إذا كانت وظيفة معقدة مثل القراءةالكتابة إلىمن أنبوب أو وظيفة إضافة بسيطة. أعتقد أنني أسميها ليلة!

  6. #16

    Quote Originally Posted by ;
    إذا كان الافتراض الخاص بي صحيحًا ، فيمكنك الاستمرار في محاولة القيام بذلك بنفس الطريقة طوال العام ولن تصل إلى أي مكان. وأظهر المقال أنا مرتبطة كيفية تنفيذ فئة mql5 التي ستتعامل مباشرة مع استدعاء الأنابيب kernel32.dll و whatnot.
    كتب Investeo أيضًا هذا المقال:
    http://www.mql5.com/en/articles/249هذا هو المكان الذي حصلت فيه على وظيفة إضافة بسيطة عن طريق DLL. DLL هناك فقط من Testme مساحة الاسم التي compile الخروج Testme.dll. يتم استدعاء DLL المخصصة من MT5. أشعر أنني أفعل الشيء نفسه ولكن من الواضح أنه ليس كذلك. هذه المادة يثبت أنه من الممكن وبسيطة نسبيا. أعتقد أنني أفتقد شيئًا صغيرًا.
    Quote Originally Posted by ;
    سواء كان ذلك بسبب كون .net dll مختلفًا أم لا ، يجب أن تحاول التعامل مع معالجة الأنبوب مباشرة داخل mql5 بدلاً من أن تكون عالقة في كتلة الطريق الحالية لعدم قدرتك على استيراد ملف DLL المخالف.
    لا أريد استخدام رمز MQL45 الأصلي لفتح واستخدام الأنابيب. أنا في النهاية بحاجة إلى استخدام C # إلى أقصى حد ممكن على أي حال لذلك أنا أفضل أن هذا العمل من الألف إلى الياء. لقد حاولت الذهاب في هذا الطريق ولكن لا يمكن الحصول عليها للعمل باستخدام وظائف kernel32.dll المصدرة. صدقني حاولت ، وحاولت .... السؤال الأصلي لا يزال قائما: لذلك السؤال العام الخاص بي هو كيف يمكنني الاتصال بشكل صحيح بلدي SendString (سلسلة someParameter)؟

  7. #17
    حسنا ، من ما قرأت من ردكم وما قرأت من الروابط ..... يبدو لي وكأنه لم تنفذ الحل riest giesecke بشكل صحيح. أظن أنك قمت بنسخ مثال Testme وألقفت ملفات robert في مكان ما ، لكن لم أقم بإعدادها بشكل صحيح. إذا أخطأت في تجاهل ما يلي: تأكد من اتباعك للتعليمات بشكل صحيح من هنا
    http://sites.google.com/site/robertg...-does-it-work-. يبدو أن لديك 2 خيارات. تحميل القالب الافتراضي الخاص به الذي تم إعداده بالفعل بطريقة يمكنك فقط ملء الفراغات ، أو يجب عليك فعليًا تحرير بعض الشجاعة في مشروعك .net لضمان تشغيل الخراء وتغيير علامات مشروعك عند تجميعها . سأفكر في بدء مشروع جديد باستخدام النموذج الخاص به ، ونرى ما هو ، ثم حاول ونسخ لصق في التعليمات البرمجية الموجودة في هذا القالب. أيا كانت الملفات التي يتم تضمينها تلقائيا مع القالب الخاص به في المشروع هي بوضوح مفتاح الحصول على وظيفة لتصديرها ككود غير مُدار. تحرير: حذف مثال ... مضاعفة المتابعة من الرابط الأصليتحرير في نهاية اليوم أنا لا أحصل على السبب في أنك مترددة جدا لمجرد أن mql5 ببساطة استدعاء وظائف الأنابيب kernel32 .... يبدو لي أنك مجرد إدخال المزيد من التعليمات البرمجية والخطوات عن طريق الإصرار على استيراد مكتبة. net التي ستقوم في النهاية بمعالجة مكالمات دالة الأنبوب. في الوقت الذي تم فيه تفسير شفرة mql5 (أو مع ذلك mtl مقابض mtl) قد يكون بنفس السرعة أو ربما أسرع من أن يرسل mql5 البيانات إلى lnet .net الذي يترجم شفرة غير مسجلة إلى شفرة مُدارة ومن ثم. صافي تفسير التعليمات البرمجية المدارة إلى أخيرا ثم تتعامل مع المكالمات الدالة الأنبوب. أنا لا أزال أبصق فقط لأن هذا مثير للاهتمام ، لذا لا تتردد في تجاهلني.

  8. #18

    Quote Originally Posted by ;
    يبدو لي وكأنك لم تنفذ الحل riest giesecke بشكل صحيح. أظن أنك قمت بنسخ مثال Testme وألقفت ملفات robert في مكان ما ، لكن لم أقم بإعدادها بشكل صحيح.
    كما تعلمون ، هذا ممكن جدا! لقد قمت بعد ذلك بإعادة تصميم هذا العدد الكبير من المرات بما في ذلك إنشاء مشاريع جديدة ربما فاتني شيء ما. سوف أعود وألقي نظرة. اضطررت إلى أخذ يوم إجازة منه. انتهى بي الأمر إلى غاية الصعبة وكان يواجه مشكلة في النظر إليها بموضوعية. بقدر ما على ”لماذا” على استخدام .net ، أريد ذلك لاحقا على الطريق. MT5 ليس هو التطبيق الوحيد الذي أخطط لاستخدامه. كتابةتنفيذ هذا في .net عبر DLL يجعلني أقرب إلى النظام الأساسي المحايد. بهذه الطريقة ، يمكنني استخدام MT4 ، MT5 ، TradeStation ، NinjaTrader ، حسابات PAMM ، إلخ.

  9. #19

    Quote Originally Posted by ;
    كما تعلمون ، هذا ممكن جدا! لقد قمت بعد ذلك بإعادة تصميم هذا العدد الكبير من المرات بما في ذلك إنشاء مشاريع جديدة ربما فاتني شيء ما. سوف أعود وألقي نظرة. اضطررت إلى أخذ يوم إجازة منه. انتهى بي الأمر إلى غاية الصعبة وكان يواجه مشكلة في النظر إليها بموضوعية. بقدر ما على ”لماذا” على استخدام .net ، أريد ذلك لاحقا على الطريق. MT5 ليس هو التطبيق الوحيد الذي أخطط لاستخدامه. كتابةتنفيذ هذا في .net عبر DLL يجعلني أقرب إلى النظام الأساسي المحايد. بهذه الطريقة ، يمكنني استخدام MT4 ، MT5 ، TradeStation ، NinjaTrader ، ...
    أسمعك. كنت هناك. من حيث هذا المشروع فقط ، ربما لا يزال من الأفضل لك تنفيذ dll معالجة الأنبوب الأساسية c التي يمكنك استخدامها مع أي منصات دعم dll استيراد .... ولكن ، من حيث وجود القدرة على القيام بكل ما تريد. من المؤكد أن المكتبات الصافية التي تحتوي على أي نظام أساسي سوف تجد أين تتكسر الأشياء حاليًا. إذا كنت كنت سأبدأ بنسيان حل روبرت ومحاولة كتابة الجسرالمجمع الخاص بك. في الواقع ، لست متأكداً حتى من أن هذا ضروري. قد تكون قادرًا على الابتعاد بمجرد كتابة مكتبة معالجة الأنتر الأساسية التي يتم تجميعها كليًا كرمز غير مُدار. أعتقد أنك تحتاج فقط إلى التعامل مع رمز التجسير من غير المُدار إلى الإدارة عندما تحاول أن تكون خادقًا وتستخدم الفصول الدراسية وغيرها من مفاهيم الشفرات عالية المستوى التي لا تنقل بين asm غير المُدارة و .net المدارة bytecode. أرى أنها أقرب إلى القراءة في 3 بايت ثم القيام ببعض شينغ قليلا إلى عدد صحيح لتحويل 3 قيم RGB إلى قيمة لون واحد صحيح. انها مجرد تقصير البيانات من ولاية إلى أخرى. في هذه الحالة تشبه إلى حد كبير مجرد تجميع التعليمات البرمجية تحت c ، فقط أن يحدث أنك تستخدم مترجم .net الخاص بك. يجب أن يكون لديك صدع في القيام بذلك. اكتب dl الخاص بك الأساسية معالجة الأنابيب وتعيينه لتجميع الشيء بأكمله كما لا مثيل لها. أظن أن هذا سوف يعمل مباشرة من خارج منطقة الجزاء ، وجميع هراء الحل البديل الآخر ليس من الضروري في هذه الحالة لأن دلل هو فقط dll التعامل مع الأنابيب الأساسية مع القليل من ”زغب”.

  10. #20
    هم ، أعتقد أنها لم تنجح. من المثير للاهتمام أن لا أحد آخر تحدث مع أي أفكار ، وأنا مجرد التبول في الرياح مع التخمينات. يجب أن تكون وحيدًا إلى حد ما في .net الخاص بك ، على الأقل فيما يتعلق بالتداول أيضًا.

أذونات النشر

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  
  • رمز BB مفعل
  • الابتسامات مفعلة
  • رمز[IMG] مفعل
  • رمز [VIDEO] مفعل
  • رمز HTML غير مفعل
This website uses cookies
We use cookies to store session information to facilitate remembering your login information, to allow you to save website preferences, to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.