• 1:42 مساءاً




طلب مساعدة بتصحيح خطا في برمجة اكسبريت

إضافة رد
أدوات الموضوع
عضو جديد
تاريخ التسجيل: Jun 2009
المشاركات: 11
معدل تقييم المستوى: 0
متعلم is on a distinguished road
07 - 06 - 2009, 01:10 AM
  #1
متعلم غير متواجد حالياً  
افتراضي طلب مساعدة بتصحيح خطا في برمجة اكسبريت
الاخوة خبراء برمجة الاكسبريتات
انا احاول ان اتعلم برمجة الاكسبريتات منذ بضعة ايام وليس لدي باع في الموضوع وبعد قراءة الدروس الموجودة على الانترنت حاولت كتابة اكسبريت بسيط كتجربة اولى
فكرة الاكسبريت هي بعد كل شمعة ساعة هابطة اذا بعد عشر دقائق من افتتاح الشمعة التالية اذا كان السعر اقل من ربع جسم الشمعة الهابطة فيفتح اورد بيع ويقوم باغلاقة في نهاية الساعة
وبعد كل شمعه صاعدة اذا كان السعر لم ينزل بعد عشر دقائق اكثر من ربع جسم الشمعه السابقة فيفتح اوردر شراء ويغلقه بنهاية الساعة
وكتبت الاكسبريت بالشكل الاتي:
[PHP]#property copyright "Copyright © 2008, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
extern int Step=10;
extern double Lots=0.1;
int Magicnumber=55555;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
if(Minute()<5 && MyOrdersTotal(Magicnumber)>0)
{

CloseOrders(Magicnumber);
}

double hropen=iOpen(Symbol(),PERIOD_H1,1);
double hrclose=iClose(Symbol(),PERIOD_H1,1);
double hrhigh=iHigh(Symbol(),PERIOD_H1,1);
double hrlow=iLow(Symbol(),PERIOD_H1,1);

if(Minute()==10 && hropen>hrclose && MyOrdersTotal(Magicnumber)==0)
{
double E=(hropen-hrclose)*0.25;
double k=E+hrclose;

if (Minute()==10 && Bid<k && MyOrdersTotal(Magicnumber)==0)
{

double SELLSL=hropen+Step*Point;
double SELLTP=Bid-(SELLSL-Bid);

OrderOpenPrice(Symbol(),OP_SELL,Lots,Bid,2,SELLSL, SELLTP,"",Magicnumber,0,Green);
}
}
if(Minute()==10 && hropen<hrclose && MyOrdersTotal(Magicnumber)==0)
{
double Z=(hrclose-hropen)*0.25;
double F=hrclose-Z;

if (Minute()==10 && Ask>F && MyOrdersTotal(Magicnumber)==0)
{
double BUYSL=hropen-Step*Point;
double BUYTP=Ask+(Ask-SELLSL);
OrderOpenPrice(Symbol(),OP_BUY,Lots,Ask,2,BUYSL,BU YTP,"",Magicnumber,0,Red);
}
}
return(0);
}
int MyOrdersTotal(int Magic)
{
int c=0;
int total = OrdersTotal();

for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
{
c++;
}
}
return(c);
}
int CloseOrders(int Magic)
{
int total = OrdersTotal()-1;

for (int cnt = total ; cnt >= 0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),Bid,2);
}

if (OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),Ask,2);
}
}
}
return(0);
} [/PHP]
ويظهر لي الخطأ التالي والذي اعتقد انه خاص بالاقواس ولكن لم اعرف تصحيحه فارجو المساعدة وتصحيح الخطا مع وافر الشكر والتقدير
')' - wrong parameters count
رد مع اقتباس


إضافة رد

الكلمات الدلالية (Tags)
مساعدة, اكسبريت, بتصحيح, برمجة, خطا, طلب



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

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
اكسبريت NirvamanImax ind. expert منتدى المؤشرات و الاكسبرتات 0 28 - 06 - 2009 08:10 PM


01:42 PM