اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex

اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex (https://fx-arabia.com/vb/index.php)
-   منتدى المؤشرات و الاكسبيرتات (https://fx-arabia.com/vb/forumdisplay.php?f=6)
-   -   دورة تعليم برمجة الاكسبريت (https://fx-arabia.com/vb/showthread.php?t=29378)

MOVING_AVERAGE 01-03-2013 12:19 AM

رد: دورة تعليم برمجة الاكسبريت
 
اولا يجب انن نحدد الاشرات التي نريدها

نحن نريد سهم اما صاعد او نازل

اذن سنستدعي المؤشر للسهم الصاعد

ونستدعي المؤشر للسهم النازل

MOVING_AVERAGE 01-03-2013 12:20 AM

رد: دورة تعليم برمجة الاكسبريت
 
وبطبيعة الحال الاستدعاء يجب ان نضعه في متغير اخر

MOVING_AVERAGE 01-03-2013 12:31 AM

رد: دورة تعليم برمجة الاكسبريت
 
اسم المؤشر الذي برمجناه في الدورة هو

[PHP]
1 indicator
[/PHP]

فيكون الاستدعاء كالتالي

[PHP]
double indigreen=iCustom(0,0,"1 indicator ",1,1);
double indired=iCustom(0,0,"1 indicator ",0,1);
[/PHP]

1 للسهم الازرق
2 للسهم الاحمر

حيث في اعددات السهم في الالوان سنجد هذا الترقيم

ونكتبه بعد اسم المؤشر

وحتما الاستدعاء للشمعة السابقة لان السهم يضهر متاخر بشمعة

لمعرفة قيم الاسهم سنستخدم دالة الاضهار

Comment

ونكتب داخلها قيمة السهم لكي نعرف كيف نضع شروط الاضهار

بعد عمل الدالة Comment

تبين ان السهم لما يضهر تكون قيمته مقاربة للسعر

وعندما لا يضهر تكون قيمته كبيرة جدا

لذا سناخذ مثلا رقم متوسط نقارن بالنسبة له

هذا الرقم ليكن 4000

اذا قيمت السهم اصغر من 4000 معناها السهم ضهر

وفي هذه الحالة نعطي امر مباشر للدخول في صفقة

MOVING_AVERAGE 01-03-2013 12:32 AM

رد: دورة تعليم برمجة الاكسبريت
 
الكود الكامل للاستدعاء سيكون

[PHP]

extern int StopLoss=0;

extern int TakeProfit=0;

extern int MagicNumber=1263;

extern int MaxTrades = 1;

extern double Lots = 0.1;

double point;

int digits,Q;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
if(Digits==5||Digits==3)Q=10;
else Q=1;
if(Digits==2)
{
point=0.01;
}
if(Digits==4)
{
point=0.0001;
}
if(Digits==3)
{
point=0.01;
}
if(Digits==5)
{
point=0.0001;
}
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
double indigreen=iCustom(0,0,"1 indicator ",1,1);
double indired=iCustom(0,0,"1 indicator ",0,1);


//----
return(0);
}
//+------------------------------------------------------------------+
[/PHP]

MOVING_AVERAGE 01-03-2013 12:37 AM

رد: دورة تعليم برمجة الاكسبريت
 
اشرات الدخول للاوامر ستكون

[PHP]
if(indigreen<4000)
{
//امر شراء
}

if(indired<4000)
{
//امر بيع
}
[/PHP]

لاكن لو نحلل قليلا هنا

سيقارن الاكسبريت الشمعة السابقة اذا وجد ضهور السهم سيفتح عقد

عند تحرك السعر سيعيد المقارنة ويفتح عقد اخر

اذا العقود التي سيفتحها ستكون كثيرة جدا

لتجنب هذه المشكلة نحدد له اقصي حد للمتاجرة

MOVING_AVERAGE 01-03-2013 12:40 AM

رد: دورة تعليم برمجة الاكسبريت
 
نضع خارج الدالة start

متغير خارجي فيه اقصي حد للمتاجرة

مثلا انا اريد صفقة واحدة فقط

هنا اقصي حد للمتاجرة هو واحد

اذا

سنعمل التالي

[PHP]
extern int MaxTrades = 1;
[/PHP]وانا كتبتها في القالب الجاهز لكي لا نعيد كتابتها

MOVING_AVERAGE 01-03-2013 12:47 AM

رد: دورة تعليم برمجة الاكسبريت
 
ساضيف شرط ان عدد الصفقات المفتوحة يكون اقل من اقصي حد للمتاجرة

ولكي نعرف عدد الصفقات المفتوحة

سنحتاج تعريف معتي الدالة

وكيف نكتبها

وكيف نستدعيها

وهي تحتاج تركيز عالي لفهمها

بالنسبة لنا حاليا سنضيفها و نشرح عملها لاكن لن نشرح كيف كتابتها لان الكتابة ليست غايتنا في هذا الاكسبريت


دالة حساب الصفقات هي الدالة التي تراجع الصفقات علي المنصة

اذا كانت وتعطينا عدد الصفقات المفتوحة

سواء اوامر مباشرة او اوامر معلقة

تكتب دالة حساب الصفقات خارج الدالة start

وفي اغلب الاحيان نكتبها اسفل الدالة start

وتكون كتابتها كالاتي

[PHP]
int orderstotal(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
cnt++;
}
}
return(cnt);
}
[/PHP]وعند اضافتها الي اكسبريتنا تصبح

[PHP]
extern int StopLoss=0;

extern int TakeProfit=0;

extern int MagicNumber=1263;

extern int MaxTrades = 1;

extern double Lots = 0.1;

double point;

int digits,Q;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
if(Digits==5||Digits==3)Q=10;
else Q=1;
if(Digits==2)
{
point=0.01;
}
if(Digits==4)
{
point=0.0001;
}
if(Digits==3)
{
point=0.01;
}
if(Digits==5)
{
point=0.0001;
}
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
double indigreen=iCustom(0,0,"1 indicator ",1,1);
double indired=iCustom(0,0,"1 indicator ",0,1);

if(indigreen<4000)
{
//امر شراء
}

if(indired<4000)
{
//امر بيع
}


//----
return(0);
}
//+------------------------------------------------------------------+

int orderstotal(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
cnt++;
}
}
return(cnt);
}
[/PHP]

MOVING_AVERAGE 01-03-2013 12:51 AM

رد: دورة تعليم برمجة الاكسبريت
 
وعند اضافة شرط فتح اقصي صفقة سيكون

[PHP]

extern int StopLoss=0;

extern int TakeProfit=0;

extern int MagicNumber=1263;

extern int MaxTrades = 1;

extern double Lots = 0.1;

double point;

int digits,Q;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
if(Digits==5||Digits==3)Q=10;
else Q=1;
if(Digits==2)
{
point=0.01;
}
if(Digits==4)
{
point=0.0001;
}
if(Digits==3)
{
point=0.01;
}
if(Digits==5)
{
point=0.0001;
}
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
double indigreen=iCustom(0,0,"1 indicator ",1,1);
double indired=iCustom(0,0,"1 indicator ",0,1);

if(orderstotal()<MaxTrades&&indigreen<4000)
{
//امر شراء
}

if(orderstotal()<MaxTrades&&indired<4000)
{
//امر بيع
}


//----
return(0);
}
//+------------------------------------------------------------------+

int orderstotal(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
cnt++;
}
}
return(cnt);
}
[/PHP]

ببقي فقط اضافة اوامر البيع والشراء

انتضر مشاركاتكم ولا يهم ان كانت صحيحة او خاطئة المهم المشاركة للتعلم

shelilco30 03-03-2013 06:45 PM

رد: دورة تعليم برمجة الاكسبريت
 
اقتباس:

المشاركة الأصلية كتبت بواسطة shelilco30 (المشاركة 473670)
اخي الكريم موفينج كيف احدد الاعدادات يعني مثلاً هذا مؤشر عبارة عن قناة سعرية وعايز احدد للاكسبيرت الحد العلوي للقناة او الحد السفلي

http://www.fx-arabia.com/vb/uploaded...1361893661.png

وهذه هي اعداداته

http://www.fx-arabia.com/vb/uploaded...1362323418.jpg


فكيف افرق بين الحد العلوي للقناة والحد السفلي ..... ارجوا المساعدة

وهذا رابط تحميل المؤشر

http://www.fx-arabia.com/vb/uploaded...1361901099.ex4

ولك جزيل الشكر

اقتباس:

المشاركة الأصلية كتبت بواسطة shelilco30 (المشاركة 473672)
كيف تملاء هذه الخانات
http://www.fx-arabia.com/vb/uploaded...1362323854.jpg


ارجوا المساعدة

mimo2006 03-03-2013 07:01 PM

رد: دورة تعليم برمجة الاكسبريت
 
مشكوووور اخي علي الموضوع :1 (105):


الساعة الآن 04:33 AM

Powered by vBulletin® Copyright ©2000 - 2025

جميع الحقوق محفوظة الى اف اكس ارابيا www.fx-arabia.com