صفحة 6 من 35 الأولىالأولى 12345678910111216 ... الأخيرةالأخيرة
النتائج 76 إلى 90 من 524
  1. #76
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

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

    نحتفظ باسم زوج الصفقة من خلال متغير Pair_Order_Symbol ولابد يكون مصفوفة من بعدين
    فيما بعد اذا خلطنا صفقات كل الازواج مع بعض--يكون مصفوفة من بعد واحد
    دعاية للموضوع والمنتدى هنا
    https://www.forexfactory.com/showthr...1#post10070851
    آخر تعديل بواسطة فيلسوف البادية ، 10-07-2017 الساعة 10:15 PM

  2. #77
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    يتم ذلك على النحو التالي:

  3. #78
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    الان سنؤجل بقية اجزاء الفكرة الى وقت لاحق ونكتفي باسما الصفقات ووقت الدخول ونذهب الى تصميم صفحة العرض

    ثم بعد ذلك نعود للفكرة نكمل نواقصها ونرى النتائج في صفحة الصفقات اول بأول مع كل تحديث.
    اذن عرفنا:
    1) زوج الصفقة
    2) وقت دخول الصفقة--شمعتها
    3) تسلس صفقات الزوج
    4) نوع الصفقة بيع ام شراء

    وفقط

  4. #79
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    صفحة العرض--نعني بها تفاصيل اصلفقات
    نريد شيئا كهذا:

  5. #80
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    إذن نحدد العناوين الرئيسة لكل عمود-اول صف اعلاه- لكي تعرف معنى كل عمود هل هو التسلسل ام نوع العملية ام اسم زوج الصفقة الخ.
    ولاننسى الاولية العقلية, ان سعر الدخول هو افتتاح شمعة الدخول--نحن عمليا عرفنا هذه القيمة وتبقى فقط حفظها في البرنامج.
    سعر الدخول كل صفقة لكل زوج سيتم تعريفه بالمتغير Pair_Entry_Price وطبعا مصفوفة من بُعدين حتى الآن, قبل مرحلة الخلاط mixer
    وأي مبرمج يدرك انه لابد يكون من نوع double لأن الأسعار عَشرية.

  6. #81
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    ولاشك نأخذ السعر عند الشمعة رقم j لأنها دائما هي الشمعة بعد تحقق الشرط

  7. #82
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    والآن مع عناوين صفحة العرض,
    أرى التالي وقد يكون لديكم فيما بعد اراء افضل بكثير, فالناس بعضهم ألحن من بعض في الحجة اذا تساوت معارفهم.

    أرى: (حتى الآن لا أريكم الا ما أرى) ان نجعل الأعمدة كالتالي:
    العمود الأول: الرقم التسلسلي ونسميه هاش "#"
    العمود الثاني: رقم شمعة الدخول ونسميه CE اختصار CandleEntry
    العمود الثالث: تاريخ وقت الدخول ويعرض على نمط 2017.07.12 00:00 EntryT
    العمود الرابع: شمعة الخروج--لم نتحدث عنها حتى الان CX
    العمود 5: وقت الخروج ExitT
    العمود 6: نوع العملية Type
    العمود 7: اسم الزوج Symbol
    العمود 8: السعر الحالي Cprice
    العمود 9: سعر الدخول EntryP
    العمود 10: سعر الخورج ExitP
    العمود 11: اعلى سعر بين الدخول والخورج HEE
    العمود 12: ادنى سعر بين الدخول والخروج LEE
    العمود 13: الربح او الخسارة المحققة بالنقاط PPips
    العمود 14: افضل ربح تحققق بين الدخول والخروج BestP
    العمود 15: اسؤا خسارة تحققت بين الدخول والخروج. WorstP

    ونؤجل ماعدا ذلك.
    آخر تعديل بواسطة فيلسوف البادية ، 10-07-2017 الساعة 10:43 PM

  8. #83
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    نضغها في الاخير لنضمن ان العرض بعد كل التغييرات--في اخر OnTimer
    يفترض دالة مستقلة ولكن فيما بعد

  9. #84
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    قيم yy2 اعلاه ممكن فيما بعد تعديلها حسب مساحة القيمة التي توضع
    مثلا قيمة "1.27878" سبعة حروف بينما قيمة التاريخ "F2017.09.12 04:00" عبارة 17 حرف,
    AA هي الازاحة للكل عن يسار التشارت
    rr الازاحة التراكمية لكل عمود, اي ازاحة العمود السابق الكلية + ازاحة هذا العمود
    وبالتالي:
    rr=rr+yy2
    وتم تسمية روؤس كل عمود بـ Heading ثم اندرسكور زايد رقم العمود التسلسلي من اليسار الى اليمين

    الآن هناك حالتين للعرض:
    عرض الصفقات
    أو
    عرض الدروداون-رن اب--يعني يمسكها من اول يوم ثم يشوف كم الاكويتي بنهاية كل يوم واسؤا دردوداون حدث شاملة عدد الصفقات المفتوحة او المغلقة حتى ذلك اليوم, من اول يوم وحتى هذا اليوم وايضا الدردوداون النسبي لهذا اليوم مقارنة باليوم السابق حتى لو كانت النتائج الكلية موجبة
    آخر تعديل بواسطة فيلسوف البادية ، 11-07-2017 الساعة 02:39 PM

  10. #85
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    إذن لابد نعرف متغير SELECTOR للاختيار بين عرض الصفقات POSITIONS و عرض تاريخ الحساب HISTORY

    لغة انجليزية
    SELECTOR اختيار

    سنختار الديفولت POSITIONS

  11. #86
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    التعريف

    كود الاختيار

  12. #87
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    ولو تلاحظ نتحاشى هنا المتغيرات الخارجية بالشكل المألوف ونعتمد نظرية "ارسم ثم ادعس" -- يعني نعتمد الضغط على الاشياء لاختيار القيم بالماوس فقط,
    وبالتالي نحن بحاجة الى شيئين اضافيين على التشارت:
    1) شيء نضغط عليه فيعرض الصفقات
    2) شيء آخر نضغط عليه فيعرض سيرة الحساب

    سيكون اسم الشيء الاول نفس قيمته واسم الشيء الثاني نفس قيمته ايضا-لايوجد مايمنع وسنعرضها على التشارت ايضا دوائر منجمة صغيرة.

    ولاننسى ماذكرناه لكي يتم تفعيلها لابد من خلال OnChartEvent
    لاتنسى الاغنية: ارسم في OnTimer وفعل في OnChartEvent

    وبصريا الشيء الذي اخترناه سيكون لون دائرته المنجمة اخضر والشيء الاخر لونه رمادي

    وندنقرز 174
    آخر تعديل بواسطة فيلسوف البادية ، 11-07-2017 الساعة 03:00 PM

  13. #88
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    الرد قبل السابق علامتي == بدلا من علامة واحدة داخل الجملة الشرطية للاختيار بين شيئين:

    ارسم

    ثم ادعس

    النتيجة
    آخر تعديل بواسطة فيلسوف البادية ، 11-07-2017 الساعة 03:16 PM

  14. #89
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    كود PHP:
    string SELECTOR ="POSITIONS";
    string   str;
    string   S[] = {"EUR" ,"GBP" ,"AUD" ,"NZD" ,"USD" ,"CAD" ,"CHF" ,"JPY"};
    string   pairs[28];
    string   pair_0[28];
    int      NoOfCandles=50;

    int OnInit()
    {
       
    ChartSetInteger(0,CHART_FOREGROUND,0,FALSE);
       
    ChartSetInteger(0,CHART_COLOR_BACKGROUND,clrBlack);
       
    ChartSetInteger(0,CHART_COLOR_CHART_LINE,ChartGetInteger(0,CHART_COLOR_BACKGROUND));
       
    ChartSetInteger(0,CHART_MODE,CHART_LINE);
       
    ChartSetInteger(0,CHART_SHOW_GRID,0,FALSE);
       
    ChartSetInteger(0,CHART_SHOW_OHLC,0,FALSE);
       
    ChartSetInteger(0,CHART_SHOW_BID_LINE,0,FALSE);
       
       
    ObjectCreate"CHART_HIDE",OBJ_LABEL,0,0,0);   
       
    ObjectSet(    "CHART_HIDE",OBJPROP_CORNER,0);
       
    ObjectSet(    "CHART_HIDE",OBJPROP_XDISTANCE,5);
       
    ObjectSet(    "CHART_HIDE",OBJPROP_YDISTANCE,25);
       
    ObjectSetText("CHART_HIDE",CharToStr(108),12,"wingdings",clrRed);
       
    ObjectCreate"CHART_CANDLES",OBJ_LABEL,0,0,0);   
       
    ObjectSet(    "CHART_CANDLES",OBJPROP_CORNER,0);
       
    ObjectSet(    "CHART_CANDLES",OBJPROP_XDISTANCE,25);
       
    ObjectSet(    "CHART_CANDLES",OBJPROP_YDISTANCE,25);
       
    ObjectSetText("CHART_CANDLES",CharToStr(108),12,"wingdings",clrYellow);
       
    ObjectCreate"CHART_LINE",OBJ_LABEL,0,0,0);   
       
    ObjectSet(    "CHART_LINE",OBJPROP_CORNER,0);
       
    ObjectSet(    "CHART_LINE",OBJPROP_XDISTANCE,45);
       
    ObjectSet(    "CHART_LINE",OBJPROP_YDISTANCE,25);
       
    ObjectSetText("CHART_LINE",CharToStr(108),12,"wingdings",clrWhite);
       
       
    EventSetTimer(1);
       
    str =StringSubstr(Symbol(),6,10);
    ///////////////////////////
       
    int j=-1;
       for(
    int i=0;i<=6;i++)
       {
          for(
    int k=i+1;k<=7;k++)
          {
             
    j++;
             
    pairs[j]=S[i]+S[k]+str;
             
    pair_0[j]=pairs[j];
          }
       }
       return(
    INIT_SUCCEEDED);
    }
    ////////////////////////
    void OnTimer()
    {
       
    ChartSetInteger(0,CHART_FOREGROUND,0,BackOrForeground);
       
    ChartSetInteger(0,CHART_COLOR_CHART_LINE,LineColor);
       
    ChartSetInteger(0,CHART_MODE,ChartMode);


       for(
    int i=0;i<28;i++)
       {
          if(
    pair_0[i]==pairs[i]) color clr=clrLime;
          else                          
    clr=clrWhite;
          
    ObjectCreate(  "B_"+StringSubstr(pairs[i],0,6)+"_"+iOBJ_LABEL,0,0,0);
          
    ObjectSet(     "B_"+StringSubstr(pairs[i],0,6)+"_"+iOBJPROP_CORNER,0);
          
    ObjectSet(     "B_"+StringSubstr(pairs[i],0,6)+"_"+iOBJPROP_XDISTANCE,20);
          
    ObjectSet(     "B_"+StringSubstr(pairs[i],0,6)+"_"+iOBJPROP_YDISTANCE,50+i*13);
          
    ObjectSetText"B_"+StringSubstr(pairs[i],0,6)+"_"+iStringSubstr(pairs[i],0,6),9,"Tahoma",clr);
    //      
          
    ObjectCreate(  "A_"+StringSubstr(pairs[i],0,6)+"_"+iOBJ_LABEL,0,0,0);
          
    ObjectSet(     "A_"+StringSubstr(pairs[i],0,6)+"_"+iOBJPROP_CORNER,0);
          
    ObjectSet(     "A_"+StringSubstr(pairs[i],0,6)+"_"+iOBJPROP_XDISTANCE,5);
          
    ObjectSet(     "A_"+StringSubstr(pairs[i],0,6)+"_"+iOBJPROP_YDISTANCE,50+i*13);
          
    ObjectSetText"A_"+StringSubstr(pairs[i],0,6)+"_"+iCharToStr(110),9,"wingdings",clr);
       }
          
       
    ObjectCreate"ACTIVATE_ALL",OBJ_LABEL,0,0,0);   
       
    ObjectSet(    "ACTIVATE_ALL",OBJPROP_CORNER,0);
       
    ObjectSet(    "ACTIVATE_ALL",OBJPROP_XDISTANCE,25);
       
    ObjectSet(    "ACTIVATE_ALL",OBJPROP_YDISTANCE,425);
       
    ObjectSetText("ACTIVATE_ALL",CharToStr(110),12,"wingdings",clrLime);
       
    ObjectCreate"CANCEL_ALL",OBJ_LABEL,0,0,0);   
       
    ObjectSet(    "CANCEL_ALL",OBJPROP_CORNER,0);
       
    ObjectSet(    "CANCEL_ALL",OBJPROP_XDISTANCE,45);
       
    ObjectSet(    "CANCEL_ALL",OBJPROP_YDISTANCE,425);
       
    ObjectSetText("CANCEL_ALL",CharToStr(110),12,"wingdings",clrGray);
       
       
    ObjectCreate(  "REMOVE_EXPERT",OBJ_LABEL,0,0,0);
       
    ObjectSet(     "REMOVE_EXPERT",OBJPROP_CORNER,0);
       
    ObjectSet(     "REMOVE_EXPERT",OBJPROP_XDISTANCE,   195);
       
    ObjectSet(     "REMOVE_EXPERT",OBJPROP_YDISTANCE,   0);
       
    ObjectSetText"REMOVE_EXPERT",CharToStr(255),18,"Wingdings",clrWhite);
       
       
    ObjectCreate"CLEAN_CHART",OBJ_LABEL,0,0,0);
       
    ObjectSet(    "CLEAN_CHART",OBJPROP_CORNER,0);
       
    ObjectSet(    "CLEAN_CHART",OBJPROP_XDISTANCE,145);
       
    ObjectSet(    "CLEAN_CHART",OBJPROP_YDISTANCE,0);
       
    ObjectSetText("CLEAN_CHART","DEL",15,"Times New Roman",clrWhite);
       
       if(
    SELECTOR=="POSITIONS"color  SelClr=clrLime
       else                             
    SelClr=clrGray
       
    ObjectCreate"POSITIONS",OBJ_LABEL,0,0,0);   
       
    ObjectSet(    "POSITIONS",OBJPROP_CORNER,0);
       
    ObjectSet(    "POSITIONS",OBJPROP_XDISTANCE,400);
       
    ObjectSet(    "POSITIONS",OBJPROP_YDISTANCE,0);
       
    ObjectSetText("POSITIONS",CharToStr(174),12,"wingdings",SelClr);
       if(
    SELECTOR=="HISTORY")          SelClr=clrLime
       else                             
    SelClr=clrGray
       
    ObjectCreate"HISTORY",OBJ_LABEL,0,0,0);   
       
    ObjectSet(    "HISTORY",OBJPROP_CORNER,0);
       
    ObjectSet(    "HISTORY",OBJPROP_XDISTANCE,420);
       
    ObjectSet(    "HISTORY",OBJPROP_YDISTANCE,0);
       
    ObjectSetText("HISTORY",CharToStr(174),12,"wingdings",SelClr);

       
       
       
    ObjectCreate"Object_Name",OBJ_LABEL,0,0,0);
       
    ObjectSet(    "Object_Name",OBJPROP_CORNER,0);
       
    ObjectSet(    "Object_Name",OBJPROP_XDISTANCE,245);
       
    ObjectSet(    "Object_Name",OBJPROP_YDISTANCE,0);
       
    ObjectSetText("Object_Name",Object_Name,11,"Times New Roman",clrWhite);
    /////////////////////////
       
    int PairTotallPosition[28];
       
    int PairPositionSerial[28][200];
       
    int PairEntryCandle[28][200];
       
    string Pair_Order_Type[28][200];   
       
    string Pair_Order_Symbol[28][200];   
       
    double Pair_Entry_Price[28][200];
    /////////////////////
       
    for(i=0;i<=27;i++)
       {
    //for(i=0;i<28;i++)
          
    PairTotallPosition[i]=-1;
          if(
    pairs[i]==pair_0[i])
          {
    //if(pairs[i]==pair_0[i])
             
    for(int j=NoOfCandles;j>=1;j--)
             {
    //for(int j=0;j<=NoOfCandles;j++)
                
    double x0=iAO(pair_0[i],0,j+1);
                
    double x1=iAO(pair_0[i],0,j+2);
                
                if((
    x0<=&& x1>=0) || (x0>=&& x1<=0))
                {
    //if((x0<0 && x1>0) || (x0>0 && x1<0))
                   
    PairTotallPosition[i]++;
                   
    int m=PairTotallPosition[i];
                   
    PairPositionSerial[i][m]=m;
                   
    PairEntryCandle[i][m]=j;
                   
    Pair_Order_Symbol[i][m]=pair_0[i];
                   
    Pair_Entry_Price[i][m]=iOpen(pair_0[i],0,j);
                   if(
    x0>=&& x1<=0)            
                   {
                      
    Pair_Order_Type[i][m]="BUY";
                   }
                   
                   if(
    x0<=&& x1>=0)            
                   {
                      
    Pair_Order_Type[i][m]="SELL";
                   }
                      

                }
    //if((x0<0 && x1>0) || (x0>0 && x1<0))
                
                //--
                //-
                //-
             
    }//for(int j=0;j<=NoOfCandles;j++)
          
    }//if(pairs[i]==pair_0[i])
       
    }//for(i=0;i<28;i++)
       
    int yy2[]={0,40,40,40,40,40,60,80,60,60,60,80,60,60,60,90,90,90,90,90,90,90,90,90,90};
       
    int AA=100;
       
    int rr;
       
    string Heading[]={"#","CE","EntryT","CX","EntryT","Type","Symbol","Cprice","EntryP","ExitP","HEE","LEE","PPips","BestP","WorstP"};
       for(
    j=0;j<=14;j++)
       {
          
    rr=rr+yy2[j];
          
    ObjectCreate(  "Heading_"+j,OBJ_LABEL,0,0,0);
          
    ObjectSet(     "Heading_"+j,OBJPROP_CORNER,0);
          
    ObjectSet(     "Heading_"+j,OBJPROP_XDISTANCEAA+rr);
          
    ObjectSet(     "Heading_"+j,OBJPROP_YDISTANCE50);
          
    ObjectSetText"Heading_"+j,Heading[j],8,"Tahoma",clrWhiteSmoke);
       }
       if(
    SELECTOR=="POSITIONS")
       {
       
       
       
       }
       else if(
    SELECTOR=="HISTORY")
       {
       
       
       }
    }
    //OnTimer
    //////////////////////////////////////////////
    string Object_Name;
    //////////////////////////////////////////////
    bool              BackOrForeground=false;
    ENUM_CHART_MODE   ChartMode=CHART_LINE;
    color             LineColor=ChartGetInteger(0,CHART_COLOR_BACKGROUND);

    void OnChartEvent(const int id, const long &lparam, const double &dparam,  const string &sparam)
    {
       if(
    id==CHARTEVENT_OBJECT_CLICK)
       {
    //////////////////////////

          
    if(sparam=="POSITIONS"SELECTOR="POSITIONS";
          if(
    sparam=="HISTORY")   SELECTOR="HISTORY"  ;

          if(
    sparam=="CHART_HIDE")
          {
            
    LineColor=ChartGetInteger(0,CHART_COLOR_BACKGROUND);
            
    ChartMode=CHART_LINE;
            
    BackOrForeground=false;
          }
          if(
    sparam=="CHART_CANDLES")
          {
            
    LineColor=clrOrange;
            
    ChartMode=CHART_CANDLES;
            
    BackOrForeground=true;
          }
          if(
    sparam=="CHART_LINE")
          {
            
    LineColor=clrOrange;
            
    ChartMode=CHART_LINE;
            
    BackOrForeground=true;
          }



          
    Object_Name=sparam;
          if(
    StringSubstr(sparam,0,2)=="A_")
          {
             
    int I1=StrToInteger(StringSubstr(sparam,9,StringLen(sparam)-9));
             
    pair_0[I1]="YYYXXX";
          }
          if(
    StringSubstr(sparam,0,2)=="B_")
          {
             
    int I2=StrToInteger(StringSubstr(sparam,9,StringLen(sparam)-9));
             
    pair_0[I2]=pairs[I2];;
          }
          
          if(
    sparam=="CANCEL_ALL")
          {
             for(
    int k=0;k<=27;k++) pair_0[k]="YYYXXX";
          }
          
          if(
    sparam=="ACTIVATE_ALL")
          {
             for( 
    k=0;k<=27;k++) pair_0[k]=pairs[k];
          }

          if(
    sparam=="CLEAN_CHART")     ObjectsDeleteAll();
          if(
    sparam=="REMOVE_EXPERT")   {ObjectsDeleteAll();ExpertRemove();}
    /////////////////////////////////////////   
       
    }


  15. #90
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    بسم الله الرحمن الرحيم
    نريد ان نحتفظ بعدد مرات قطع الصفر لكل زوج؟ بالمنطق اين نضعها؟
    نحن من خلال المتغير المصفوفة PairTotallPosition قد عرفناها لكل زوج.

    بناء عليه في الكود السابق نضعه مع لوووب A_ و _B--يعني الازواج ومربعاتها بحيث يكون هناك عمود ثالث يعرض عدد مرات القطع (والتي هي عمليا عدد الصفقات)
    ومكانها يجب ان يكون بعد الحسبة, وإذا لم يكن هناك عمليات نضع شرطة "-"


    إذن:



صفحة 6 من 35 الأولىالأولى 12345678910111216 ... الأخيرةالأخيرة

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17