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

إعلانات تجارية اعلن معنا

النتائج 1 إلى 5 من 5

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

  1. #1

    افتراضي مشكلة فى كود برمجة اكسبيرت

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

    المشكلة اللى انا بتكلم عنها ان انا بعد ما بعمل compile ظهرلى error

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

    الكود مرفق
    الملفات المرفقة الملفات المرفقة

  2. #2

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

    هلا اخي محمد

    لديك اخطاء كثيرة

    هناك اقواس زائدة وهنك اغلاقات كثيرة لدالة start وكل ما بعدها سيكون خاطئ
    ولديك اخطاء في جملة if ولديك اخطاء في متغيرات المصفوفة مثل ExtMapBuffer1
    يجب ان يكون بعدها [] وبداخله رقم لانها مصفوفة

    هذا هو الكود بعد تصحيح هذه الاخطاء ولكن هذا ليس معناه ان الكود سيعمل كما تريد فعليك التأكد من خلوه من الاخطاء المنطقية

    [PHP]

    //+------------------------------------------------------------------+
    //| My Own Expert |
    //| Copyright, created 20 may 2006 |
    //| www.forex.com.sa |
    //| Desined by Dr. Waleed |
    //| dr_waleedmsn.com |
    //+------------------------------------------------------------------+

    #property copyright "My Own Expert"
    #property link "www.forex.com.sa"

    extern int MaxTrades = 1;
    extern int stoploss = 25;
    extern int takeprofit = 50;
    extern double TrailingStop =10;
    extern bool UseHourTrade = true;
    extern int FromHourTrade = 7;
    extern int ToHourTrade = 17;
    extern string MM_Parameters = "---------- Money Management";
    extern double Lots = 1;
    extern bool MM = true,
    AccountIsMicro = false;
    extern int Risk = 10;

    int ID=148;

    //+------------------------------------------------------------------+
    //| FUNCTION DEFINITIONS deinitialization function |
    //+------------------------------------------------------------------+

    void deinit() {
    Comment("");
    }

    int orderscnt(){
    int cnt=0;
    for(int i =0;i<OrdersTotal();i++){
    if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
    if(OrderSymbol()==Symbol() && ID==OrderMagicNumber()){
    cnt++;
    }
    }
    }
    return(cnt);
    }

    //+------------------------------------------------------------------+
    //| FUNCTION DEFINITIONS Start function |
    //+------------------------------------------------------------------+


    #property indicator_separate_window
    #property indicator_buffers 6

    #property indicator_color1 DeepSkyBlue
    #property indicator_color2 Red
    #property indicator_color3 Gold
    #property indicator_color4 DimGray
    #property indicator_color5 Red
    #property indicator_color6 LimeGreen

    #property indicator_level1 30
    #property indicator_level2 50
    #property indicator_level3 70

    #property indicator_levelcolor Magenta

    #property indicator_levelstyle 2

    #property indicator_style4 STYLE_DOT
    #property indicator_width1 2
    #property indicator_width2 2
    #property indicator_width3 2

    //--- buffers
    double ExtMapBuffer1[];
    double ExtMapBuffer2[];
    double ExtMapBuffer3[];
    double ExtMapBuffer4[];
    double ExtMapBuffer5[];
    double ExtMapBuffer6[];


    extern int RsxPeriod = 14;
    extern int RsxPrice = 4;
    extern int SignalPeriod = 5;
    extern int SignalMethod = MODE_SMA;
    extern int TmaHalfLength = 12;
    extern int TmaApplyTo = 0; // 0 -> to RSX, 1 -> to MA of RSX
    extern double BandsDeviations = 3;


    //+------------------------------------------------------------------+
    //| Custom indicator initialization function |
    //+------------------------------------------------------------------+
    int init()
    {
    //---- indicators
    SetIndexStyle(0,DRAW_LINE);
    SetIndexBuffer(0,ExtMapBuffer1);
    SetIndexStyle(1,DRAW_LINE);
    SetIndexBuffer(1,ExtMapBuffer2);
    SetIndexStyle(2,DRAW_LINE);
    SetIndexBuffer(2,ExtMapBuffer3);
    SetIndexStyle(3,DRAW_LINE);
    SetIndexBuffer(3,ExtMapBuffer4);
    SetIndexStyle(4,DRAW_LINE);
    SetIndexBuffer(4,ExtMapBuffer5);
    SetIndexStyle(5,DRAW_LINE);
    SetIndexBuffer(5,ExtMapBuffer6);
    //----
    return(0);
    }

    //+------------------------------------------------------------------+
    //| Custom indicator iteration function |
    //+------------------------------------------------------------------+
    int start()
    {

    int counted_bars=IndicatorCounted();
    //----

    for (int i=Bars - counted_bars -1 ;i>=0;i--)
    {
    ExtMapBuffer1[i]=iCustom(NULL, 0, "hesen",RsxPeriod,RsxPrice,SignalPeriod,SignalMeth od,TmaHalfLength,TmaApplyTo,BandsDeviations,0,i); // if 1 = DeepSkyBlue
    ExtMapBuffer2[i]=iCustom(NULL, 0, "hesen",RsxPeriod,RsxPrice,SignalPeriod,SignalMeth od,TmaHalfLength,TmaApplyTo,BandsDeviations,1,i); // if -1 = Red
    ExtMapBuffer3[i]=iCustom(NULL, 0, "hesen",RsxPeriod,RsxPrice,SignalPeriod,SignalMeth od,TmaHalfLength,TmaApplyTo,BandsDeviations,3,i); // Gold
    ExtMapBuffer4[i]=iCustom(NULL, 0, "hesen",RsxPeriod,RsxPrice,SignalPeriod,SignalMeth od,TmaHalfLength,TmaApplyTo,BandsDeviations,4,i); // DimGray
    ExtMapBuffer5[i]=iCustom(NULL, 0, "hesen",RsxPeriod,RsxPrice,SignalPeriod,SignalMeth od,TmaHalfLength,TmaApplyTo,BandsDeviations,5,i); // Red
    ExtMapBuffer6[i]=iCustom(NULL, 0, "hesen",RsxPeriod,RsxPrice,SignalPeriod,SignalMeth od,TmaHalfLength,TmaApplyTo,BandsDeviations,6,i); // Lime
    double h=iCustom(NULL, 0, "hesen",7,0); // 1 = UP, -1 = Down
    }

    //----
    //++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++

    double sl,tp;
    if(MM) Lots = subLotSize();


    if ((ExtMapBuffer1[1]>ExtMapBuffer6[1]) || (ExtMapBuffer2[1]<ExtMapBuffer6[1])){
    if(orderscnt()<MaxTrades){
    if(stoploss==0){sl=0;}else{sl=Ask-stoploss*Point;}
    if(takeprofit==0){tp=0;}else{tp=Ask+takeprofit*Poi nt;}
    OrderSend(Symbol(),OP_BUY,Lots,Ask,2,sl,tp,"My Own Expert",ID,0,Blue);
    PlaySound("Alert.wav");
    }
    }
    if (ExtMapBuffer1[1]>ExtMapBuffer5[1] || ExtMapBuffer2[1]<ExtMapBuffer5[1]){
    if(orderscnt()<MaxTrades){
    if(stoploss==0){sl=0;}else{sl=Bid+stoploss*Point;}
    if(takeprofit==0){tp=0;}else{tp=Bid-takeprofit*Point;}
    OrderSend(Symbol(),OP_SELL,Lots,Bid,2,sl,tp,"My Own Expert",ID,0,Red);
    PlaySound("Alert.wav");
    }
    }


    //+------------------------------------------------------------------+
    //| FUNCTION DEFINITIONS TrailingStop |
    //+------------------------------------------------------------------+

    if(TrailingStop>0)
    {
    if(Bid-OrderOpenPrice()>Point*TrailingStop)
    {
    if(OrderStopLoss()<Bid-Point*TrailingStop)
    {
    OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,
    OrderTakeProfit(),0,Green);
    return(0);
    }
    }
    }
    if(TrailingStop>0)
    {
    if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
    {
    if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
    {
    OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Poi nt*TrailingStop,
    OrderTakeProfit(),0,Red);
    return(0);
    }
    }
    }

    return(0);
    }

    //+------------------------------------------------------------------+
    //| FUNCTION DEFINITIONS Money Managment |
    //+------------------------------------------------------------------+

    double subLotSize()
    {
    double lotMM = MathCeil(AccountFreeMargin() * Risk / 1000) / 100;

    if(AccountIsMicro==false)
    {
    if(lotMM < 0.1) lotMM = Lots;
    if((lotMM > 0.5) && (lotMM < 1)) lotMM = 0.5;
    if(lotMM > 1.0) lotMM = MathCeil(lotMM);
    if(lotMM > 100) lotMM = 100;
    }
    else
    {
    if(lotMM < 0.01) lotMM = Lots;
    if(lotMM > 1.0) lotMM = MathCeil(lotMM);
    if(lotMM > 100) lotMM = 100;
    }

    return (lotMM);
    }

    [/PHP]

    انصحك بصنع مؤشرات او اكسبيرتات بسيطة جدا ثم تتدرج في الصعوبة كي تتعلم افضل
    وراجع هذا الموضوع لشامل في تعلم mql4

    my.mec.biz/t29304.html

    تحياتي

  3. #3

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

    متشكر لحضرتك جدا
    معلش تعبتك معايامشكلة فى كود برمجة اكسبيرت نادي خبراء المال

  4. #4

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

    مهندسنا الغالى
    معلش ليا رجاء من حضرتك
    هل يمكن تثبيت اشارات وتحركات هذا االمؤشر
    انا حاولت اعمل زى ما حضرتك قلت فى مشاركة لك سابقة بتغير القيم الـ0 الى 1

    ولكنى حاولت اعمل كدة ولكنى فشلت الحقيقة

    معلش اتمنى من حضرتك محاولة تثبيت هذا المؤشر
    الملفات المرفقة الملفات المرفقة

  5. #5

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

    اقتباس المشاركة الأصلية كتبت بواسطة mohamed_houssen مشاهدة المشاركة
    مهندسنا الغالى
    معلش ليا رجاء من حضرتك
    هل يمكن تثبيت اشارات وتحركات هذا االمؤشر
    انا حاولت اعمل زى ما حضرتك قلت فى مشاركة لك سابقة بتغير القيم الـ0 الى 1

    ولكنى حاولت اعمل كدة ولكنى فشلت الحقيقة

    معلش اتمنى من حضرتك محاولة تثبيت هذا المؤشر
    اخي محمد

    لا يمكن تثبيت اشارات جميع المؤشرات
    فهناك مؤشرات مُصممة بشكل لا يمكن تثبيت اشاراته مثل المؤشرات التي يدخل بها معادلات تعتمد على البيانات اللحظية

    على كل

    غير الصفر في i>=0 للواحد
    وهذه ايضا i>=0 غيرها للواحد
    (ستجد جملتين فيها i>=0)

    ونصيحتي ان تبتعد عن مؤشرات الاشارات الغير ثابتة فالمؤشرات ذات الاشارات الثابتة متوفرة وبكثرة

    تحياتي

