Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 52

 

Herkese selam! Bugün dil öğrenmeye başladım. Durumun her zaman kontrol edileceğini nasıl yazacağımı anlamıyorum.

Bir t süresi için fiyat (kullanıcı tarafından bir ondalık basamaklı kesirli sayılara kadar saniye cinsinden belirtilir, örneğin 15,5 sn.) nokta sayısı kadar düşerse (kullanıcı tarafından bir tam sayı olarak belirtilir, örneğin 5 ), danışman satışı açar

teşekkür etmek!

 
Herkese merhaba. En azından geometrik Brownian hareketinin türüne göre veya (ideal olarak)))) Weierstrass-Mandelbrot, stokastik Hurst üssü ile işlevlerine göre, yüksek kaliteli bir rastgele alıntı oluşturucuya ihtiyaç vardı. Hafta sonu nedeniyle ihtiyaç doğdu, hindi fiyat aralığında hata ayıklamak gerekiyor. iTicks betiğiyle geçinemiyorum. Zaten böyle bir şeyi uygulamaya çalışan var mı yoksa kendim mi yazmam gerekecek? Sitede bir arama hiçbir şey vermedi, ama belki de aradığınız şey, aradığım anahtar kelimelerden bir şekilde farklı olarak adlandırılıyor ...
 
expmaestro :

Herkese selam! Bugün dil öğrenmeye başladım. Durumun her zaman kontrol edileceğini nasıl yazacağımı anlamıyorum.

Bir t süresi için fiyat (kullanıcı tarafından bir ondalık basamaklı kesirli sayılara kadar saniye cinsinden belirtilir, örneğin 15,5 sn.) nokta sayısı kadar düşerse (kullanıcı tarafından bir tam sayı olarak belirtilir, örneğin 5 ), danışman satışı açar

teşekkür etmek!

İşte algoritma. Örneklerden öğrenin.
 
teşekkürler, anlamaya çalışacağım. umarım gerçekten ihtiyacım olan şey budur
 
expmaestro :
teşekkürler, anlamaya çalışacağım. umarım gerçekten ihtiyacım olan şey budur

Lucky'nin dile getirilen ilkeye dayandığından emindim, ancak bunun böyle olmadığı ortaya çıktı. Ardından şu kalıbı deneyin:

 extern int ShiftSec = 15 ;
extern int ShiftPips = 10 ;
//IIIIIIIIIIIIIIIIIII======Глобальные переменные советника======IIIIIIIIIIIIIIIIIIIIII+
datetime    gdt_NewTime;
double      gda_Price[ 0 ][ 2 ];
int         gi_size;
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
//|                  Custom expert initialization function                            |
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
void init()
{
//----
    gi_size = 0;
//---- 
}
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
//|                  Custom expert deinitialization function                          |
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
void deinit()
{
//----
//----
}
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
//|                  Custom expert iteration function                                 |
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
void start()
{       
//----
     if (gdt_NewTime == TimeCurrent ()) return ;
    gdt_NewTime = TimeCurrent ();
     if (gi_size < ShiftSec) { ArrayResize (gda_Price, gi_size + 1 ); gi_size++;}
     else
    {
         //---- Это схема к которой нужно добавить управление ордерами
         if (gda_Price[ 0 ][ 0 ] - Bid > ShiftPips * Point )
         //---- Открываемся BUY
         if (Ask - gda_Price[ 0 ][ 1 ] > ShiftPips * Point )
         //---- Открываемся SELL
         //---- Сдвигаем массив цен на 1 вниз
         double lda_tmp[][ 2 ];
         ArrayResize (lda_tmp, gi_size);
         ArrayCopy (lda_tmp, gda_Price);
         int li_IND0, li_IND1;
         for (li_IND0 = 0 ; li_IND0 < gi_size - 1 ; li_IND0++)
        {
             for (li_IND1 = 0 ; li_IND1 < 2 ; li_IND1++)
            gda_Price[li_IND0][li_IND1] = lda_tmp[li_IND0+ 1 ][li_IND1];
        }
    }
     //---- Собираем цены
    gda_Price[gi_size- 1 ][ 0 ] = Bid;
    gda_Price[gi_size- 1 ][ 1 ] = Ask;
//----
}
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
Kodun işlevselliği kontrol edilmelidir. Zaman aralığı 1 saniyenin katları olarak hesaplanır. Zaman aralığını azaltmak bana göre değil.
 

Söyle bana, lütfen, çizelgede bir kısayol tuşunu nasıl uygulayabilirim? danışmandaki parametrenin değerini değiştirebilmek - mümkün mü? ne yapılmalı?

Değişken türünün bool olduğunu varsayalım - eğer doğru anladıysam, değişken başına yalnızca 2 anahtar gerekecek: TRUE veya FALSE çıkacak.

 

2 benzer dizinin hücre değerlerini hesaplamak için aynı işlevi ancak farklı değişkenlerle kullanmam gerekiyor. Diziler tek boyutludur.

Böyle bir fonksiyon nasıl yazılır? Yani mümkün mü?

Расчет_Массива(Массив_1, 5.0 , 6.0 );                       // Вызов функции

void Расчет_Массива( double array[], double A, double B)   // Сама функция
  {
   for (i= 0 ; i< 10 ; i++)
     {
      array[i]= A+B*i;
     }
  }

Ve bunu daha çok boyutlu dizilerle yapmak mümkün mü? - 2, 3 boyutlu.

-------------

Bir ve işareti (&) eklendi

 void Расчет_Массива( double & array[], double A, double B)   // Сама функция

ve kazandım... :))) Ama neden gerekli olduğunu bilmiyorum - sadece benzetme yoluyla (rastgele) denedim. Bana söylersen, bilmekten memnun olurum. :))

 
Chiripaha :

Söyle bana, lütfen, çizelgede bir kısayol tuşunu nasıl uygulayabilirim? danışmandaki parametrenin değerini değiştirebilmek - mümkün mü? ne yapılmalı?

Değişken türünün bool olduğunu varsayalım - eğer doğru anladıysam, değişken başına yalnızca 2 anahtar gerekecek: TRUE veya FALSE çıkacak.

Bir kütüphane yardımcı olabilir mi?

 // 2.2.3. Функция управляет горячими клавишами терминала МТ4.
 void ServiceMetaTraderHotKeys( int nKeyMode, // Код клавиши-модификатора. Может быть только предопределённым значением из:
                                             // VK_SHIFT, VK_LSHIFT, VK_RSHIFT, VK_CONTROL, VK_LCONTROL, VK_RCONTROL, VK_MENU, VK_LMENU, VK_RMENU, VK_LWIN, VK_RWIN.
                               int nKey);     // Код дополнительной клавиши.

 // 4.1.2. Функция управляет горячими клавишами на указанном графике.
 void ServiceChartHotKeys( int hwndChart, // Системный дескриптор окна, на котором применяются горячие клавиши.
                           int nKeyMode,   // Код клавиши-модификатора. Может быть только предопределённым значением из:
                                         // VK_SHIFT, VK_LSHIFT, VK_RSHIFT, VK_CONTROL, VK_LCONTROL, VK_RCONTROL, VK_MENU, VK_LMENU, VK_RMENU, VK_LWIN, VK_RWIN.
                           int nKey);     // Код дополнительной клавиши.
Bunlar yeni sürümdeki açıklamalardır. Kumbarada parametreler farklı şekilde yerleştirilmiştir.
 
Zhunko :

Bir kütüphane yardımcı olabilir mi?

Bunlar yeni sürümdeki açıklamalardır. Kumbarada parametreler farklı şekilde yerleştirilmiştir.

Evet Vadim, bu soruyu yazarken kütüphanene bakıyordum. Ve altı aydan daha uzun bir süre önce indirdim (ve dün yenisini de izledim). Sadece nasıl olduğunu bilmiyorum, nasıl kullanacağımı bilmiyorum, bu yüzden “bu nasıl yapılabilir” diye sordum - küçük bir örnek gibi. Sonra bunu bir dizi işleviyle kendim yapabildim, ancak burada programlama becerilerimin şu anki seviyesinde tahmin etmek benim için zor.