• 7:24 صباحاً
logo




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

إضافة رد
Like Tree32Likes

عضو جديد
 
تاريخ التسجيل: Jul 2012
المشاركات: 128
معدل تقييم المستوى: 8
تساهيل is on a distinguished road
افتراضي رد: تبادل الخبرات في برمجة MQL
61#
21 - 06 - 2016, 01:35 AM
السلام عليكم
ارغب بفتح صفقة والتبريد علىها اذا عكس السعر .
- والتبريد يكون اكثر من مره احتمال يصل الى 4 او 7 مرات
الطلب هو:
ارغب بان يكون التبريد على حسب سرعة السعر
فاذا كان السعر بطيء فان الاكسبريت يفتح صفقة واذا كان السعر سريع لا يفتح الى ان يهدء السعر ثم يفتح صفقة تبريد جديده.
بحيث ان صفقة التبريد تعتمد على شرطين..
الاول ان كل صفقة لا تقل عن التي قبلها باقل من خمس نقاط وان السعر يكون بطيء
فاذا كان السعر سريع فانه لا يفتح صفقات تبريد حتى لو تجاوز السعر 5 نقاط او اكثر.
فيرجى ارفاق الكود المناسب لهذه الطريقة من التبريد.

التوقيع

لكل مجتهد نصيب
تساهيل غير متواجد حالياً  
رد مع اقتباس


الصورة الرمزية smowaled
عضو نشيط
الصورة الرمزية smowaled
 
تاريخ التسجيل: Mar 2014
المشاركات: 340
معدل تقييم المستوى: 6
smowaled is on a distinguished road
افتراضي رد: تبادل الخبرات في برمجة MQL
62#
21 - 06 - 2016, 01:56 AM
أفتح موضوع مستقل

التوقيع

وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ

ربي أغفر لي ولوالدي وللمؤمنين والمؤمنات
smowaled غير متواجد حالياً  
رد مع اقتباس
عضو جديد
 
تاريخ التسجيل: Aug 2011
المشاركات: 2
معدل تقييم المستوى: 0
محمود حبيبي is on a distinguished road
افتراضي رد: تبادل الخبرات في برمجة MQL
63#
21 - 06 - 2016, 05:06 PM

مووضوع شيق
محمود حبيبي غير متواجد حالياً  
رد مع اقتباس
عضو جديد
 
تاريخ التسجيل: Nov 2014
المشاركات: 222
معدل تقييم المستوى: 6
dr_forex is on a distinguished road
افتراضي رد: تبادل الخبرات في برمجة MQL
64#
22 - 06 - 2016, 11:05 AM
السلام عليكم
اخواني الاعزاء كل عام وانتم بخير ورمضان كرم عليكم وعلينا وعلى الجميع
لدي استفسار
هل يمكن عمل كود للاكسبيرت بحيث لا يستطيع احد ان يعمل نسخ اخري منه ؟
dr_forex غير متواجد حالياً  
رد مع اقتباس
الصورة الرمزية smowaled
عضو نشيط
الصورة الرمزية smowaled
 
تاريخ التسجيل: Mar 2014
المشاركات: 340
معدل تقييم المستوى: 6
smowaled is on a distinguished road
افتراضي رد: تبادل الخبرات في برمجة MQL
65#
22 - 06 - 2016, 08:18 PM
اقتباس:
المشاركة الأصلية كتبت بواسطة dr_forex مشاهدة المشاركة
السلام عليكم
اخواني الاعزاء كل عام وانتم بخير ورمضان كرم عليكم وعلينا وعلى الجميع
لدي استفسار
هل يمكن عمل كود للاكسبيرت بحيث لا يستطيع احد ان يعمل نسخ اخري منه ؟
وأنت بخير .. لا يوجد شي أسمه "لا يستطيع أحد" فكلها مسائلة وقت لا أكثر .. مهما كان الكود محصّن سيأتي زمن ويستطيع شخص أن يكسره .. ممكن ليس اليوم ولا السنة القادمة ولكن ذلك اليوم قادم لا محالة فمن كتبت خوارزميات الحماية هم بشر فالضعف موجود

لنستعرض بعض صور الحماية وسأترك مجال لمن يريد أن يشارك بأفكاره:
  • حماية الأكسبيرت بكلمة مرور
[PHP]
//+------------------------------------------------------------------+
//| Protect 1.0.mq4 |
//| Copyright 2016, SMoWaLeD |
//| http://www.borsaat.com/vb/f14/ |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, SMoWaLeD"
#property link "http://www.borsaat.com/vb/f14/"
#property version "1.00"
#property strict

#include <ChartObjects/ChartObjectsTxtControls.mqh>

CChartObjectEdit passEdit;

const string CorrectPass = "AoE-21638-55212";
string WrongMsg = "Wrong Password";

bool statusLic = false;

//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
passEdit.Create(ChartID(), "password", 0, 20, 20, 260, 25);

passEdit.BackColor(White);
passEdit.BorderColor(Black);



return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
passEdit.Delete();

}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
if(statusLic == false) return;

Comment(" ..... You are Licensed !! ..... ");
// continue code

}
//+------------------------------------------------------------------+
//| ChartEvent function |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
const long &lparam,
const double &dparam,
const string &sparam)
{
if (id == CHARTEVENT_OBJECT_ENDEDIT && sparam == "password" )
{
statusLic = false;
if(passEdit.GetString(OBJPROP_TEXT) == CorrectPass)
{
statusLic = true;
passEdit.Delete();
}
else passEdit.SetString(OBJPROP_TEXT, 0, WrongMsg);
}

}
[/PHP]الطريقة سهلة وبمجرد معرفة كلمة المرور أنتهت الحماية

  • حماية الأكسبيرت بأستخدام رقم الحساب والبروكر
[PHP]
//+------------------------------------------------------------------+
//| Protect 2.0.mq4 |
//| Copyright 2016, SMoWaLeD |
//| http://www.borsaat.com/vb/f14/ |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, SMoWaLeD"
#property link "http://www.borsaat.com/vb/f14/"
#property version "1.00"
#property strict



const int AuthorizedAccount = 54249;
const string AuthorizedBroker = "International Capital Markets Pty Ltd.";

bool statusLic = false;

//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{

if(AccountCompany() == AuthorizedBroker && AccountNumber() == AuthorizedAccount)
statusLic = true;
else
Alert("EA is NOT Auhorized to run on this account !!!");

return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{


}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
if(statusLic == false)
{
Comment(" ..... EA is NOT Auhorized to run on this account !! ..... ");
return;
}

Comment(" ..... Authorized Account !! ..... ");
// continue code

}

[/PHP]هذي الحماية الأكثر رواجاً وهي فعّالة كون الهكر يحتاج أن يكسر حماية mql أولاً ثم يغيير رقم الحساب .. ونستطيع أن نستخدم متغييرات أخرى بعمليات حسابية أكثر تعقيداً ولكن نفس النتيجة بمعرفة الكود فتعديلها أمر سهل


  • حماية الأكسبيرت بمكتبة DLL وهذا أفضل من الفكرة السابقة بما أن بعض الكود سيكون داخل المكتبة فكسر حماية mql لن يعطي الهكر كل الكود .. المشكلة أن كسر حماية الـ DLL ليس بالأمر الصعب كما يظن الكثيرون بالعكس أسهل من mql ... لا يوجد لدي compiler حالياً فلم أستطع أن أعمل مثال لهذه الحالة

  • حماية الأكسبيرت بسيرفر خارجي وهي أفضل حماية موجود الآن .. لايوجد لدي سيرفر لعمل المثال لكن الفكر بسيطة .. ومنها طريقة مشروحة في موقع mql بأستخدام RPC وكود Python للسيرفر https://www.mql5.com/en/articles/342 .. ويمكن إضافة encryption للـ calls لحمايته من الـ sniffing
الملفات المرفقة
نوع الملف: mq4 Protect 1.0.mq4‏ (2.4 كيلوبايت, المشاهدات 10)
نوع الملف: mq4 Protect 2.0.mq4‏ (1.8 كيلوبايت, المشاهدات 11)

التوقيع

وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ

ربي أغفر لي ولوالدي وللمؤمنين والمؤمنات
smowaled غير متواجد حالياً  
رد مع اقتباس
عضو جديد
 
تاريخ التسجيل: Nov 2014
المشاركات: 222
معدل تقييم المستوى: 6
dr_forex is on a distinguished road
افتراضي رد: تبادل الخبرات في برمجة MQL
66#
23 - 06 - 2016, 03:36 AM
اقتباس:
المشاركة الأصلية كتبت بواسطة smowaled مشاهدة المشاركة
وأنت بخير .. لا يوجد شي أسمه "لا يستطيع أحد" فكلها مسائلة وقت لا أكثر .. مهما كان الكود محصّن سيأتي زمن ويستطيع شخص أن يكسره .. ممكن ليس اليوم ولا السنة القادمة ولكن ذلك اليوم قادم لا محالة فمن كتبت خوارزميات الحماية هم بشر فالضعف موجود

لنستعرض بعض صور الحماية وسأترك مجال لمن يريد أن يشارك بأفكاره:
  • حماية الأكسبيرت بكلمة مرور
[PHP]
//+------------------------------------------------------------------+
//| Protect 1.0.mq4 |
//| Copyright 2016, SMoWaLeD |
//| http://www.borsaat.com/vb/f14/ |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, SMoWaLeD"
#property link "http://www.borsaat.com/vb/f14/"
#property version "1.00"
#property strict

#include <ChartObjects/ChartObjectsTxtControls.mqh>

CChartObjectEdit passEdit;

const string CorrectPass = "AoE-21638-55212";
string WrongMsg = "Wrong Password";

bool statusLic = false;

//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
passEdit.Create(ChartID(), "password", 0, 20, 20, 260, 25);

passEdit.BackColor(White);
passEdit.BorderColor(Black);



return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
passEdit.Delete();

}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
if(statusLic == false) return;

Comment(" ..... You are Licensed !! ..... ");
// continue code

}
//+------------------------------------------------------------------+
//| ChartEvent function |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
const long &lparam,
const double &dparam,
const string &sparam)
{
if (id == CHARTEVENT_OBJECT_ENDEDIT && sparam == "password" )
{
statusLic = false;
if(passEdit.GetString(OBJPROP_TEXT) == CorrectPass)
{
statusLic = true;
passEdit.Delete();
}
else passEdit.SetString(OBJPROP_TEXT, 0, WrongMsg);
}

}
[/PHP]الطريقة سهلة وبمجرد معرفة كلمة المرور أنتهت الحماية

  • حماية الأكسبيرت بأستخدام رقم الحساب والبروكر
[PHP]
//+------------------------------------------------------------------+
//| Protect 2.0.mq4 |
//| Copyright 2016, SMoWaLeD |
//| http://www.borsaat.com/vb/f14/ |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, SMoWaLeD"
#property link "http://www.borsaat.com/vb/f14/"
#property version "1.00"
#property strict



const int AuthorizedAccount = 54249;
const string AuthorizedBroker = "International Capital Markets Pty Ltd.";

bool statusLic = false;

//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{

if(AccountCompany() == AuthorizedBroker && AccountNumber() == AuthorizedAccount)
statusLic = true;
else
Alert("EA is NOT Auhorized to run on this account !!!");

return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{


}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
if(statusLic == false)
{
Comment(" ..... EA is NOT Auhorized to run on this account !! ..... ");
return;
}

Comment(" ..... Authorized Account !! ..... ");
// continue code

}

[/PHP]هذي الحماية الأكثر رواجاً وهي فعّالة كون الهكر يحتاج أن يكسر حماية mql أولاً ثم يغيير رقم الحساب .. ونستطيع أن نستخدم متغييرات أخرى بعمليات حسابية أكثر تعقيداً ولكن نفس النتيجة بمعرفة الكود فتعديلها أمر سهل


  • حماية الأكسبيرت بمكتبة DLL وهذا أفضل من الفكرة السابقة بما أن بعض الكود سيكون داخل المكتبة فكسر حماية mql لن يعطي الهكر كل الكود .. المشكلة أن كسر حماية الـ DLL ليس بالأمر الصعب كما يظن الكثيرون بالعكس أسهل من mql ... لا يوجد لدي compiler حالياً فلم أستطع أن أعمل مثال لهذه الحالة

  • حماية الأكسبيرت بسيرفر خارجي وهي أفضل حماية موجود الآن .. لايوجد لدي سيرفر لعمل المثال لكن الفكر بسيطة .. ومنها طريقة مشروحة في موقع mql بأستخدام RPC وكود Python للسيرفر https://www.mql5.com/en/articles/342 .. ويمكن إضافة encryption للـ calls لحمايته من الـ sniffing
شكرا يا اخي الكريم
dr_forex غير متواجد حالياً  
رد مع اقتباس
الصورة الرمزية سمير محمد ارمان
مشرف سابق
الصورة الرمزية سمير محمد ارمان
 
