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

 
Sevgili programcılar. Yeni başlayan biri olarak algoritma yazmak benim için zor, onu düzenleyebilirim, bu yüzden lütfen bana yardım edin. Çok minnettar olacağım!!!
Böyle basit bir danışman ve bunun için ihtiyacınız var:

Koşul1 karşılanırsa , o zaman:
-açık SATIŞ emirlerini kontrol edin
-varsa kapatın
- hesaptaki fonların kullanılabilirliğini kontrol edebilirsiniz
- SATIN AL için bir sipariş açın

Koşul2 karşılanırsa aynı, o zaman:
-açık SATIN AL siparişlerini kontrol edin
-varsa kapatın
- hesaptaki fonların kullanılabilirliğini kontrol edebilirsiniz
-SATIŞ için bir emir açın
+ hata analizi (ana şey değil, mümkün)
Bunların hepsi mevcut döviz çifti için.

int start()                       
  {
   double M_0, M_1,               // Значение MAIN на 0 и 1 барах
          S_0, S_1;               // Значение SIGNAL на 0 и 1барах
//--------------------------------------------------------------------
                                   // Обращение к функции техн.индикат.
   M_0 = iStochastic ( NULL , 0 , 5 , 3 , 3 , MODE_SMA , 0 ,MODE_MAIN,   0 ); // 0 бар
   M_1 = iStochastic ( NULL , 0 , 5 , 3 , 3 , MODE_SMA , 0 ,MODE_MAIN,   1 ); // 1 бар
   S_0 = iStochastic ( NULL , 0 , 5 , 3 , 3 , MODE_SMA , 0 ,MODE_SIGNAL, 0 ); // 0 бар
   S_1 = iStochastic ( NULL , 0 , 5 , 3 , 3 , MODE_SMA , 0 ,MODE_SIGNAL, 1 ); // 1 бар
//--------------------------------------------------------------------
                                  
   if ( M_1 < S_1 && M_0 >= S_0 )   // УСЛОВИЕ 1 : Зеленая пересекает красную снизу
     
   if ( M_1 > S_1 && M_0 <= S_0 )   // УСЛОВИЕ 2 : Зеленая пересекает красную сверху
     
//--------------------------------------------------------------------
   return ;                             // Выход из start()
  }
 
tünaydın! söyle bana, lütfen, bir fonksiyon içindeki birkaç global değişkene bir değer atamak mümkün müdür ve bu durumda bu değişkenler nerede bildirilmelidir?
 
ideasforlife :
Sevgili programcılar. Yeni başlayan biri olarak algoritma yazmak benim için zor, onu düzenleyebilirim, bu yüzden lütfen bana yardım edin. Çok minnettar olacağım!!!
Bu kadar basit bir Uzman Danışman ve bunun için ihtiyacınız olan:

Koşul1 karşılanırsa , o zaman:
-açık SATIŞ emirlerini kontrol edin
-varsa kapatın
- hesaptaki paranın kullanılabilirliğini kontrol edebilirsiniz
- SATIN AL için bir sipariş açın

Koşul2 karşılanırsa aynı, o zaman:
-açık SATIN AL siparişlerini kontrol edin
-varsa kapatın
- hesaptaki paranın kullanılabilirliğini kontrol edebilirsiniz
-SATIŞ için bir emir açın
+ hata analizi (ana şey değil, mümkün)
Bunların hepsi mevcut döviz çifti için.

CodeBase'de Stokastik konusunda birçok Uzman Danışman vardır. Görüntüle ve yeniden yap
 
ideasforlife :
Sevgili programcılar. Yeni başlayan biri olarak algoritma yazmak benim için zor, onu düzenleyebilirim, bu yüzden lütfen bana yardım edin. Çok minnettar olacağım!!!
Bu kadar basit bir Uzman Danışman ve bunun için ihtiyacınız olan:

Koşul1 karşılanırsa , o zaman:
-açık SATIŞ emirlerini kontrol edin
-varsa kapatın
- hesaptaki fonların kullanılabilirliğini kontrol edebilirsiniz
- SATIN AL için bir sipariş açın

Koşul2 karşılanırsa aynı, o zaman:
-açık SATIN AL siparişlerini kontrol edin
-varsa kapatın
- hesaptaki fonların kullanılabilirliğini kontrol edebilirsiniz
-SATIŞ için bir emir açın
+ hata analizi (ana şey değil, mümkün)
Bunların hepsi mevcut döviz çifti için.

Ve ders kitabındaki örneği analiz etmek daha da kolay olacaktır: https://book.mql4.com/ru/samples/expert .

Bir ders kitabını baştan sona okumak gerçekten bu kadar zor mu?

 
ideasforlife :
Sevgili programcılar. Yeni başlayan biri olarak algoritma yazmak benim için zor, onu düzenleyebilirim, bu yüzden lütfen bana yardım edin. Çok minnettar olacağım!!!
Böyle basit bir danışman ve bunun için ihtiyacınız var:

Koşul1 karşılanırsa , o zaman:
-açık SATIŞ emirlerini kontrol edin
-varsa kapatın
- hesaptaki paranın kullanılabilirliğini kontrol edebilirsiniz
- SATIN AL için bir sipariş açın

Koşul2 karşılanırsa aynı, o zaman:
-açık SATIN AL siparişlerini kontrol edin
-varsa kapatın
- hesaptaki paranın kullanılabilirliğini kontrol edebilirsiniz
-SATIŞ için bir emir açın
+ hata analizi (ana şey değil, mümkün)
Bunların hepsi mevcut döviz çifti için.


Bitmiş çözüm - ders kitabı versiyonunda - burada. MACD ile ilgili her şeyi kaldırın - işte bu kadar... :-P

not Orada değişkenlerin isimleri bile hemen hemen aynı. Ders kitabını okuyun - bir açıklama var ve diğer her şey orada. :-R

 
Roman. :


Bitmiş çözüm - ders kitabı versiyonunda - burada. MACD ile ilgili her şeyi kaldırın - işte bu kadar... :-P

not Orada değişkenlerin isimleri bile hemen hemen aynı. Ders kitabını okuyun - bir açıklama var ve diğer her şey orada. :-R

Birinciyim! :-P :-P
 
Code :

Merhaba sevgili forum kullanıcıları.

Tabii ki, yeni başlayanlardan gelen soruların bir kısmı. mql4'ü araştırmaya çalışıyorum, daha önce hiç program yapmadım, bu yüzden sorular oldukça ilkel olabilir. Ama kendi başına çalışmıyor.

Bir histogram değil, bir çizgi çizerek, ancak bazı işlemlerle hacimlerin görüntüsünü biraz "eziyet etmeye" karar verdim. Kod parçası aşağıdaki anlama sahip olmalıdır. İkinci çubuktan başlayarak, önceki çubukla tek yönlü (her ikisi de yukarı), ses ikinci çubuktan çekilir. Sonuç olarak, gösterge penceresinde, ikinci çubuktan gerçekten yukarı doğru çizilen kesikli bir çizgi alıyorum, ANCAK bir nedenden dolayı her durumda değil. Kırık bir çizgi elde edilir, çünkü geri kalan koşulların oluşturulması için hiçbir şekilde tanımlanmamıştır, bu gelecek için bir konudur. Ama çizginin neden her ikinci çubukta yukarıya doğru çizilmediğini anlayamıyorum. Bana yardım et lütfen.

İşte kod. Koddaki diğer gözden kaçırmalar hakkında daha fazla yorum varsa, sadece memnun olacağım.


Bu göstergenin anlamı nedir? Neden ona ihtiyaç duyuluyor?


Bu özelliğe neden ihtiyacınız var:

ExtVolumesBuffer[i]=dVolume+vteor12-vrealUP12;

veya o, ama zaten açıldı:

ExtVolumesBuffer[i]=Volume[i]+(Volume[i]+Volume[i+1])/(2-(Close[i]-Open[i+1])*1000);

???


Ve koddaki gözetimler hakkında. senin çizgilerin

 double dVolume=Volume[i];
double vback1=Volume[i+ 1 ];

         {
         double vteor12=(dVolume+vback1)/ 2 ;
             if (Close[i+ 1 ]>Open[i+ 1 ] && Close[i]>Open[i]) double UP12=(Close[i]-Open[i+ 1 ])* 1000 ; else UP12= 0 ;
             if (UP12!= 0 ) double vrealUP12=(dVolume+vback1)/UP12; else vrealUP12= 0 ;
             if (Close[i+ 1 ]>Open[i+ 1 ])
             if (Close[i]>Open[i])
            ExtVolumesBuffer[i]=dVolume+vteor12-vrealUP12;
             if (ExtVolumesBuffer[i]< 0 ) ExtVolumesBuffer[i]= 0 ;
              }

aşağıdakilere eşdeğer:

 double dVolume=Volume[i];
double vback1=Volume[i+ 1 ];

double vteor12=(dVolume+vback1)/ 2 ;
if (Close[i+ 1 ]>Open[i+ 1 ] && Close[i]>Open[i])
{
   double UP12=(Close[i]-Open[i+ 1 ])* 1000 ;
   double vrealUP12=(dVolume+vback1)/(Close[i]-Open[i+ 1 ])* 1000 ;
   ExtVolumesBuffer[i]=dVolume+vteor12-vrealUP12;
   if (ExtVolumesBuffer[i]< 0 )
      ExtVolumesBuffer[i]= 0 ;
}
else
{
   UP12= 0 ;
   vrealUP12= 0 ;
}

Optimize edilmiş koda bakıyorsunuz ve neden bu kadar çok değişkenin tanıtıldığını düşünüyorsunuz? Ve neden "aksi takdirde" geçersiz kılsınlar?

Göstergenin arkasındaki fikri anladıysam, size yardımcı olabilirim.

 
MaxZ :

Bu göstergenin anlamı nedir? Neden ona ihtiyaç duyuluyor?


Bu özelliğe neden ihtiyacınız var:

veya o, ama zaten açıldı:

???


Ve koddaki gözetimler hakkında. senin çizgilerin

aşağıdakilere eşdeğer:

Optimize edilmiş koda bakıyorsunuz ve neden bu kadar çok değişkenin tanıtıldığını düşünüyorsunuz? Ve neden "aksi takdirde" geçersiz kılsınlar?

Göstergenin arkasındaki fikri anladıysam, size yardımcı olabilirim.


Cevabınız için teşekkür ederim ve sorularınızı cevaplayacağım.

Bu karakteristik, göstergenin tüm fikridir. Ve aynı zamanda MQL'de bir egzersiz. Kendim için bir görev buldum, sezgisel olarak dilde uygulanmasının çok karmaşık olmadığını anlıyorum. oturup denerim.

Dolayısıyla, özelliğin özü, iki tek yönlü hacmin belirli bir sabit teorik seviyesini gerçek seviye ile karşılaştırmamdır. Yani, iki hacmin toplamının gerçek "aç-kapa" aralığına gerçek oranı verilen teorik olandan daha yüksekse, gerçek ikinci hacme hesaplanan arasındaki fark şeklinde bir "bonus" eklerim. teorik ve gerçek sonuçlar. Gerçek seviye teorik seviyeden daha düşükse, aynı farkı ikinci çubuğun hacminden çıkarırım. Açıklamak açık mıydı?

Her ihtimale karşı, bu özelliği ifşa ettiğinizde, parantezleri yanlış, görünüşe göre aceleyle koyduğunuzu söyleyeceğim.

Ayrıca, benimkine eşdeğer olduğunu düşündüğünüz satırlar sıfıra bölünmeye yol açacak gibi görünüyor. Şimdi kontrol edeceğim.

 

Merhaba!

Bu branşın uzmanlarının (özellikle Roman) paha biçilmez yardımı sayesinde, test cihazında + gösteren basit bir Expert Advisor oluşturmayı başardım. Soru: Gerçeğe koymanın mümkün olup olmadığı nasıl belirlenir? Herhangi bir kriter var mı?

 
MaxZ :
Birinciyim! :-P :-P

Tarzınız hiç orada değil ... tamamen yanlış ticaret kriterlerine, soru STO-HAS-TI-KE ile ilgili ... :-P
Neden: