عرض مشاركة واحدة
قديم 01-03-2013, 12:47 AM   المشاركة رقم: 77
الكاتب
MOVING_AVERAGE
عضو فضى
الصورة الرمزية MOVING_AVERAGE

البيانات
تاريخ التسجيل: Feb 2012
رقم العضوية: 8190
الدولة: algeria
العمر: 42
المشاركات: 2,213
بمعدل : 0.45 يوميا

الإتصالات
الحالة:
MOVING_AVERAGE غير متواجد حالياً
وسائل الإتصال:

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

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

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

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

وكيف نكتبها

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

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

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


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

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

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

تكتب دالة حساب الصفقات خارج الدالة 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  
رد مع اقتباس
  #77  
قديم 01-03-2013, 12:47 AM
MOVING_AVERAGE MOVING_AVERAGE غير متواجد حالياً
عضو فضى
افتراضي رد: دورة تعليم برمجة الاكسبريت

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

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

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

وكيف نكتبها

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

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

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


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

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

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

تكتب دالة حساب الصفقات خارج الدالة 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]




رد مع اقتباس