Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 952

 
vladzeit :

***

1. Mevcut enstrüman için geçerli fiyatı isteyin.

***

2.1. Güncel fiyat Puan >= 100 puan ise pozisyon açıyoruz.

***

Bir boşluk yakalamak ister misiniz?

 
Vladimir Karputov :

Bir boşluk yakalamak ister misiniz?

Vladimir, ne yazık ki, Gap'in ne olduğunu doğru anladığımdan emin değilim )

Pazara girmek, almak veya satmak için puan sayısı kadar fiyat değişikliğinin şart olacağı basit bir algoritma uygulamak istiyorum ... önemli değil.

Sonuç olarak, bir sembolün mevcut fiyatını nasıl elde edeceğimi, onu yerel veya global bir değişkende saklamayı ve oradan olaya göre almayı ve sıfıra sıfırlamayı öğrenmek istiyorum.

Genel olarak, esas olarak pazara giriş noktalarını belirlemek için onunla çalışın.

Özellikle çokça yazdığınız danışman örnekleriniz sayesinde mql5'te ustalaşmaya başladım, teşekkür ederim)

Algoritmalarınızı eklemek için örneklerinizden bir şekilde çıkıyor, ancak mevcut fiyatı alıp bir değişkene kaydetmekle kafam karıştı.

 
vladzeit :

***

Pazara girmek, almak veya satmak için puan sayısı kadar fiyat değişikliğinin şart olacağı basit bir algoritma uygulamak istiyorum ... önemli değil.

***

Şu anki tikteki fiyatı hatırlarsanız, bir sonraki tikte bu fiyatın ya hiç değişmeyebileceğini ya da çok az puanla değişebileceğini anlamalısınız.

Bu nedenle, arzunuzu netleştirmeniz gerekir:

  • örneğin, her N saniyede bir geçerli fiyatı alın
  • cari fiyatı yalnızca yeni bir çubuğun doğum anında alın
  • ...
  • ve ancak o zaman bu fiyatı önceki hafızaya alınmış değerle karşılaştırın.

 
Vladimir Karputov :

Şu anki tikteki fiyatı hatırlarsanız, bir sonraki tikte bu fiyatın ya hiç değişmeyebileceğini ya da çok az puanla değişebileceğini anlamalısınız.

Bu nedenle, arzunuzu netleştirmeniz gerekir:

  • örneğin, her N saniyede bir geçerli fiyatı alın
  • cari fiyatı yalnızca yeni bir çubuğun doğum anında alın
  • ...
  • ve ancak o zaman bu fiyatı önceki hafızaya alınmış değerle karşılaştırın.

Mmm ... Bu özellikleri düşünmedim)

  • cari fiyatı yalnızca yeni bir çubuğun doğum anında alırsınız.
Bu örnek benim için daha faydalı olacak.
 
vladzeit :

Mmm ... Bu özellikleri düşünmedim)

  • cari fiyatı yalnızca yeni bir çubuğun doğum anında alırsınız.
Bu örnek benim için daha faydalı olacak.

Akşam (geç) bir örnek göstermeye çalışacağım.

 

Tünaydın!
Göstergeyi hızlandırmaya çalışıyorum. Çubuk indeksleri ile karşılaştırılması gereken sürelere sahip bir dizi olduğu için frenleme meydana gelir ve burada frenleme meydana gelir. Zaten kontrol ettim, indeksli bir dizi hazırlanıp çubuğun indeksleri ile karşılaştırılıyorsa 40K eleman 7 saniyede geçiyor ama zamanları olan bir dizi varsa 140 saniye sürüyor. Göstergeyi hızlandırmanın püf noktaları var mı?

   bool FindArr( int Bar )
     {
       int Size=CheckSizeTime;
       for ( int i=restBars; i<Size; i++)
        {
         datetime BarTime= iTime ( NULL , PERIOD_CURRENT ,Bar);
         if ( BarTime == ArrCol.BarTimeArray[i] )
           {
            restBars++;
             return ( true );
           }
        }
       return ( false );
     }
 if (prev_calculated== 0 )         
         for ( int i= 0 ;i<rates_total;i++)
           {
             if (Arr.FindArr(i))
              {
               ColorSectionBuffer[i]=low[i];
               ColorSectionColors[i]= 0 ;
              }
             else
              {
               ColorSectionBuffer[i]= 0 ;
               ColorSectionColors[i]= EMPTY_VALUE ;
              }
           }
 
