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

 
Alexey Kozitsyn :
Pekala .. Çok derine inmeniz gerektiğini düşünmüyorum, ancak döngüdeki istek hakkında - bu gerçekten gözünüze çarpan ilk şey.

Ve bu verileri bir kez mi yoksa saatte bir mi alması gerekiyorsa? Ne işe yaramaz bir döngü yapmak için bir kez daha?

Biz, sorgulayanın kendisi dışında hiçbirimiz ne istediğini bilmiyoruz. Bu nedenle, kişi yalnızca kendisine tavsiye edilen şeyi tavsiye edebilir - soruyu sorarken telepatlar kulübüne gidip eksikliklerini okumak. Ve biraz kişnemeye karar verenler tarafından alınma.

 
Alexey Kozitsyn :
Troller :) Döngüde fiyat almanız daha iyi olur. Buna göre, dizilerde saklayın.
Boş zamanınızda okuyun )
 
Sorumun sizin için net olmadığını hemen cevaplamak gerekiyordu ve siz "tuz, karabiber ..." Kırgınsınız.
 
STARIJ :

bana göre daha kolay

Uyarı hemen ekranda görüntülenir. Bu tablonun sonu


soruyu okudun mu Bunu kaçırmışlar gibi görünüyor.
 
Romal001 :
Sorumun sizin için net olmadığını hemen cevaplamak gerekiyordu ve siz "tuz, karabiber ..." Kırgınsınız.

Sana ilk cevabımı oku. Sana bir sorusu vardı. Açıkça cevaplasalardı, belki başka bir konuşma olabilirdi.

HANGİ sinyalleri soruyorsunuz?

Peki ya mumların verileri?

 
#property indicator_chart_window
extern int boom = 1 ;
//=================================
void fishka( int ma, int mi, double map, double mip) // ф-ция
{
   ObjectCreate ( "Макс_Мин" , OBJ_TRENDBYANGLE , 0 , Time [ma], map, Time [mi], mip); // Проводим линию
   ObjectSet ( "Макс_Мин" , OBJPROP_RAY , false );     // Выключить свойство бесконечного луча
}

int deinit()
  {

 ObjectsDeleteAll (); // Удалим все объекты
   return ( 0 );
  }

void start()
{  
   string Символ = "GBPUSD" ;
   datetime Первый, Последний;
   int Период= PERIOD_H1 ;

  Последний = iTime (Символ, Период, 0 ); // Прежде всего узнаем дату и время последнего бара
 
if (boom){
   Alert ( "Последний бар на часовом  " ,Последний);}
 
  
   MqlDateTime MqlПервый;               // Теперь получить начало суток, обнулив часы
   TimeToStruct (Последний,MqlПервый);   // Для этого преобразуем время последнего бара в структуру
  MqlПервый.hour= 0 ;

  
  Первый= StructToTime (MqlПервый);             // Терерь надо обратно преобразовать во время
if (boom){
   Alert ( "Первый бар на часовом  " ,Первый);}   // Смотрим начало первого бара суток
  
   int НомерПервого= iBarShift (Символ, PERIOD_H1 ,Первый); // По времени определим номер первого бара суток
if (boom){
   Alert ( "Первый бар на часовом под номером " ,НомерПервого);}

// Можно было просто узнать время начала бара на D1

   // Теперь у нас есть НомерПервого бара, а номер послелнего = 0
   // Найдем на этом интервале номера баров, где макс и мин
   // iHighest и iLowest находят номер бара с макс и мин ценой
 int   БарМакс = iHighest (Символ,   // symbol = инструмента
                Период,           // timeframe = Период
                 MODE_HIGH ,         // Наибольшая цена бара
                НомерПервого+ 1 ,   // Количество баров
                 0 );               // Начальный бар

int   БарМин  = iLowest (Символ,Период, MODE_LOW ,НомерПервого+ 1 , 0 ); // Наименьшая цена бара
                               
if (boom){
   Alert ( "Максимальный бар = " , БарМакс, "  Минимальный бар = " , БарМин);}
                                                                           

 
double max_price= iHigh (Символ, Период, БарМакс); // iHigh и iLow дают макс и мин цены указанного бара
double min_price= iLow (Символ, Период, БарМин);
   
    fishka(БарМакс,БарМин,max_price,min_price); // ф-ция
 if (boom){
   Alert ( "Максимум цены = " , max_price, "  Минимум цены = " , min_price);
 
   Alert ( "Угол = " , ObjectGetDouble ( 0 , "Макс_Мин" , OBJPROP_ANGLE ));} // Теперь хорошо бы узнать угол               
}

sadece bir gün için değil, tarihte her şey bir yılan gibi bükülmüş, bir şeyler yolunda gitmiyor, teknik ilgi, her yerim kaşınıyor))

 

İki arabanın kesiştiği yerde fiyatı nasıl doğru ve daha doğru bir şekilde alacağımı söyle


 
missha32 : İki noktanın kesiştiği yerde fiyatı nasıl daha doğru ve daha doğru bir şekilde alacağımı söyle

Çubuklar arasındaki kesişme ve hesaplama çubuklarla gerçekleştirilir. Yoksa daha kesin mi olmalı? Enterpolasyon yapabilirsiniz, ancak gerekli mi? Yavaş Ma aynı anlama sahiptir.

 
STARIJ :

Çubuklar arasındaki kesişme ve hesaplama çubuklarla gerçekleştirilir. Yoksa daha kesin mi olmalı? Enterpolasyon yapabilirsiniz, ancak gerekli mi? Yavaş Ma aynı anlama sahiptir.

Bu şekilde, MA1(1)>MA2(1) ve MA1(2)<=MA2(2) - kesişim gerçeği budur. Parantezler, MA1 ve MA2 değerinin alındığı çubuğu gösterir.
 

Çubuklar arasında MA geçişi meydana gelir - iyi bir örnek yakaladı

Kavşağın solundaki ve sağındaki çubuklardaki MA, kesişme noktasındaki fiyattan farklıdır. Anladığım kadarıyla, sorgulayıcının komşu çubuklardan birindeki değer yerine tam olarak kesişme noktasındaki değere ihtiyacı var. Tam olarak bu değer, doğrusal enterpolasyon kullanılarak elde edilebilir - sonuçta, çubuklar arasındaki MA, düz çizgi parçaları tarafından oluşturulur. Veya komşu çubuklardaki her MA'nın koordinatlarını alın. Analitik olarak 2 düz çizgi çizin ve kesişme noktalarını hesaplayın. 2 benzer üçgeni göz önünde bulundurarak hesaplayabilirsiniz. Bir karşı soru ortaya çıkıyor - bu neden gerekli? Maliyetler sonucun değeri ile orantılı mı? Sonuçta, MA parametrelerinde minimum bir değişiklikle kesişme noktaları değişecektir. Büyük olasılıkla, bu kurs projesinin başkanı tarafından istenmektedir.

Neden: