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

 
Eugen8519 :

Bu işlevi oluşturdum, desteğiniz ve yardımınız için teşekkür ederim.


Rica ederim)
 
Mihail Matkovskij :

İstatistiklere göre dur kalk nasıl hesaplayacağınıza bağlı... Şamdan istatistiklerinin ne olduğu, nasıl hesaplayacağınız çok açık değil.

Burada cevap kanserin ıslığı gibidir ve cevabın her zaman tam olarak bizim sorumuz olması gariptir.

 
darirunu1 :

Burada cevap kanserin ıslığı gibidir ve cevabın her zaman tam olarak bizim sorumuz olması gariptir.

Ne olduğu belli olmayan bir soruya nasıl cevap verebilirsiniz? ... :)

Dur ve al nasıl hesaplanacağını anlamak için, sizin durumunuzda mum istatistiklerini nasıl hesapladığınızı bilmeniz mi gerekiyor? "Mum istatistikleri" oldukça gevşek bir kavram olduğundan ...

Ayrıca, hangi dur ve al oranını istiyorsunuz?... Burada sizin için tam bir ticaret sistemi kurmanız gerekiyor, çünkü problem ifadesini bile bilmiyorsunuz...
 
Mihail Matkovskij :

Ne olduğu belli olmayan bir soruya nasıl cevap verebilirsiniz? ... :)

Dur ve al nasıl hesaplanacağını anlamak için, sizin durumunuzda mum istatistiklerini nasıl hesapladığınızı bilmeniz mi gerekiyor? "Mum istatistikleri" oldukça gevşek bir kavram olduğundan ...

Ayrıca, hangi dur ve al oranını istiyorsunuz?... Burada sizin için tam bir ticaret sistemi kurmanız gerekiyor, çünkü problem ifadesini bile bilmiyorsunuz...

int cnt,bilet,toplam=0;

st = "saat gen. pzt. sal. çar. perş. cuma. \n";

çift cYükseklik, gYükseklik, Maks;

int sat, güneş, pzt, perş, wen, ths, fri; //, NN;

int H = TimeHour(TimeCurrent()); // geçerli saati tanımla

çift NN = H + N*24; // offset tanımla

if (NN>Çubuklar) NN=Çubuklar;

için (int t=0; t<24; t++)

{

intHeightZ=0; intz=0;

için (int i=0; i<=NN; i++)

{

YükseklikZ = MathAbs (Yüksek[i]-Düşük[i])/Nokta ;

z++;

}

Hangi seçenekleri sunuyorsunuz?
 
darirunu1 :

Hangi seçenekleri sunuyorsunuz?
 int cnt,ticket,total= 0 ;

st = "часы общ. пон. вт. ср. чт. пт. \n" ;

double cHeight, gHeight, Max;

int sat, sun, mon, thu, wen, ths, fri; //, NN;

int H = TimeHour( TimeCurrent ()); // определим текущий час

double NN = H + N* 24 ; // определим смещение

if (NN> Bars ) NN= Bars ;

for ( int t= 0 ; t< 24 ; t++)

{

   int HeightZ = 0 ; int z= 0 ;

   for ( int i= 0 ; i<=NN; i++)

  {

    HeightZ = (High[i]-Low[i])/ Point ;

    z++;
  }

}

Anladığım kadarıyla hareketiniz çubuğun yüksekliği olarak hesaplanıyor ( MathAbs'e gerek yoktu).

ve

 double NN = H + N* 24 ;

Burada çubuk sayısını hesaplamaya çalışıyorsunuz... Ama yeni başlayanlar için bunu pozitif bir sayıya ayarlamak daha iyi.

Ortalama çubuk hareketi aşağıdaki gibi hesaplanabilir:

 double avBarMove( int _period) {
   double cmMove = 0 ;
   for ( int i = 0 ; i < _period; i++)
    cmMove += High[i]-Low[i];
   return cmMove / _period;
} 

Şimdi, fonksiyonun sonucuna göre dur ve al hesaplamayı deneyebilirsiniz.

 



İşlevi doğru şekilde konumlandırmaya yardımcı olun

 SendNotification ( "текст" );




Buraya bir pozisyon girildiğini bildirmek için eklendi

 void OPENORDER( string ord)

  {
  
   double priceL=m_symbol.Ask();
   if (ord== "Sell" )      
    SendNotification ( "текст" );

         //--- check for free money
             if (m_account.FreeMarginCheck( Symbol (), ORDER_TYPE_BUY ,my_lot,priceL)< 0.0 )
               printf ( "We have no money. Free Margin = %f" ,m_account.FreeMargin());
             else
       if (!m_trade.Sell(my_lot, Symbol (),m_symbol.Bid(),my_SL,my_TP, "" ))
         Print ( "BUY_STOP -> false. Result Retcode: " ,m_trade.ResultRetcode(),
               ", description of Retcode: " ,m_trade.ResultRetcodeDescription(),
               ", ticket of order: " ,m_trade.ResultOrder());                     // Если sell, то не открываемся
     double priceS=m_symbol.Bid();
   if (ord== "Buy" )
    SendNotification ( "текст" );
 //--- check for free money
             if (m_account.FreeMarginCheck( Symbol (), ORDER_TYPE_SELL ,my_lot,priceS)< 0.0 )
               printf ( "We have no money. Free Margin = %f" ,m_account.FreeMargin());
             else
       if (!m_trade.Buy(my_lot, Symbol (),m_symbol.Ask(),my_SL,my_TP, "" ))
 
         Print ( "Buy -> false. Result Retcode: " ,m_trade.ResultRetcode(),
               ", description of result: " ,m_trade.ResultRetcodeDescription(),
               ", ticket of deal: " ,m_trade.ResultDeal());
   return ;
 }

Ve zaten akıllı telefonuma başarıyla bildirim alıyorum.




Ama nasıl ve nereye eklenecek

 SendNotification

Durdurma kaybına ulaşıldığında mesaj almak veya   profesyonel al ?

 
Eugen8519 :


İşlevi doğru şekilde konumlandırmaya yardımcı olun


Buraya bir pozisyon girildiğini bildirmek için eklendi

Ve zaten akıllı telefonuma başarıyla bildirim alıyorum.


Ama nasıl ve nereye eklenecek

Durdurma kaybına ulaşıldığında mesaj almak veya   profesyonel al ?

OnTradeTransaction'a bakın

 

Eugen8519 :

Ama nasıl ve nereye eklenecek

Durdurma kaybına ulaşıldığında mesaj almak veya   profesyonel al ?

İlk olarak, siparişlerin kapanışını kontrol etmek için bir fonksiyon oluşturmanız gerekir.

 
MakarFX :

İlk olarak, siparişlerin kapanışını kontrol etmek için bir fonksiyon oluşturmanız gerekir.

OnTradeTransaction , sunucudaki herhangi bir durdurma emri tetiklendiğinde tetiklenir.

 
MakarFX :

İlk olarak, siparişlerin kapanışını kontrol etmek için bir fonksiyon oluşturmanız gerekir.

Belki aracılığıyla?

DEAL_REASON_SL
DEAL_REASON_TP