vladzeit :

Mmm... Bu özellikleri düşünmemiştim)

  • cari fiyatı yalnızca yeni bir çubuğun doğum anında alırsınız.
Bu örnek benim için daha faydalı olacak.
Vladimir Karputov :

Akşam (geç) bir örnek göstermeye çalışacağım.

İşte birisi için her kene için fiyat alma örneği:

 //+------------------------------------------------------------------+
//|                                               Display prices.mq5 |
//|                              Copyright © 2018, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2018, Vladimir Karputov"
#property link        "http://wmua.ru/slesar/"
#property version    "1.000"
//---
#include <Trade\SymbolInfo.mqh>  
CSymbolInfo    m_symbol;                     // symbol info object
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---
   if (!m_symbol.Name( Symbol ())) // sets symbol name
       return ( INIT_FAILED );
   RefreshRates ();
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
//---
   if (! RefreshRates ())
       return ;
   Comment ( "Ask: " , DoubleToString (m_symbol. Ask (),m_symbol. Digits ()), "\n" ,
           "Bid: " , DoubleToString (m_symbol. Bid (),m_symbol. Digits ()));
  }
//+------------------------------------------------------------------+
//| Refreshes the symbol quotes data                                 |
//+------------------------------------------------------------------+
bool RefreshRates ( void )
  {
//--- refresh rates
   if (!m_symbol. RefreshRates ())
     {
       Print ( "RefreshRates error" );
       return ( false );
     }
//--- protection against the return value of "zero"
   if (m_symbol. Ask ()== 0 || m_symbol. Bid ()== 0 )
       return ( false );
//---
   return ( true );
  }
//+------------------------------------------------------------------+

Açıklamalar yarın olacak, bugün zaten uyuyorum.

Yarın, örnek yeni bir barla ilgili olacak.

Dosyalar:
 
Vladimir Karputov :

İşte birisi için her kene için fiyat alma örneği:

Açıklamalar yarın olacak, bugün zaten uyuyorum.

Yarın, örnek yeni bir barla ilgili olacak.

Vladimir'e teşekkür ederim. Teklifleri güncelleme işlevi ile RefreshRates sınıftan   CSymbolInfo Ben zaten biraz tanıştım. Eserlerinde gördüm, işte astarda okudum.

OnTick'te bu işlevi çağırmak ve Yorum'da fiyat değerlerini göstermek de örnekten bana açık.   OnInit'teki mevcut karakteri kontrol etme prosedürü de benim için açık.

Yeni bir bar ile örnek beklerken sizin örneğiniz ile pratik yapacağım, henüz pratikte uygulamadım. Deneyeceğim.


 
fxsaber :

Teşekkürler, düzelttim .

Teşekkürler - şimdi yalnızca dizinleri doğru şekilde yayınlıyor gibi görünüyor.

Ancak, MQL standardı iki tire "\\" sağlarken alt dizinlerin bir "\" ile ayrıldığını fark ettim. Onlar. kod, dosyalara giden yollar oluşturmak için gereklidir ve bir eğik çizgi nedeniyle, ek son işleme olmadan bunu yapmak imkansızdır, belki aynı anda iki eğik çizgi almak mümkün olabilir?

 
Aleksey Vyazmikin :

Teşekkürler - şimdi yalnızca dizinleri doğru şekilde yayınlıyor gibi görünüyor.

Ancak, MQL standardı iki tire "\\" sağlarken alt dizinlerin bir "\" ile ayrıldığını fark ettim. Onlar. kod, dosyalara giden yollar oluşturmak için gereklidir ve bir eğik çizgi nedeniyle, ek son işleme olmadan bunu yapmak imkansızdır, belki aynı anda iki eğik çizgi almak mümkün olabilir?

 Print ( "\\" );