MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 717

 
Vladimir Pastushak :

Sayesinde. Üst sınıf yöntemini çağıramıyorum.

Hatırladığım kadarıyla bu ebeveyn :: yöntemiyle yapılıyor.

Yöntemin kendisinin ebeveynde bir gövdesi var mı?

 
Artyom Trishkin :

Yöntemin kendisinin ebeveynde bir gövdesi var mı?

evet var

İşte kod, neyi yanlış yapıyorum ???

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

class A

  {

public:

   virtual int Test_A()

     {

      return 100;

     }

  };

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

class B :public A

  {

public:

   virtual int Test_A()

     {

      return 200;

     }

  };


B b;

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

void OnStart()

  {

   Comment (A::b.Test_A());

  }

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


 
Ekstremin fiyatının değerini öğrenebileceğiniz bir zikzak göstergesi var, ekstremumdan geleceğe (ertesi gün) bir trend çizgisi çizmem gerekiyor.Bunu koordinatlarını bilmeden nasıl yapabilirim? ikinci nokta ve ilk noktanın Zaman değeri?
 
Vladimir Pastushak :

İşte kod, neyi yanlış yapıyorum ???

hayır, bu işe yaramaz

Test() gövde işlevini B sınıfına yazarak, eski Test() işlevini kapattınız ve şimdi, sınıfın bir örneğini bildirirken ve Test() yöntemini çağırırken, B::Test() her zaman yürütülür, ancak B::Test() yazmamış olsaydınız, o zaman A::Test() her zaman çalışırdı

işte yaptığım bir örnek. Deney

 //+------------------------------------------------------------------+
class A
  {
public :
   virtual int Test_A()  { Print ( __FUNCSIG__ ); return 100 ;  }
  };

//+------------------------------------------------------------------+
class B : public A
  {
public :
   virtual int Test_A()  { Print ( __FUNCSIG__ , " = " , A::Test_A()); return 200 ;   }
  };

B b;

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

void OnStart ()

  {
   Print ( __FUNCSIG__ , " = " ,b.Test_A());
  }
//+-------------------------------------------------------------
 
Merhaba. Sıralı hesap nasıl yapılır? Böylece SATIŞ yeri için önce 1, sonra 2 oldu ve bu böyle devam etti ... ta ki sipariş olmadığında güncellenene kadar. Söylemek!
         if ((fMarketOrderss( OP_SELL )>= 1 )) { 
       if ( (( Bid -Opens)/ma+Times/ 1440 ) > SELL ) {
if ( OrderSend ( Symbol (), OP_SELL , 0.01 , Bid , 3 , 0 , 0 , NULL , 321 , 0 , 1 )> 0 ){} }}
 
Hmm, garip, kimse cevap vermiyor.
 
Rustam Bikbulatov :
Hmm, garip, kimse cevap vermiyor.

Yazınızı anlayan yok sanırım :)


 

Merhaba! Dış değişkenler için Uzman Danışman nasıl yapılır, örneğin her iki pozisyonun belirli bir tekli sipariş hacmindeki açık pozisyonlar

tek bir emrin hacmini ayarlayın = 1.35 lot, açılan pozisyonların toplam hacmi 500 lot, uzman 1.35 lot hacimli bir alış emri açar, ardından 1.35 lot hacimli bir satış emri açar,

500 alış lotu ve 500 satış lotu açılıncaya kadar her şey tekrar eder ve lot sayısı 1,35'in katı olmadığı için son sipariş 1,35'ten az olmalıdır.

 

Selamlar.

Bezubitok emri kar puanlarına ulaştığında sl'yi emir açma seviyesine aktararak emri değiştiren bir fonksiyon yaptım. Doğru çalışıyor gibi görünüyor, ancak test ederken (ve tüm onay işaretlerinde), her 10-20'de bir, toplu olarak günlüğe 1 hata mesajı yazar.

Hata yok ama sonuç bilinmiyor

 void Bezubitok(){
   for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--){
       if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )){
         if ( OrderSymbol () == Symbol () && OrderMagicNumber () == magic){
             if ( OrderType ()== OP_BUY ){
               if ( OrderStopLoss ()!= OrderOpenPrice () && Ask - OrderOpenPrice ()>bezubitok* Point ){
                   double sl1 = OrderOpenPrice ();
                   if ( OrderModify ( OrderTicket (), OrderOpenPrice (), sl1, OrderTakeProfit (), 0 , Indigo)) {}
                  }
               }
             if ( OrderType ()== OP_SELL ){
               if ( OrderStopLoss ()!= OrderOpenPrice () && OrderOpenPrice ()- Bid >bezubitok* Point ){
                   double sl1 = OrderOpenPrice ();
                   if ( OrderModify ( OrderTicket (), OrderOpenPrice (), sl1, OrderTakeProfit (), 0 , DeepPink)) {}
                  }
               }
            }   
         }
      }
   }

Bunun sebebi nedir ve nasıl aşılır?

 
Andrey Sokolov :

Selamlar.

Bezubitok emri kar puanlarına ulaştığında sl'yi emir açma seviyesine aktararak emri değiştiren bir fonksiyon yaptım. Doğru çalışıyor gibi görünüyor, ancak test ederken (ve tüm onay işaretlerinde), her 10-20'de bir, toplu olarak günlüğe 1 hata mesajı yazar.

Bunun sebebi nedir ve nasıl aşılır?

Hata 1 hata değildir, ancak sonuç bilinmiyor. Mesele şu ki, durağı zaten olduğu fiyattan değiştirmeye çalışıyorsunuz. Değiştirmeden önce, stop fiyatını ayarlamak istediğiniz fiyatla karşılaştırın. Zaten bu fiyata ise, değiştirilecek bir şey yok.