[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 183

 

Merhaba.

Lütfen bana iki nokta arasındaki mesafeyi nokta olarak hesaplamanın mümkün olup olmadığını söyler misiniz?

Sürümüm aşağıda gösteriliyor, ancak başlangıçta amaçlandığı gibi çalışmıyor.

Şimdiden teşekkür ederim.

   int g;
   double maHX_fast= iMA ( NULL ,fast_maHX_timeframe,fast_maHX_period, 0 ,fast_maHX_method,fast_maHX_price, 0 );
   double maHX_slow= iMA ( NULL ,slow_maHX_timeframe,slow_maHX_period, 0 ,slow_maHX_method,slow_maHX_price, 0 );
  g = maHX_slow - maHX_fast;
   Alert (g);
 
nemo811 :

Sürümüm aşağıda gösteriliyor, ancak başlangıçta amaçlandığı gibi çalışmıyor.

Bir hata bulundu. İşte çalışan bir sürüm:

   double g;
   double maHX_fast= iMA ( NULL ,fast_maHX_timeframe,fast_maHX_period, 0 ,fast_maHX_method,fast_maHX_price, 0 );
   double maHX_slow= iMA ( NULL ,slow_maHX_timeframe,slow_maHX_period, 0 ,slow_maHX_method,slow_maHX_price, 0 );
  g = (maHX_slow - maHX_fast)/ Point ;
   Alert (g);
 

Güzel gün....

Bir emrin kapanış fiyatının değeri, aynı döviz çiftinde bir terminalden diğerine nasıl transfer edilir?

 
TANKER :

Güzel gün....

Bir emrin kapanış fiyatının değeri, aynı döviz çiftinde bir terminalden diğerine nasıl transfer edilir?


Bu soruyu soruyorsan, muhtemelen kendin yapamayacaksın. bir programcı bulmanız sizin için daha iyi olacaktır.
 

Herkese iyi akşamlar!

Diziler hakkında aşağıdaki soru vardı.

Diyelim ki belirli bir dalgalanmanın varlığı için n çubuğu analiz etmemiz, onu seçmemiz, bir diziye koymamız ve sonra onunla çalışmamız gerekiyor...

Aşağıda küçük bir kod var, yorumlardan anlaşılacağını düşünüyorum.

Mantık şudur:

1. Gerekli çubuk sayısını ayarlayın.

2. Her şeyi bir döngü içinde kaydırın.

3. Verilen koşulun yerine getirilmesini arıyoruz ( close_1>close_2&&close_2<close_3 ).

4. Koşul sağlanırsa, kapanış_1 ve kapanış_2 kapanış fiyatı arasındaki farkı hesaplarız.

Ve sonra soruların kendileri:

1. Bir dizi nasıl doğru oluşturulur ve alınan fark değerleri oraya nasıl yazılır (tabii ki dizi boyutu alınan değerlerin sayısına bağlı olarak belirlenir) ???

2. Dizideki eleman sayısını hesaplayın ve görüntüleyin ???

3. Örneğin 3, 6, 7 elemanı seçin ve toplamlarını hesaplayın ???

4. Ve son olarak, örneğin, Print / Alert'ta yalnızca tek bir öğeyi değil, tüm diziyi doğrudan görüntülemek için ???

 #property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link       "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
   //определяем переменные
   int i, bars;
   double close_1, close_2, close_3; //цена закрытия
   double diff; //вычисление разности close_1 и close_2
   double Mas[]; //массив куда надо заносить данные
   
   
   //устанавливаем значения переменных
   bars= 60 ; //количество баров для анализа
   
   for (i= 1 ;i<=bars;i++)
   {
      close_1= iClose ( NULL , PERIOD_M1 ,i);
      close_2= iClose ( NULL , PERIOD_M1 ,i+ 1 );
      close_3= iClose ( NULL , PERIOD_M1 ,i+ 2 );
      
       //условие для отбора в массив
       if (close_1>close_2&&close_2<close_3) //если выполняется это условие, тогда
      {
         diff=close_1-close_2; //считаем разность и записываем это дело в массив 
         
         /*
         Собственно вопросы:
         1. Как правильно сформировать массив и записать туда полученные значения diff ???
         2. Посчитать и вывести количество элементов в массиве ???
         3. Выбрать например 3, 6, 7 элемент и посчитать их сумму ???
         4. И последнее, непосредственно вывести например в Print/Alert весь полученный массив, а не только отдельно взятый элемент ???
         */
         
         //Это просто вывод, чтобы удостовериться что наше условие работает, можно потереть... 
         Alert ( "i " ,i, " diff: " , DoubleToStr (diff, 5 ));
         
      }
   }


   return ( 0 );
  }
//+------------------------------------------------------------------+
Peki, netlik için bir resim, hangi koşulu işliyoruz. :))

Hepinize şimdiden teşekkürler!

 
NickXXX :

Herkese iyi akşamlar!

Diziler hakkında aşağıdaki soru vardı.

Diyelim ki belirli bir dalgalanmanın varlığı için n çubuğu analiz etmemiz, onu seçmemiz, bir diziye koymamız ve sonra onunla çalışmamız gerekiyor...

Kelime göstergesinden sonra gülün.

Bir gösterge oluşturmak daha kolaydır, zaten sekiz arabellek dizisine sahiptir, tüm mantığı ona kaydırın ve ardından gerekli öğelere iCustom aracılığıyla erişin

Print/uyarıda tüm dizi bir şekilde okunamaz, ancak yineleme ve bir döngüde uzun bir dize oluşturma yoluyla oldukça mümkündür.

3. Örneğin 3, 6, 7 elemanı seçin ve toplamlarını hesaplayın ???

Ya şaka yapmıyoruz ya da belgeleri okuyoruz.

double Summa=Mas[3]+Mas[6]+Mas[7];

Önerilen okuma https://book.mql4.com/ru/variables/arrays

https://docs.mql4.com/ru/array

 
splxgf :

Kelime göstergesinden sonra gülün.

Bir gösterge oluşturmak daha kolaydır, zaten sekiz arabellek dizisine sahiptir, tüm mantığı ona kaydırın ve ardından gerekli öğelere iCustom aracılığıyla erişin

Print/uyarıda tüm dizi bir şekilde okunamaz, ancak yineleme ve bir döngüde uzun bir dize oluşturma yoluyla oldukça mümkündür.

Ya şaka yapmıyoruz ya da belgeleri okuyoruz.

double Summa=Mas[3]+Mas[6]+Mas[7];

Önerilen okuma https://book.mql4.com/en/variables/arrays

https://docs.mql4.com/ru/array

Evet, miktarı soramazsınız.) Ve burada göstergeden bahsetmiyoruz. Bu, dizilerle normal şekilde başa çıkabilmem için daha çok bir örnek.

Okumak için önerilen makaleyi zaten gördüm, bu sorunla başa çıkmama yardımcı olmadı.

Bu nedenle, soru güncelliğini koruyor... Bu örnekte bir dizi nasıl oluşturulur??? Netlik için kodu sağlarsanız çok minnettar olurum. Bu, söylenenleri anlamayı kolaylaştırır.

 

göstergeleri dumanlamak daha iyidir, tüm hesaplamalar çubuklara bağlıdır ve çubukların numaralandırılması sıfırdan başlar ve dizi her yeni çubukla değişir. İndikatörün kullanılması dizilerle çalışma mantığını sisteme kaydırmanızı sağlar, ayrıca görsel özellikler katacaktır, ayrıca uzmandan basit bir kullanım.

Bir gösterge yapın, aksi takdirde dizinin hesaplanan öğelerini grafikteki çubuklara bağlamak çok zordur.

 
splxgf :

göstergeleri dumanlamak daha iyidir, tüm hesaplamalar çubuklara bağlıdır ve çubukların numaralandırılması sıfırdan başlar ve dizi her yeni çubukla değişir. İndikatörün kullanılması dizilerle çalışma mantığını sisteme kaydırmanızı sağlar, ayrıca görsel özellikler katacaktır, ayrıca uzmandan basit bir kullanım.

Bir gösterge yapın, aksi takdirde dizinin hesaplanan öğelerini grafikteki çubuklara bağlamak çok zordur.

Peki, gösterge hakkında net, içindeki her şeyi hesaplamak ve değerleri Uzman Danışmana göndermek daha iyidir.

Ama burada soru biraz farklı, diziyi verilerle dolduramıyorum, bana sıfır gösteriyor. Bunu tam olarak anlamak istiyorum.

Yine bu örnekte... Çubuklara bir bağlamam var, i'yi sırayla takip edin ve gerekli koşulu close_1>close_2&&close_2<close_3 (sadece bir örnek için aldım).

Ve şimdi en ilginç diff=close_1-close_2'yi hesapladık. Şimdi bu diff değeri bir diziye nasıl yerleştirilir ???

Boyut ile, ek bir int n değişkeni yapmak ve if koşulunda 1 (n++) artırmanın mümkün olduğunu düşünüyorum, sadece koşulun kaç kez çalıştığını ve bu sayıyı boyut olarak alın.

Ama yine de, diff değerini bir diziye nasıl koyabilirim???

 
NickXXX :

Peki, gösterge hakkında net, içindeki her şeyi hesaplamak ve değerleri Uzman Danışmana göndermek daha iyidir.

Ama burada soru biraz farklı, diziyi verilerle dolduramıyorum, bana sıfır gösteriyor. Bunu tam olarak anlamak istiyorum.

Yine bu örnekte... Çubuklara bir bağlamam var, i'yi sırayla takip edin ve gerekli koşulu close_1>close_2&&close_2<close_3 (sadece bir örnek için aldım).

Ve şimdi en ilginç diff=close_1-close_2'yi hesapladık. Şimdi bu diff değeri bir diziye nasıl yerleştirilir ???

Boyut ile, ek bir int n değişkeni yapmak ve if koşulunda 1 (n++) artırmanın mümkün olduğunu düşünüyorum, sadece koşulun kaç kez çalıştığını ve bu sayıyı boyut olarak alın.

Ama yine de, diff değerini bir diziye nasıl koyabilirim???

Dinle, muhtemelen şu anda çok açık konuşuyorum, ama anladığım kadarıyla bu örnekte bir komut dosyası kullanıyor olmam canını sıkıyor. Gösterge hakkında yazarken bunu mu demek istediniz? Evet ise, elbette tüm dinamik hesaplamaları indikatörde veya doğrudan Expert Advisor'da yapıyorum. İşte test için aptalca, bir kez başlattım, baktım ve kodu düzenledim.)))

Önceki soru hala geçerli. Dizinin konusu açıklanmadı.)

Neden: