uzman danışman - çeşitli sorular - sayfa 41

 

Bugün aptalca şeyler denedim, birkaç kez eski EA sürümünü denedim, tüm Açık Siparişleri kapatıyor.
Şimdi kafam karıştı.

---

Ama yine de basit Bid ve Ask yerine MarketInfo() kullanıyorum.

 

Genellikle en iyi neyin işe yaradığını keşfetmek için hepsini denerim.

Gerektiğinde tüm sırayı kapatan bir betiğim var.

         for ( int order= 0 ; order<= OrdersTotal ()- 1 ; order++)
           {
             bool selected= OrderSelect (order, SELECT_BY_POS );
              {
               if (selected== 1 )
                 {
                   bool close= OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (), 3 , clrNONE );
                 }
              }
           }
Ancak gördüğünüz gibi hiçbir şey kontrol edilmiyor, bu nedenle siparişlerin kapalı olup olmadığını görsel olarak doğrulayabileceğiniz manuel uygulama için.
 
whroeder1 :
  1. Birden fazla siparişin varlığında (bir EA çoklu çizelge, birden fazla EA, manuel ticaret)
Max Enrik : RefreshRates() Onu nereye koyacağımı anlamadım.
Soruyu soruyorsun, cevabını alıyorsun ve görmezden gelip tekrar soruyorsun. Düşüş yok, Yenileme Oranı yok.

 
whroeder1 :
Soruyu soruyorsun, cevabını alıyorsun ve görmezden gelip tekrar soruyorsun. Düşüş yok, Yenileme Oranı yok.

Neden tekrar sordum. Üzgünüm aşağıdaki cümleyi anlamadım. ( Çeviremiyorum. )

  • Bunun yerine Öntanımlı Değişkenleri (Teklif/Ask) veya OrderClosePrice() 'ı kullanmak istiyorsanız, uykudan sonra ve birden çok sunucu çağrısı arasında RefreshRates yapmanız gerekir.
 

@Marco

Değiştirdikten sonra JPY doğru fiyatı göstermiyor ve emir açmıyor.

 
Kod parçacığı var mı?
 
Marco vd Heijden :
Kod parçacığı var mı?

Hadi bakalım.

 void buyorder()
 {
  Ticket = OrderSend ( _Symbol , OP_BUY , lotsize, MarketInfo ( OrderSymbol (), MODE_BID ), slippage, sl, tp, "trade panel" , magic, 0 , clrRed );
   return ;
 }
 
Ticket = OrderSend ( _Symbol , OP_BUY , lotsize, MarketInfo ( OrderSymbol () , MODE_BID ), slippage, 
  1. Seçili bir siparişiniz olmadığı sürece herhangi bir Ticaret Fonksiyonunu kullanamazsınız .
  2. Dönüş kodlarınızı kontrol edin Fonksiyon dönüş değerleri nelerdir? Onları nasıl kullanırım? - MQL4 forumu ve MQL4 Programlarında Sık Karşılaşılan Hatalar ve Bunların Önlenmesi - MQL4 Makaleleri
 
whroeder1 :
  1. Seçili bir siparişiniz olmadığı sürece herhangi bir Ticaret Fonksiyonunu kullanamazsınız .
  2. Dönüş kodlarınızı kontrol edin Fonksiyon dönüş değerleri nelerdir? Onları nasıl kullanırım? - MQL4 forumu ve MQL4 Programlarında Sık Karşılaşılan Hatalar ve Bunların Önlenmesi - MQL4 Makaleleri

#1 MarketInfo yerine Bid kullanabilir miyim?
#2 Aşağıdaki gibi yazabilir miyim?

 void buyorder()
 {
  Ticket = OrderSend ( _Symbol , OP_BUY , lotsize, Bid , slippage, sl, tp, "trade panel", magic, 0 , clrRed );
   if ( Ticket < 0 )
   {
       Print (" OrderSend failed with error: ", GetLastError () );
       return ;
   }
   return ;
 }
 

Sadece grafik sembolü için.

 Ask , Bid , _Period , _Symbol , Symbol (), Period ()

Bunların hepsi grafik sembolü ile ilgilidir.

Grafik sembolü dışındaki sembollerle çalışırken MarketInfo'yu kullanın.

Neden: