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

 
001 :

Başlangıç değişkenleri vardır, ancak çalışma sırasında yenilerine ihtiyaç duyulur. Burada soru, YENİ kodun nasıl oluşturulacağıdır. N değişkenim var ve


ve farklı TF'ler kullanılır.

Dizileri ve işlevleri kullanabilirsiniz
 
Vinin :
Dizileri ve işlevleri kullanabilirsiniz
O yüzden soruyorum kafamı kırdım nasıl yapacağım diye.
 
001 :
O yüzden soruyorum kafamı kırdım nasıl yapacağım diye.

Şimdiye kadar sadece general hakkında konuştuk.

Özellikler olmadan işe yaramaz.

Kafamı kıran kodu ver

 
Vinin :

Şimdiye kadar sadece general hakkında konuştuk.

Özellikler olmadan işe yaramaz.

Kafamı kıran kodu ver


Bu M15 için. Her N dakika bir değişkendir, M15 için 96 tane vardır.Bu rezalet yerine güzel bir kod almak istiyorum.

 int количество_лоу_15= 0 ;
int количество_лоу_30= 0 ;
int количество_лоу_45= 0 ;
int количество_лоу_60= 0 ;
int количество_лоу_75= 0 ;
int количество_лоу_90= 0 ;
int количество_лоу_105= 0 ;
int количество_лоу_120= 0 ;
int количество_лоу_135= 0 ;
int количество_лоу_150= 0 ;
int количество_лоу_165= 0 ;
int количество_лоу_180= 0 ;
int количество_лоу_195= 0 ;
int количество_лоу_210= 0 ;
int количество_лоу_225= 0 ;
int количество_лоу_240= 0 ;
int количество_лоу_255= 0 ;
int количество_лоу_270= 0 ;
int количество_лоу_285= 0 ;
int количество_лоу_300= 0 ;
int количество_лоу_315= 0 ;
int количество_лоу_330= 0 ;
int количество_лоу_345= 0 ;
int количество_лоу_360= 0 ;
int количество_лоу_375= 0 ;
int количество_лоу_390= 0 ;
int количество_лоу_405= 0 ;
int количество_лоу_420= 0 ;
int количество_лоу_435= 0 ;
int количество_лоу_450= 0 ;
int количество_лоу_465= 0 ;
int количество_лоу_480= 0 ;
int количество_лоу_495= 0 ;
int количество_лоу_510= 0 ;
int количество_лоу_525= 0 ;
int количество_лоу_540= 0 ;
int количество_лоу_555= 0 ;
int количество_лоу_570= 0 ;
int количество_лоу_585= 0 ;
int количество_лоу_600= 0 ;
int количество_лоу_615= 0 ;
int количество_лоу_630= 0 ;
int количество_лоу_645= 0 ;
int количество_лоу_660= 0 ;
int количество_лоу_675= 0 ;
int количество_лоу_690= 0 ;
int количество_лоу_705= 0 ;
int количество_лоу_720= 0 ;
int количество_лоу_735= 0 ;
int количество_лоу_750= 0 ;
int количество_лоу_765= 0 ;
int количество_лоу_780= 0 ;
int количество_лоу_795= 0 ;
int количество_лоу_810= 0 ;
int количество_лоу_825= 0 ;
int количество_лоу_840= 0 ;
int количество_лоу_855= 0 ;
int количество_лоу_870= 0 ;
int количество_лоу_885= 0 ;
int количество_лоу_900= 0 ;
int количество_лоу_915= 0 ;
int количество_лоу_930= 0 ;
int количество_лоу_945= 0 ;
int количество_лоу_960= 0 ;
int количество_лоу_975= 0 ;
int количество_лоу_990= 0 ;
int количество_лоу_1005= 0 ;
int количество_лоу_1020= 0 ;
int количество_лоу_1035= 0 ;
int количество_лоу_1050= 0 ;
int количество_лоу_1065= 0 ;
int количество_лоу_1080= 0 ;
int количество_лоу_1095= 0 ;
int количество_лоу_1110= 0 ;
int количество_лоу_1125= 0 ;
int количество_лоу_1140= 0 ;
int количество_лоу_1155= 0 ;
int количество_лоу_1170= 0 ;
int количество_лоу_1185= 0 ;
int количество_лоу_1200= 0 ;
int количество_лоу_1215= 0 ;
int количество_лоу_1230= 0 ;
int количество_лоу_1245= 0 ;
int количество_лоу_1260= 0 ;
int количество_лоу_1275= 0 ;
int количество_лоу_1290= 0 ;
int количество_лоу_1305= 0 ;
int количество_лоу_1320= 0 ;
int количество_лоу_1335= 0 ;
int количество_лоу_1350= 0 ;
int количество_лоу_1365= 0 ;
int количество_лоу_1380= 0 ;
int количество_лоу_1395= 0 ;
int количество_лоу_1410= 0 ;
int количество_лоу_1425= 0 ;
////////   
   if (время_лоу   ==     15    )   количество_лоу_15   =количество_лоу_15   + 1 ;
   if (время_лоу   ==     30    )   количество_лоу_30   =количество_лоу_30   + 1 ;
   if (время_лоу   ==     45    )   количество_лоу_45   =количество_лоу_45   + 1 ;
   if (время_лоу   ==     60    )   количество_лоу_60   =количество_лоу_60   + 1 ;
   if (время_лоу   ==     75    )   количество_лоу_75   =количество_лоу_75   + 1 ;
   if (время_лоу   ==     90    )   количество_лоу_90   =количество_лоу_90   + 1 ;
   if (время_лоу   ==   105    )   количество_лоу_105   =количество_лоу_105   + 1 ;
   if (время_лоу   ==   120    )   количество_лоу_120   =количество_лоу_120   + 1 ;
   if (время_лоу   ==   135    )   количество_лоу_135   =количество_лоу_135   + 1 ;
   if (время_лоу   ==   150    )   количество_лоу_150   =количество_лоу_150   + 1 ;
   if (время_лоу   ==   165    )   количество_лоу_165   =количество_лоу_165   + 1 ;
   if (время_лоу   ==   180    )   количество_лоу_180   =количество_лоу_180   + 1 ;
   if (время_лоу   ==   195    )   количество_лоу_195   =количество_лоу_195   + 1 ;
   if (время_лоу   ==   210    )   количество_лоу_210   =количество_лоу_210   + 1 ;
   if (время_лоу   ==   225    )   количество_лоу_225   =количество_лоу_225   + 1 ;
   if (время_лоу   ==   240    )   количество_лоу_240   =количество_лоу_240   + 1 ;
   if (время_лоу   ==   255    )   количество_лоу_255   =количество_лоу_255   + 1 ;
   if (время_лоу   ==   270    )   количество_лоу_270   =количество_лоу_270   + 1 ;
   if (время_лоу   ==   285    )   количество_лоу_285   =количество_лоу_285   + 1 ;
   if (время_лоу   ==   300    )   количество_лоу_300   =количество_лоу_300   + 1 ;
   if (время_лоу   ==   315    )   количество_лоу_315   =количество_лоу_315   + 1 ;
   if (время_лоу   ==   330    )   количество_лоу_330   =количество_лоу_330   + 1 ;
   if (время_лоу   ==   345    )   количество_лоу_345   =количество_лоу_345   + 1 ;
   if (время_лоу   ==   360    )   количество_лоу_360   =количество_лоу_360   + 1 ;
   if (время_лоу   ==   375    )   количество_лоу_375   =количество_лоу_375   + 1 ;
   if (время_лоу   ==   390    )   количество_лоу_390   =количество_лоу_390   + 1 ;
   if (время_лоу   ==   405    )   количество_лоу_405   =количество_лоу_405   + 1 ;
   if (время_лоу   ==   420    )   количество_лоу_420   =количество_лоу_420   + 1 ;
   if (время_лоу   ==   435    )   количество_лоу_435   =количество_лоу_435   + 1 ;
   if (время_лоу   ==   450    )   количество_лоу_450   =количество_лоу_450   + 1 ;
   if (время_лоу   ==   465    )   количество_лоу_465   =количество_лоу_465   + 1 ;
   if (время_лоу   ==   480    )   количество_лоу_480   =количество_лоу_480   + 1 ;
   if (время_лоу   ==   495    )   количество_лоу_495   =количество_лоу_495   + 1 ;
   if (время_лоу   ==   510    )   количество_лоу_510   =количество_лоу_510   + 1 ;
   if (время_лоу   ==   525    )   количество_лоу_525   =количество_лоу_525   + 1 ;
   if (время_лоу   ==   540    )   количество_лоу_540   =количество_лоу_540   + 1 ;
   if (время_лоу   ==   555    )   количество_лоу_555   =количество_лоу_555   + 1 ;
   if (время_лоу   ==   570    )   количество_лоу_570   =количество_лоу_570   + 1 ;
   if (время_лоу   ==   585    )   количество_лоу_585   =количество_лоу_585   + 1 ;
   if (время_лоу   ==   600    )   количество_лоу_600   =количество_лоу_600   + 1 ;
   if (время_лоу   ==   615    )   количество_лоу_615   =количество_лоу_615   + 1 ;
   if (время_лоу   ==   630    )   количество_лоу_630   =количество_лоу_630   + 1 ;
   if (время_лоу   ==   645    )   количество_лоу_645   =количество_лоу_645   + 1 ;
   if (время_лоу   ==   660    )   количество_лоу_660   =количество_лоу_660   + 1 ;
   if (время_лоу   ==   675    )   количество_лоу_675   =количество_лоу_675   + 1 ;
   if (время_лоу   ==   690    )   количество_лоу_690   =количество_лоу_690   + 1 ;
   if (время_лоу   ==   705    )   количество_лоу_705   =количество_лоу_705   + 1 ;
   if (время_лоу   ==   720    )   количество_лоу_720   =количество_лоу_720   + 1 ;
   if (время_лоу   ==   735    )   количество_лоу_735   =количество_лоу_735   + 1 ;
   if (время_лоу   ==   750    )   количество_лоу_750   =количество_лоу_750   + 1 ;
   if (время_лоу   ==   765    )   количество_лоу_765   =количество_лоу_765   + 1 ;
   if (время_лоу   ==   780    )   количество_лоу_780   =количество_лоу_780   + 1 ;
   if (время_лоу   ==   795    )   количество_лоу_795   =количество_лоу_795   + 1 ;
   if (время_лоу   ==   810    )   количество_лоу_810   =количество_лоу_810   + 1 ;
   if (время_лоу   ==   825    )   количество_лоу_825   =количество_лоу_825   + 1 ;
   if (время_лоу   ==   840    )   количество_лоу_840   =количество_лоу_840   + 1 ;
   if (время_лоу   ==   855    )   количество_лоу_855   =количество_лоу_855   + 1 ;
   if (время_лоу   ==   870    )   количество_лоу_870   =количество_лоу_870   + 1 ;
   if (время_лоу   ==   885    )   количество_лоу_885   =количество_лоу_885   + 1 ;
   if (время_лоу   ==   900    )   количество_лоу_900   =количество_лоу_900   + 1 ;
   if (время_лоу   ==   915    )   количество_лоу_915   =количество_лоу_915   + 1 ;
   if (время_лоу   ==   930    )   количество_лоу_930   =количество_лоу_930   + 1 ;
   if (время_лоу   ==   945    )   количество_лоу_945   =количество_лоу_945   + 1 ;
   if (время_лоу   ==   960    )   количество_лоу_960   =количество_лоу_960   + 1 ;
   if (время_лоу   ==   975    )   количество_лоу_975   =количество_лоу_975   + 1 ;
   if (время_лоу   ==   990    )   количество_лоу_990   =количество_лоу_990   + 1 ;
   if (время_лоу   ==   1005    )   количество_лоу_1005   =количество_лоу_1005   + 1 ;
   if (время_лоу   ==   1020    )   количество_лоу_1020   =количество_лоу_1020   + 1 ;
   if (время_лоу   ==   1035    )   количество_лоу_1035   =количество_лоу_1035   + 1 ;
   if (время_лоу   ==   1050    )   количество_лоу_1050   =количество_лоу_1050   + 1 ;
   if (время_лоу   ==   1065    )   количество_лоу_1065   =количество_лоу_1065   + 1 ;
   if (время_лоу   ==   1080    )   количество_лоу_1080   =количество_лоу_1080   + 1 ;
   if (время_лоу   ==   1095    )   количество_лоу_1095   =количество_лоу_1095   + 1 ;
   if (время_лоу   ==   1110    )   количество_лоу_1110   =количество_лоу_1110   + 1 ;
   if (время_лоу   ==   1125    )   количество_лоу_1125   =количество_лоу_1125   + 1 ;
   if (время_лоу   ==   1140    )   количество_лоу_1140   =количество_лоу_1140   + 1 ;
   if (время_лоу   ==   1155    )   количество_лоу_1155   =количество_лоу_1155   + 1 ;
   if (время_лоу   ==   1170    )   количество_лоу_1170   =количество_лоу_1170   + 1 ;
   if (время_лоу   ==   1185    )   количество_лоу_1185   =количество_лоу_1185   + 1 ;
   if (время_лоу   ==   1200    )   количество_лоу_1200   =количество_лоу_1200   + 1 ;
   if (время_лоу   ==   1215    )   количество_лоу_1215   =количество_лоу_1215   + 1 ;
   if (время_лоу   ==   1230    )   количество_лоу_1230   =количество_лоу_1230   + 1 ;
   if (время_лоу   ==   1245    )   количество_лоу_1245   =количество_лоу_1245   + 1 ;
   if (время_лоу   ==   1260    )   количество_лоу_1260   =количество_лоу_1260   + 1 ;
   if (время_лоу   ==   1275    )   количество_лоу_1275   =количество_лоу_1275   + 1 ;
   if (время_лоу   ==   1290    )   количество_лоу_1290   =количество_лоу_1290   + 1 ;
   if (время_лоу   ==   1305    )   количество_лоу_1305   =количество_лоу_1305   + 1 ;
   if (время_лоу   ==   1320    )   количество_лоу_1320   =количество_лоу_1320   + 1 ;
   if (время_лоу   ==   1335    )   количество_лоу_1335   =количество_лоу_1335   + 1 ;
   if (время_лоу   ==   1350    )   количество_лоу_1350   =количество_лоу_1350   + 1 ;
   if (время_лоу   ==   1365    )   количество_лоу_1365   =количество_лоу_1365   + 1 ;
   if (время_лоу   ==   1380    )   количество_лоу_1380   =количество_лоу_1380   + 1 ;
   if (время_лоу   ==   1395    )   количество_лоу_1395   =количество_лоу_1395   + 1 ;
   if (время_лоу   ==   1410    )   количество_лоу_1410   =количество_лоу_1410   + 1 ;
   if (время_лоу   ==   1425    )   количество_лоу_1425   =количество_лоу_1425   + 1 ;
 
001 :

Bu M15 için. Her N dakika bir değişkendir, M15 için 96 tane vardır.Bu rezalet yerine güzel bir kod almak istiyorum.

Doğru karar için anlamanız gerekir - ve ne elde etmek istediğinizi

 
001 :

Bu M15 için. Her N dakika bir değişkendir, M15 için 96 tane vardır.Bu rezalet yerine güzel bir kod almak istiyorum.

Diziler ve bir for döngüsü kullanın. Soru, örneğin her biri ise. 5 dakika, programlı olarak yeni bir değişken oluşturun, o zaman böyle bir olasılık yoktur.
 
001 :
O yüzden soruyorum kafamı kırdım nasıl yapacağım diye.
 int MASS_LOW [];                                         // объявляем массив
int quantity= 96 ;                                         // количество_лоу, можно изменять в программе и делать заново ресайз массива
ArrayResize (MASS_LOW,quantity);                           // размер масиива = количество_лоу
ArrayFill (MASS_LOW, 0 ,quantity, 0 );                         // обнуление массива при необходмости

for (cnt= 0 ; cnt<quantity; cnt++)                       // перебираем количество_лоу (от 0 до 95)
   {
   int c=(cnt+ 1 )* 15 ;                                     // 15 30 45 60 ....
   if (time_low == c) MASS_LOW [cnt]=MASS_LOW [cnt]++; // сравниваем время_лоу и увеличиваем при необходимости ячейку массива
   }

veya hemen karşılaştırma ve numaralandırma olmadan, istediğiniz hücreyi artırmanız yeterlidir:

cnt = time_low/ 15 - 1 ; 
MASS_LOW [cnt]=MASS_LOW [cnt]++;
 

Sevgili üstatlar, lütfen yeni başlayan birinin şaşkınlığını giderin!

MT4'te yazılan göstergelerin nasıl çalıştığını çözmeye çalışıyorum. Göstergelerin çubuklara göre hesaplanmasını bekliyorum, yani Özel Hareketli Ortalama göstergesinin parametrelerinde Dönem (=) 13 belirtilmişse, bu, ilgili grafiğin 13 çubuğunun ortalamasıdır.

Ancak, (benim oluşturduğum) göstergesi için OnBar türünde herhangi bir olay işleyicisi görmüyorum, yalnızca OnTick. Yani, (benim) göstergem, kenelerden çubuklar "oluşturmalı", örneğin dakikalara göre gruplandırmalı (M1 grafiğine hizmet etmek için)?

Tamamlanmış Özel Hareketli Ortalama göstergesinin koduna giriyorum - OnTick yok ... yalnızca OnCalculate yok ve yardımdaki karşılık gelen Calculate olayı şöyle diyor: " Calculate olayı yalnızca göstergeler için [...] ve herhangi bir fiyat verilerinde değişiklik." Yani, OnCalculate her tike yanıt veriyor mu?

 
fxseminar :

Sevgili üstatlar, lütfen yeni başlayanların şaşkınlığını giderin!

MT4'te yazılan göstergelerin nasıl çalıştığını çözmeye çalışıyorum. Göstergelerin çubuklara göre hesaplanmasını bekliyorum, yani Özel Hareketli Ortalama göstergesinin parametrelerinde Dönem (=) 13 belirtilmişse, bu, ilgili grafiğin 13 çubuğunun ortalamasıdır.

Ancak, (benim oluşturduğum) göstergesi için OnBar türünde herhangi bir olay işleyicisi görmüyorum, yalnızca OnTick. Yani, (benim) göstergem, kenelerden çubuklar "oluşturmalı", örneğin dakikalara göre gruplandırmalı (M1 grafiğine hizmet etmek için)?

Tamamlanmış Özel Hareketli Ortalama göstergesinin koduna giriyorum - OnTick yok ... yalnızca OnCalculate yok ve yardımdaki karşılık gelen Calculate olayı şöyle diyor: " Calculate olayı yalnızca göstergeler için [...] ve herhangi bir fiyat verilerinde değişiklik." Yani, OnCalculate her tike yanıt veriyor mu?


Kapat[0] kullanıyorsanız onay başına. Kapat[1] veya Aç[0] kullanabilirsiniz, değişiklikleri yalnızca çubuk değiştiğinde görürsünüz.
 
borilunad :
Kapat[0] kullanıyorsanız onay başına. Kapat[1] veya Aç[0] kullanabilirsiniz, değişiklikleri yalnızca çubuk değiştiğinde görürsünüz.
-- üzgünüm, Özel Hareketli Ortalama göstergesi keneler üzerinden ortalama OLAMAZ. O zaman, örneğin bir zaman diliminde günlük olarak nasıl çalışır (görünür) - hayal edebiliyor musunuz?