تاريخ التسجيل: Nov 2009
المشاركات: 33,650
معدل تقييم المستوى: 44
سمير محمد ارمان will become famous soon enough
افتراضي رد: تبادل الخبرات في برمجة MQL
67#
25 - 06 - 2016, 03:11 PM
[عذراً, فقط الأعضاء يمكنهم مشاهدة الروابط ]
سمير محمد ارمان متواجد حالياً  
رد مع اقتباس
عضو جديد
 
تاريخ التسجيل: Jun 2016
الدولة: ليبيا
المشاركات: 7
خبرة السوق: 6 شهور الى سنة
معدل تقييم المستوى: 0
AlmhdeAlmnfe is on a distinguished road
افتراضي رد: تبادل الخبرات في برمجة MQL
68#
26 - 06 - 2016, 01:08 AM
السلام عليكم اخواني
عندي مؤشر وأريد اضافة منبه عليه , لكن لا أعرف لقلة خبرتي في هذا المجال

if (i==hhb)
b3[i]=High[hhb]+SignalGap*Point;

if (i==llb)
b4[i]=Low[llb]-SignalGap*Point;

b1[i]=High[hhb];//+SignalGap*Point;
b2[i]=Low[llb];//-SignalGap*Point;

}
return(0);
}

الرجاء من لديه خبره في برمجة المؤشرات يساعدني وله جزيل الشكر
وأذا امكن يوضح ايضا طريقة التنبيه بالايميل
السلام عليكم
AlmhdeAlmnfe غير متواجد حالياً  
رد مع اقتباس
الصورة الرمزية سمير محمد ارمان
مشرف سابق
الصورة الرمزية سمير محمد ارمان
 
تاريخ التسجيل: Nov 2009
المشاركات: 33,650
معدل تقييم المستوى: 44
سمير محمد ارمان will become famous soon enough
افتراضي رد: تبادل الخبرات في برمجة MQL
69#
26 - 06 - 2016, 01:27 AM
اقتباس:
المشاركة الأصلية كتبت بواسطة AlmhdeAlmnfe مشاهدة المشاركة
السلام عليكم اخواني
عندي مؤشر وأريد اضافة منبه عليه , لكن لا أعرف لقلة خبرتي في هذا المجال

if (i==hhb)
b3[i]=High[hhb]+SignalGap*Point;

if (i==llb)
b4[i]=Low[llb]-SignalGap*Point;

b1[i]=High[hhb];//+SignalGap*Point;
b2[i]=Low[llb];//-SignalGap*Point;

}
return(0);
}

الرجاء من لديه خبره في برمجة المؤشرات يساعدني وله جزيل الشكر
وأذا امكن يوضح ايضا طريقة التنبيه بالايميل
السلام عليكم
السلام عليكم اخى الكريم
ارجو فتح موضوع جديد
مع وضع المؤشر فى المرفقات
مع التوضيح من على الشارت طريقة التنبيه المطلوب
تحياتى لك
سمير محمد ارمان متواجد حالياً  
رد مع اقتباس
عضو جديد
 
تاريخ التسجيل: Jun 2016
الدولة: ليبيا
المشاركات: 7
خبرة السوق: 6 شهور الى سنة
معدل تقييم المستوى: 0
AlmhdeAlmnfe is on a distinguished road
افتراضي رد: تبادل الخبرات في برمجة MQL
70#
26 - 06 - 2016, 01:56 AM
اقتباس:
المشاركة الأصلية كتبت بواسطة سمير محمد ارمان مشاهدة المشاركة
السلام عليكم اخى الكريم
ارجو فتح موضوع جديد
مع وضع المؤشر فى المرفقات
مع التوضيح من على الشارت طريقة التنبيه المطلوب
تحياتى لك
درت موضوع جديد بس لحد الان مازال ما نزل ؟ ويش الحل ؟
AlmhdeAlmnfe غير متواجد حالياً  
رد مع اقتباس


إضافة رد

أدوات الموضوع


جديد مواضيع منتدى المؤشرات و الاكسبرتات

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
مجموعة كتب في برمجة الاندرويد - كتب تعلم برمجة الإندرويد - Android Books ليالي دمشق استراحة بورصات 1 11 - 07 - 2015 04:54 AM
أبحث عن أستراتيجية لربح 4 نقاط (لنتادل الخبرات) العيد سفيان منتدى تداول العملات العام 1 06 - 02 - 2013 09:04 PM
ارجووو الرد من اصحاب الخبرات ....... alaa366 منتدى المؤشرات و الاكسبرتات 6 20 - 07 - 2010 04:18 AM


07:24 AM