النتائج 1 إلى 5 من 5
  1. #1
    الصورة الرمزية abdull1996
    abdull1996 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2010
    المشاركات
    88

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

    السلام عليكم, اريد مساعدة بسيطة:-
    الاكسبيرت ينظر للشمة المغلقة, و عليها يقوم بفتح اوردر شراء/بيع/او لا يفتح.
    الاكسبيرت يفتح صفقة واحدة كل كاندل لان كود &&Time0!=Time[0] موجود في شروط الشراء والبيع ويعمل جيدا.
    المشكلة كالتالي:-
    الاكسبيرت لا يقوم بعمل Double, ضفت هذا الكود على اعتقاد انه المسؤول عن هذه العملية, اذا لم يكن هو فممكن اعرف ازاي اعمل Double?
    كود PHP:
    //----------------------------- Using Double For Buy Orders ----------------------------------------

       
    int ant;
       
       for(
    ant OrdersTotal() - 1ant >= 0ant--)
                {
                      if(
    OrderSelect(antSELECT_BY_POSMODE_TRADES))
                         {
                            if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumberBuy)
                               {
                                  if(
    OrderType()==OP_BUY)   
                                     {
                                        if(
    OrderProfit() < 0.00
                                            { 
                                            
                                            
    Lots=Lots*;
                                             }
                                     }
                               }
                         }
                 }   
          
          
    //------------------------------ End of Using Double For Buy Orders --------------------------------- 
    هذا الكود لصفقات الشراء ويوجد مثله للبيع. منتظر ردكم و شكرا مقدما.
    آخر تعديل بواسطة abdull1996 ، 20-01-2011 الساعة 11:25 AM

  2. #2
    الصورة الرمزية abdull1996
    abdull1996 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2010
    المشاركات
    88

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

    للرفع

  3. #3
    الصورة الرمزية abdull1996
    abdull1996 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2010
    المشاركات
    88

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

    غيرت كل شيء و جعلت الDouble يتحقق عند اغلاق الاوردر لوجود اشارة عكسية:
    كود PHP:
     //----------------------------- Closing Sell Orders--------------------------------------

       
    int snt;
       
       for(
    snt OrdersTotal() - 1snt >= 0snt--)
                {
                      if(
    OrderSelect(sntSELECT_BY_POSMODE_TRADES))
                         {
                            if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumberSell)
                               {
                                  if(
    OrderType()==OP_SELL)   // long position is opened
                                     
    {
                                       
    OrderClose(OrderTicket(),Lots,OrderClosePrice(),SlipPageClose,Red); // To be closed

                                         
    if(OrderProfit() < 0.00 &&BuyTime0!=Time[0]) // To Calculate The Profit
                                            

                                            
                                            
    NewLots=NewLots*Multiplier ;
                                            
    OrderSend(Symbol(),OP_BUY,NewLots,Ask,SlipPage,Ask-StopLoss*Point,Ask+TakeProfit*Point,"Abdu EA",MagicNumberBuy,0,Blue); //int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)
                                            
    BuyTime0=Time[0];
                                        
                                             }
                                     }
                               }
                         }
                 }   
          

    //------------------------------ End of Closing Sell Orders--------------------------------- 
    ولكن ما زال لا يعمل, ارجو المساعدة و في انتظاركم.

  4. #4
    الصورة الرمزية abdull1996
    abdull1996 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2010
    المشاركات
    88

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

    نظرا تاخير المساعدة, اضطررت للمحاولة الى ان توصلت الى هذا:-
    كود PHP:
    int FindBuyProfit;        
       
       for(
    FindBuyProfit OrdersHistoryTotal(); FindBuyProfit >= 0FindBuyProfit--)
                {
                      if(
    OrderSelect(FindBuyProfitSELECT_BY_POS,MODE_HISTORY))
                         {
                            if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumberBuy)
                               {
                                  if(
    OrderType()==OP_BUY)   
                                     {
                                     
    double BuyProfitOrderProfit();
                                              
                                     }
                               }
                         }
                } 
    اريد ان اعرف لماذا يعود باول تريد شراء مغلق ثم يثبت على ذلك ولا يقوم بالتحديث الى اخر تيرد مغلق. منتظر ردك و شكرا

  5. #5
    الصورة الرمزية abdull1996
    abdull1996 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2010
    المشاركات
    88

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

    السلام عليكم, لقد حلت المشكلة السابقة, المشكلة الحالية تعود الى الDouble فالاكسبيرت يفعل Double بطريقة غريبة, يفتح صفقات باحجام عالية
    كود PHP:
    if (BuyProfit>=0) {LastLot=LotsNormal;}
    if (
    SellProfit>=0) {LastLot=LotsNormal;}            

    double DoubleLots=LastLot;

    if (
    B1>0.2){  

    if(
    BuyProfit<&&Time0!=Time[0]) 
       { 
        
    DoubleLots=DoubleLots*Multiplier ;
        
    OrderSend(Symbol(),OP_SELL,DoubleLots,Bid,SlipPage,Bid+StopLoss*Point,Bid-TakeProfit*Point,"Abdu EA",MagicNumberSell,0,Red);
        
    Time0=Time[0];
        
    GetLastError( ); 
         }
              } 
    وانا متاكد من BuyProfit و LastLot و الياقي, فلماذا يعمل الDouble بطريقة خاطئة؟ منتظر ردك


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