معلومات الموضوع

الأعضاء الذين يشاهدون هذا الموضوع

الذين يشاهدون الموضوع الآن: 1 (0 من الأعضاء و 1 زائر)

المواضيع المتشابهه

  1. مساعدة في برمجة اكسبيرت
    بواسطة قتيبة-2 في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 2
    آخر مشاركة: 08-11-2015, 03:22 AM
  2. طلب برمجة اكسبيرت
    بواسطة ابو يوسف 5 في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 4
    آخر مشاركة: 12-02-2013, 01:53 AM
  3. طلب برمجة اكسبيرت
    بواسطة yasso في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 7
    آخر مشاركة: 31-10-2010, 10:13 PM
  4. مشكلة في برمجة الاكسبريت
    بواسطة mohamad ali في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 3
    آخر مشاركة: 15-09-2009, 12:19 AM
  5. طلب برمجة اكسبيرت
    بواسطة مساهم مداهم في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 0
    آخر مشاركة: 19-06-2007, 03:48 PM

الكلمات الدلالية لهذا الموضوع

مواقع النشر (المفضلة)

مواقع النشر (المفضلة)

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

يعد " نادى خبراء المال" واحدا من أكبر وأفضل المواقع العربية والعالمية التى تقدم خدمات التدريب الرائدة فى مجال الإستثمار فى الأسواق المالية ابتداء من عملية التعريف بأسواق المال والتدريب على آلية العمل بها ومرورا بالتعريف بمزايا ومخاطر التداول فى كل قطاع من هذه الأسواق إلى تعليم مهارات التداول وإكساب المستثمرين الخبرات وتسليحهم بالأدوات والمعارف اللازمة للحد من المخاطر وتوضيح طرق بناء المحفظة الاستثمارية وفقا لأسس علمية وباستخدام الطرق التعليمية الحديثة في تدريب وتأهيل العاملين في قطاع المال والأعمال .

الدعم الفني المباشر
دورات تدريبية
اتصل بنا