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

 
Tretyakov Rostyslav # :

Kapanma koşulu oluştuğunda

 //-------------------------------------------------------------------+  Команда на закрытие сетки ордеров
   if ((CountTrade( 0 ) > 1 && CalculiteProfit() >= 0 && OrderGroupCloseSignal()== 0 )||(CountTrade( 1 ) > 1 && CalculiteProfit() >= 0 && OrderGroupCloseSignal()== 1 ))
     {
      flag_close= 1 ;
     }

Burada   koşul CalculiteProfit() >= 0 , bu durumda gerekli kârın hangi fiyattan olacağını hesaplayabilirsiniz   bunlar için   pozisyonları ayarlayın ve fiyatlara ve pozisyonlara bağlı olarak orada kar al veya zararı durdur. Al ve Sat'ın farklı fiyatlarla kapatıldığı gerçeği göz önüne alındığında, bu yalnızca pozisyonların aynı türden olması durumunda uygundur.

 
Andrey Sokolov # :

Burada   koşul CalculiteProfit() >= 0 , bu durumda gerekli kârın hangi fiyattan olacağını hesaplayabilirsiniz   bunlar için   pozisyonları ayarlayın ve orada kar elde edin.

Benim için değil)

EVGENII SHELIPOV koşulların yazarı.

 

Selamlar. Lütfen bana söyle.

MT5 robotunda, grafikte hareketli ortalama gibi bir eğri görüntülemeniz gerekir. Nesnelerden heykel yapmaktan daha "medeni" bir yol var mı, varsa hangisi?

 
Andrey Sokolov # :

Selamlar. Lütfen bana söyle.

MT5 robotunda, grafikte hareketli ortalama gibi bir eğri görüntülemeniz gerekir. Nesnelerden heykel yapmaktan daha "medeni" bir yol var mı, varsa hangisi?

Evet - kendin çıkar
 
Artyom Trishkin # :
Evet - kendin çıkar

Buradaki anahtar kelime "tip" dir. Üçüncü taraf bir göstergeden değil, kendi verilerine sahiptir.

 
Andrey Sokolov # :

Selamlar. Lütfen bana söyle.

MT5 robotunda, grafikte hareketli ortalama gibi bir eğri görüntülemeniz gerekir. Nesnelerden heykel yapmaktan daha "medeni" bir yol var mı, varsa hangisi?

CCanvas'ta değerler çizin.

 
Andrey Sokolov # :

Buradaki anahtar kelime "tip" dir. Üçüncü taraf bir göstergeden değil, kendi verilerine sahiptir.

Bir gösterge yapın ve onu #resource olarak ekleyin
 

Merhaba. Lütfen bana söyle. Ticaret terminalinde ALERT diye bir şey var. Yani fiyat skalasına koyuyoruz ve bu fiyata ulaşıldığında içindeki icra şartlarını belirliyoruz. Ama tek kullanımlık olduğu ortaya çıktı. Neyin aynı uyarı gibi olmayacağını, ancak yeniden kullanılabilir yürütmeyi kim bilebilir. yani paketin şartlarını yerine getiriyor, kapatamazsınız.

 
valentin104 Ticaret terminalinde ALERT diye bir şey var. Yani fiyat skalasına koyuyoruz ve bu fiyata ulaşıldığında içindeki icra şartlarını belirliyoruz. Ama tek kullanımlık olduğu ortaya çıktı. Neyin aynı uyarı gibi olmayacağını, ancak yeniden kullanılabilir yürütmeyi kim bilebilir. yani paketin şartlarını yerine getiriyor, kapatamazsınız.

 // использовать алерт
input bool alert = true ;
// уровень срабатывания
input double trigLv = 0.0 ;
// отклонение от trigLv в пунктах
input int deviation = 30 ; 


// функция взята из https://www.mql5.com/ru/docs/basis/types/double
bool EqualDoubles( double d1, double d2, double epsilon)
  {
   if (epsilon< 0 ) 
      epsilon=-epsilon;
//---
   if (d1-d2>epsilon) 
       return false ;
   if (d1-d2<-epsilon) 
       return false ;
//---
   return true ;
  }

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit () {
   return ( INIT_SUCCEEDED );
}

int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[]
) {
   static bool triggered = false ;
   static datetime time_ = 0 ;
   if (!alert)
     return rates_total;
   if (EqualDoubles(trigLv, close[ 0 ], deviation * SymbolInfoDouble ( NULL , SYMBOL_POINT ))) { // сравнение цены Close с trigLv
     if (time_ != time[rates_total - 1 ])
      time_ = time[rates_total - 1 ];
     else
       return rates_total;
     if (!triggered)
       Alert ( "Level " , NormalizeDouble (trigLv, ( int ) SymbolInfoInteger ( NULL , SYMBOL_DIGITS )), " triggered!" );
    triggered = true ;
  }
   else
    triggered = false ;
  
   return rates_total;
}

MQL5 için kod. Grafiğe istediğiniz sayıda bu tür gösterge ekleyebilir ve uyarı alabilirsiniz.

Dosyalar:
Alert.mq5  5 kb