Sultonov'un sistem göstergesi - sayfa 25

 
Maxim Kuznetsov :

Tüccarlar Excel ile çalışır. Turnusol kağıdı gibi. Tablolara aşina değilseniz, o nasıl bir tüccar? Bütçeleri ve parayı nasıl sayıyor?

Ve programcı Excel sayfasını MQL programına aktaramazsa, yine de pratik yapmalıdır :-)

Yusuf düşüncelerini ifade etmeye çalışıyor (temelde katılmadığım gerekçelerle bile), ama daha da kötü bir şey yapıyorsun - basit yardım yerine seni gereksiz şeyleri öğrenmeye zorluyorsun. Ve aynı zamanda, herkes programlamaya başlamayacağını ve formüllerini mql'ye aktarmayacağını mükemmel bir şekilde anlar. Sadece alay eder ve bir insandan aylar, hatta yıllar alırsın.

Hmm, evet, doğrudan bir excel sayfasına nasıl yazılacağını hayal edemiyorum - bu kendi başına oturmak ve karışıklığı çözmek - tablolar çok akıllıca iç içe geçmiş - bu yüzden anlamak için zaman harcamanız gerekecek ve siz işi TOR'a göre de değerlendirmek gerekir.

Ek olarak, yine deneyimlerime göre, algoritmayı Excel'den yeniden yazdığımda mantıksal hatalar buldum, çünkü ayrıca ne yazdığımı düşündüm - Excel'de hayal kurmak genellikle uygundur.

Ayrıca, dosyanın kendisini eklemenizi tavsiye ederim.

Bu nedenle, gereksiz öğrenmeyi zorlama konusundaki argümanlarınızı temelsiz ve asılsız buluyorum.

Eğer becerileriniz varsa, o zaman neden bir insanı alıp uzaktan TK'yi kafasından telepatik olarak okuyarak yardım etmiyorsunuz?

 

Bulmaca çözmekten bıktım. Açıklamalı ilk sayfada olduğu gibi bir ekran görüntüsü alın https://www.mql5.com/en/forum/305148 . Bilgileri daha sindirilebilir kılmak için, hesaplamayı sığ bir geçmiş üzerinde yapın, ne kadar az olursa o kadar iyi (sizi anlamak çok daha kolay olacaktır). Yardım almak istiyorsanız, metin rulolarınızı sıkıştırın, kimse büyük bir metni okumaz, içine dalmayın.

Расчет коэффициентов
Расчет коэффициентов
  • 2019.02.28
  • www.mql5.com
Нужно погонать коэффициенты к 1-7 следующим образом: A1*k1+B1*k2=I1 A2*k1+B2*k2=I2 A3*k1+B3*k2+C3*k3=I3 A4*k1+B4*k2+C4*k3+D4*k4=I4 и так далее...
 

Kaydırılan satırın ilk değerleri şunlardır:

1.1376 1.1377 1.1375 1.1361 1.1358

Bunu nasıl yaptın:

x1 x2 x3 x4 y

1.1376 1.1376 1.1377 1.1375 1.1361

Yani x1 ve x2 aynı satırlar mı? 1.1358'den başlayan C 5 nereye gitti?
 
Yousufkhodja Sultonov :

sabit

Hesaplanan tablonun tamamının ekran görüntüsünü alın.

 
forexman77 :

Hesaplanan tablonun tamamının ekran görüntüsünü alın.

Excel dosyasını hemen sıkıştırmak daha iyidir ve bununla ilgili sorularınız var. Aksi halde sonsuza kadar devam edecektir. Sonunda Yusuf'a işkence ediyorsun. Yapamaz.
 
Yuriy Asaulenko :
Excel dosyasını hemen sıkıştırmak daha iyidir ve bununla ilgili sorularınız var. Aksi halde sonsuza kadar devam edecektir. Sonunda Yusuf'a işkence ediyorsun. Yapamaz.

İyi ikna olmuş, kendiniz bir ekran görüntüsü yayınlayın, geliştirmeye katkıda bulunun. Yarın kontrol edeceğim.

Cevap ne olacak ve merhaba. Net bir bilgi olmayacak, sonuç olmayacak.

 
forexman77 :

Hesaplanan tablonun tamamının ekran görüntüsünü alın.

Endişelenmeyin, şu anda program tamamen düzeltildi.

 
Yuriy Asaulenko :
Excel dosyasını hemen sıkıştırmak daha iyidir ve bununla ilgili sorularınız var. Aksi halde sonsuza kadar devam edecektir. Sonunda Yusuf'a işkence ediyorsun. Yapamaz.

Yuri, internetten de takip ediyor musun?

 
Yousufkhodja Sultonov :

Yuri, internetten de takip ediyor musun?

Evet, ara sıra. Ama yine de bunun bir kukla olduğundan eminim ve sıfırdan patlamalar sistemin kendisinin kararsızlığıdır.
 
Yousufkhodja Sultonov :

Yani, burada gösterge boş.

Bu boşluk, bir örnek için basit bir MA göstergesi uygular, ancak hız açısından optimal olmayan, ancak öğrenme için daha az stresli bazı basitleştirmelerle durumunuza uyarlanmıştır.

Göstergenizi yazmak için, işlevin gövdesine hesaplama kodunu yazmanız yeterlidir.

 void Soltonov( int pos) // основной расчет индикатора бара pos. В массиве X, размерностью 13 находятся значение цены 13 бар, начиная от позиции pos

şu anda 3 satır şeklinde 13 periyotlu bir MA hesaplaması var.

Neden varsayılan olarak 13 aldım? Çünkü hesaplama için şu anda 13 fiyat değeri kullandığınızı kendiniz söylediniz.

Bu 13 değer X dizisindedir (X[0] ila X[12])

Bu fonksiyonun gövdesindeki bu 13 değerden bir hesaplama yapmanız ve değeri SoltonovBuffer[pos] gösterge tamponuna yazmanız yeterlidir. Tüm gösterge otomatik olarak oluşturulacaktır.

 //+------------------------------------------------------------------+
//|                                                     Soltunov.mq5 |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link        "https://www.mql5.com/ru/users/yosuf"
#property version    "1.00"
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_plots    1
//--- plot Soltonov
#property indicator_label1    "Soltonov"
#property indicator_type1    DRAW_LINE
#property indicator_color1    clrMagenta
#property indicator_style1    STYLE_SOLID
#property indicator_width1    1

//--- indicator buffers
double          SoltonovBuffer[]; // это буфер линии индикатора
double          X[];               // это вспомогательный массив для значений цены
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   SetIndexBuffer ( 0 ,SoltonovBuffer, INDICATOR_DATA );  
   ArrayResize (X, 13 );                       // задаем размер динамического массива X - 13
   ArraySetAsSeries (X, true );               // для удобства обучения устанавливаем индексацию массива как в таймсерии
   ArraySetAsSeries (SoltonovBuffer, true );   // для удобства обучения устанавливаем индексацию массива как в таймсерии
   ArrayInitialize (SoltonovBuffer, EMPTY_VALUE ); // инициализируем буфер индикатора пустыми значениями

//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const int begin,
                 const double &price[])
  {
   int N=rates_total-prev_calculated;
   if (N> 1 && rates_total> 12 ) // если осуществляем первый вход или была задержка больше времени одного бара, выполняем инициализацию всех баров
     {
       for ( int i=rates_total- 1 ; i> 11 ; i--)
        {
         ArrayCopy (X,price, 0 ,i- 12 , 13 );
         Soltonov(rates_total- 1 -i);
        }
       ArrayCopy (X,price, 0 ,rates_total- 13 , 13 );
       return (rates_total);
     }
   else if (N== 1 ) ArrayCopy (X,price, 0 ,rates_total- 13 , 13 );     // если новый бар
   else   X[ 0 ]=price[rates_total- 1 ];                           // если новый тик без образования нового бара
   Soltonov( 0 );
   return (rates_total);
  }
//+------------------------------------------------------------------+
// Писать код в этой функции!
//+------------------------------------------------------------------+
void Soltonov( int pos) // основной расчет индикатора бара pos. В массиве X, размерностью 13 находятся значение цены 13 бар, начиная от позиции pos
                       // X[0]- значение цены бара с номером pos
                       // X[1]- значение цены бара с номером pos+1
                       // ....
                       // X[12]- значение цены бара с номером pos+12
  {
   double Sum= 0 ;                         // создаем переменную для подсчета суммы баров
   for ( int i= 0 ;i< 13 ;i++) Sum = Sum+X[i]; // суммируем 13 баров
   SoltonovBuffer[pos]=Sum/ 13 ;           // помещаем в значение индикаторного буфера среднее арифметическое 13 цен
  }
//+------------------------------------------------------------------+

MT5'ten F4'e basın ve ME'ye girin (MetaEditor). İçinde özel bir gösterge oluşturun (Ctrl + N), oluştururken bir ad belirtin, örneğin " Soltunov " (varsayılan olarak buna sahibim). Kod oluşturulduğunda, tüm bu kodu benim boşluğumla değiştirin.

Ve programlama öğrenmeye başlayın.

Öncelikle MT5 ayarları çok büyük değil (5000 yeterlidir) penceresindeki maksimum çubukları ayarlamanızı tavsiye ederim.

MQL5 dilinde uzmanlaşmak için herhangi bir kitap okumanıza gerek yok. İlgilenilen fonksiyona veya kelimeye tıkladıktan sonra F1 tuşunu kullanarak yardımı kullanmanız yeterlidir. Ayrıca yardımdaki aramayı kullanın.

hareketli gife bakın (resme tıklamanız gerekir):


Ayrıca, değişkenlerdeki değişiklikleri izleme yeteneği ile programı adım adım modda geçirmek için kesme noktası ayarlarıyla ME'de yerleşik hata ayıklayıcıda hemen ustalaşmanızı şiddetle tavsiye ederim.

Ayrıca animasyonlu gife de göz atın


Yusuf'a başarılar!
Sorular olacak, eğer bilimsel dürtme yöntemi yardımcı olmazsa - utanmayın - sorun.

Sanırım tüm dünyaya yardım edeceğiz.

Dosyalar:
Soltonov.mq5  8 kb