OrderSelect fonksiyon sorusu - sayfa 2

 
//+------------------------------------------------------------------+
//| Check for close order conditions                                 |
//+------------------------------------------------------------------+
void CheckForClose()
  {
   double ma;
//--- go trading only for first tiks of new bar
   if(Volume[0]>1) return;
//--- get Moving Average 
   ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0);
//---
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) continue;
      //--- check order type 
      if(OrderType()==OP_BUY)
        {
         if(Open[1]>ma && Close[1]<ma)
           {
            if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,White))
               Print("OrderClose error ",GetLastError());
           }
         break;
        }
      if(OrderType()==OP_SELL)
        {
         if(Open[1]<ma && Close[1]>ma)
           {
            if(!OrderClose(OrderTicket(),OrderLots(),Ask,3,White))
               Print("OrderClose error ",GetLastError());
           }
         break;
        }
     }
//---
  }
for(int i=0;i<OrdersTotal();i++)
 

Yeni bir sanat türü.

Ticaret hiciv.

Bayıldım.

 
boopa26 :

1. c bilgisine ihtiyaç duymaz. mql4 farklı fonksiyonlardır

boopa26 insanların zamanını boşa harcamaz

  1. Kod yazmayı bilmeden kod yazabileceğinizi düşünüyorsunuz. Fonksiyonlar alakasız.
    boopa26 : döngüler olmadan veya döngüler olmadan siparişleri kapatmak için sipariş seçme işlevi yazmak istiyor.
    O zaman neden döngü kullanan kodu gönderdiniz? Zamanımızı boşa harcıyorsun.
  2. Birden fazla siparişin varlığında (bir EA çoklu çizelge, birden fazla EA, manuel ticaret)
 
for (last_index_inside_trade_pool= OrdersTotal ()- 1 ;last_index_inside_trade_pool>= 0 ;last_index_inside_trade_pool--)

   { if ( OrderSelect (last_index_inside_trade_pool,SELECT_BY_POS,MODE_TRADES)== 1 &&
       OrderMagicNumber()==magic_number&&
       OrderType()==OP_SELL)

       OrderClose(OrderTicket(),OrderLots(),Ask,slippage,Red);


     if ( OrderSelect (last_index_inside_trade_pool,SELECT_BY_POS,MODE_TRADES)== 0 )

       Print ( "OrderSelectError: " , GetLastError ());}

zaman kaybı ha? Yukarıdaki kod zamanınızı boşa harcıyormuşum gibi mi görünüyor? uh... muhtemelen WHRoeder yok

bu kolay bir iş değildi, ancak yukarıdaki kod siparişleri kapatıyor. de anlamaz. kodlayıcı daha fazla ayrıntı açıklarsa iyi olur

boopa26 ne düşünüyor

statik int last_index_inside_trade_pool = OrdersTotal()-1

last_index_inside_trade_pool >=0 iken aşağıdaki kodu yapın. last_index_inside_trade_pool yap--

Aşağıdaki kod düzeni bulur. sipariş kontrol eder . siparişi kapatır. GetLastError()

yine de anlamaz

 if(OrderSelect (last_index_inside_trade_pool,SELECT_BY_POS,MODE_TRADES)== 1&&
 
boopa26 : zaman kaybı ha? Yukarıdaki kod zamanınızı boşa harcıyormuşum gibi mi görünüyor?
Evet. İki soru sordum ve sen onları tamamen görmezden geldin.
 

O zaman neden döngü kullanan kodu gönderdiniz?

döngü kodu, döngü olmadan aynı şeyi yapmak için farklı yazılabilir. misal

static int last_index_inside_trade_pool;
//below start()
last_index_inside_trade_pool= OrdersTotal ()- 1 ;

   if ( OrdersTotal ()> 0 &&
     iMA ( NULL , 0 , 1 , 0 , MODE_SMMA , PRICE_CLOSE , 1 )> iMA ( NULL , 0 , 10 , 0 , MODE_SMMA , PRICE_CLOSE , 1 )&&
     OrderSelect (last_index_inside_trade_pool,SELECT_BY_POS,MODE_TRADES)== 1 &&
     OrderMagicNumber()== 99999 &&
     OrderType()==OP_SELL)

    {last_index_inside_trade_pool--;
     OrderClose(OrderTicket(),OrderLots(),Ask,slippage,Red);}

döngü yok ama sonuç aynı. boopa26, döngüler sırasında döngüler için koşulların olup olmadığını tercih eder

Kod yazmayı bilmeden kod yazabileceğinizi düşünüyorsunuz. Fonksiyonlar alakasız.

Döngüler için döngüler temel matematik sırasında koşullar varsa nasıl yapılacağını biliyorum. bu iyi bir başlangıç WHRoeder. c programlama c programlamadır. mql4, mql4'tür. NİYE YA? FONKSİYONLAR nedeniyle. mql4, c programlama örneği * () == vb yapar ancak işlevler nedeniyle aynı değildir

 

0'dan 1'e sıra seçme işlevini ne değiştirir?

 if(OrderSelect (last_index_inside_trade_pool,SELECT_BY_POS,MODE_TRADES))== 1

sipariş toplamı sıfırdan büyük olduğunda sipariş seçme işlevi 0'dan 1'e mi geçiyor?


belgeler

"döndürülen değer

İşlev başarılı olursa true, aksi takdirde false döndürür. Hata bilgilerini almak için GetLastError() işlevi çağrılmalıdır."

işlev başarılı olursa 1 döndürür?

 

Bu adamı seviyorum :-)

Sadece bu forumda mı yazıyorsun yoksa başka linklerin var mı?

Bunu bir sahnede yapıyorsanız, biletlerle nereye gidebilirim?

 

sadece bu forum

eddie sipariş seçme işlevi hakkında bir şey biliyor musunuz?

 
boopa26 :

O zaman neden döngü kullanan kodu gönderdiniz?

döngü kodu, aynı işlevleri döngü olmadan yapmak için farklı yazılabilir. misal

döngü yok ama aynı sonuç. boopa26, döngüler sırasında döngüler için koşulların olup olmadığını tercih eder

Kod yazmayı bilmeden kod yazabileceğinizi düşünüyorsunuz. Fonksiyonlar alakasız.

Döngüler için döngüler temel matematik sırasında koşullar varsa nasıl yapılacağını biliyorum. bu iyi bir başlangıç WHRoeder. c programlama c programlamadır. mql4, mql4'tür. NİYE YA? FONKSİYONLAR nedeniyle

Ve kodunuzun neden hala çalışmadığını merak ediyorsunuz? "1. adımı" izlemiş ve "C" de düzgün bir şekilde kodlamayı öğrenmiş olsaydınız "temel bilgileri" hala bilmediğiniz için, MQL'de kodlama konusunda çok daha usta olurdunuz (çünkü C ve C++'a benzerdir). )!

"İşlevleri" anlamakta bile başarısızsınız (3. adım!) Ne zamandan beri " OrderSelect() " ve tamsayı, belgeler bir Boole döndürdüğünü açıkça belirttiğinde? "OrderClose()" sonucunu veya kodunuzun herhangi bir bölümünde bir çalışma zamanı hatası oluşup oluşmadığını bile kontrol etmiyorsunuz!

Sonucunuz: "Yanmış kömür" ile bitirdiniz ve tavsiyemizi almayı reddettiğiniz için zamanımızı da boşa harcıyorsunuz!

Neden: