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

 
silhouette :

Dizilerin boyutu ne olmalı - bilmiyorum. Endeksi, hesaplanan çubukların tüm aralığı boyunca birikmelidir, yani. limit çubuğundan başlayarak.

Görevin mantığını kelimelerle anlatmaya çalışacağım.

  • Renkli bir LSMA çizen üç gösterge arabelleğimiz var. Mevcut çubuktaki değeri bir öncekinden daha yüksekse, değeri sarı ve yeşil arabelleklerde bırakın ve kırmızı olanı temizleyin. Mevcut değer öncekinden daha düşükse, bunun tersi de geçerlidir. Diğer tüm durumlarda, yalnızca sarı olanı bırakarak kırmızı ve yeşil tamponlardaki değeri temizleriz.
  • Yeşil seri tampon değeri 1, indeks değeri 0'dır. Mevcut çubukta yeşil tampon !=BOŞ_DEĞER ve bir öncekinde !=BOŞ_DEĞER ise, yeşil seri tamponun değeri bir artırılır (değerler ​biriktirilir). Yeşil tamponun değeri == EMPTY_VALUE ise, kırmızı tamponun değeri de == EMPTY_VALUE (tabloda sadece sarı) ise, o zaman dizi bitti - indeks 0 olan yeşil dizi dizisini atayın seri uzunluğu (arabelleğe kaydedin). Dizi indeksinin değerini bir arttırıyoruz (bir sonrakiler şimdi 1, 2, 3 vb. olacak), seri değerini bire sıfırlıyoruz ve bir sonraki yeşil serinin başlamasını bekliyoruz.
  • Bir dizi kırmızı seri ile benzer manipülasyonlar yapıyoruz.

Bu dizileri doldurma amacı belirsiz olduğu sürece, hiçbir algoritma doğmaz. Bu dizilerin başka hangi amaçlarla kullanılacağı açık değildir. Bu nedenle, onları kaydetmeye uygun bir algoritma yoktur. Sonuçta, sürekli olarak yeni verilerle yeniden yazılacaklar. Serinin uzunluğundan bahsediyorsunuz. Yeşil seri, sarı veya kırmızı seri başlar başlamaz sona erecektir. Benzer şekilde, sarı veya yeşil başlar başlamaz kırmızı da sona erecektir. Onlar. şu anda olan ve ondan öncekinin tersi olan sadece bir dizi alakalı olacaktır. Veya kendi aralarında değişen bu tür birkaç diziye ihtiyacınız var.

Kısacası - işçi-köylü bir şekilde: Bu dizilerin bu dizilerine ne için ihtiyacımız var? Bir hindide grafiksel olarak nasıl temsil edilecek, ya da başka neden?

 

MERHABA!!!

İşlevleri olan bir Uzman Danışman yazmaya kim yardımcı olabilir?

1 H ve M açılış saatleri

Karlı olmayan hacmin 2 çarpanı (lot)

3 parti boyutu

4 durdurma kaybı

5 kar al

sadece Satın alma pozisyonu için

Basit görünüyor ama çalışmıyor

 
artmedia70 :

Bu dizileri doldurma amacı belirsiz olduğu sürece, hiçbir algoritma doğmaz. Bu dizilerin başka hangi amaçlarla kullanılacağı açık değildir. Bu nedenle, onları kaydetmeye uygun bir algoritma yoktur. Sonuçta, sürekli olarak yeni verilerle yeniden yazılacaklar. Serinin uzunluğundan bahsediyorsunuz. Yeşil seri, sarı veya kırmızı seri başlar başlamaz sona erecektir. Benzer şekilde, sarı veya yeşil başlar başlamaz kırmızı da sona erecektir. Onlar. şu anda olan ve ondan öncekinin tersi olan sadece bir dizi alakalı olacaktır. Veya kendi aralarında değişen bu tür birkaç diziye ihtiyacınız var.

Kısacası - işçi-köylü bir şekilde: Bu dizilerin bu dizilerine ne için ihtiyacımız var? Bir hindide grafiksel olarak nasıl temsil edilecek, ya da başka neden?

Kod, her bir dizi türünün (yeşil veya kırmızı) kendi dizisine sahip olduğunu gösterir.

Amaç: Hem MQL aracılığıyla hem de Excel'de daha fazla analiz için istatistiksel bilgilerin toplanması.

Basitçe söylemek gerekirse, dizi şöyle görünmelidir:

RedSeries[0]=10; RedSeries[1]=11; RedSeries[2]=4 ...

GreenSeries[0]=6; GreenSeries[1]=8; GreenSeries[2]=10 ...

Eğer önemliyse, renk değişiminin dinamiği şu şekildedir: kırmızının yeşile dönüşemeyeceği gibi yeşil de kırmızıya dönüşemez. Onlar. Arada her zaman sarı vardır.

 

Lütfen açıklayın, bir siparişin kapalı olduğu tespit edilirse ve kapatılması gerekiyorsa, biletten sonra parametrelerin listelenmesine gerek var mı?

Örnek: OrderClose(OrderTicket(),OrderLots(),Bid,30,Blue);

OrderClose(OrderTicket(),NULL,NULL,NULL,NULL); ile değiştirin

veya OrderClose(OrderTicket(),BOŞ,BOŞ,BOŞ,BOŞ);

Sadece bileti düşünerek kapanış için daha da kısa yazmak mümkün mü?

 
rosomah :

Lütfen açıklayın, bir siparişin kapalı olduğu tespit edilirse ve kapatılması gerekiyorsa, biletten sonra parametrelerin listelenmesine gerek var mı?

Örnek: OrderClose(OrderTicket(),OrderLots(),Bid,30,Blue);

OrderClose(OrderTicket(),NULL,NULL,NULL,NULL); ile değiştirin

veya OrderClose(OrderTicket(),BOŞ,BOŞ,BOŞ,BOŞ);

Sadece bileti düşünerek kapanış için daha da kısa yazmak mümkün mü?


Numara. Bir siparişin kısmi kapanması kavramı vardır. Bu nedenle, parametreler açıkça belirtilmelidir. Demoda lot = 1.5 olan bir sipariş açmayı deneyin ve ardından bu sipariş için lot = 1'i kapatın, eğer sipariş kar ederse, hepsini değil, sadece bir kısmını kapatabileceğinizi göreceksiniz. lotlar, kalan lotların kâr etmeye devam etmesine izin verir.
 
silhouette :

Kod, her bir dizi türünün (yeşil veya kırmızı) kendi dizisine sahip olduğunu gösterir.

Amaç: Hem MQL aracılığıyla hem de Excel'de daha fazla analiz için istatistiksel bilgilerin toplanması.

Basitçe söylemek gerekirse, dizi şöyle görünmelidir:

RedSeries[0]=10; RedSeries[1]=11; RedSeries[2]=4 ...

GreenSeries[0]=6; GreenSeries[1]=8; GreenSeries[2]=10 ...

Eğer önemliyse, renk değişiminin dinamiği şu şekildedir: kırmızının yeşile dönüşemeyeceği gibi yeşil de kırmızıya dönüşemez. Onlar. Arada her zaman sarı vardır.

Peki, iki tane iki boyutlu dizi ayarlayın. Biri Yeşil veriler için, diğeri Kırmızı veriler için. Zamanı bir boyutta, başka bir sayısal değerde kaydedin. Yeşil veri göründüğünde, yeşil diziyi 1 artırın ve sıfır çubuğunun zamanını ve değerini girin. Aynısı kırmızı dizi için de geçerlidir. Ayrıca, dizilerde veri biriktirdikten sonra bunları gerektiği gibi işleyebilirsiniz. Veya tüm verileri hemen danışmandan bir dosyaya yazın.
 

Merhaba.

Bir Uzman Danışman tarafından açılan aynı emirlerden boş bir büyü ile manuel olarak açılan emirler nasıl tanınır?

 
swird :

Merhaba.

Bir Uzman Danışman tarafından açılan aynı emirlerden boş bir büyü ile manuel olarak açılan emirler nasıl tanınır?

Sipariş yineleme döngüsünde, OrderMagicNumber operatörüyle şu şekilde kontrol etmeniz gerekir:

 if ( OrdersTotal ()> 0 )
{   for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--)
   {   if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
      {   if ( OrderMagicNumber ()==MagNum) // тут
         {   //--- некоторое действие.

}  }  }  }
 
artmedia70 :
Peki, iki boyutlu diziler ayarlayın. Biri Yeşil veriler için, diğeri Kırmızı veriler için. Zamanı bir boyutta, başka bir sayısal değerde kaydedin. Yeşil veri göründüğünde, yeşil diziyi 1 artırın ve sıfır çubuğunun zamanını ve değerini girin. Aynısı kırmızı dizi için de geçerlidir. Ayrıca dizilerdeki verileri topladıktan sonra bunları gerektiği gibi işleyebilirsiniz. Veya tüm verileri hemen danışmandan bir dosyaya yazın.

Teşekkür ederim.

Ama bir zaman boyutu yaratmanın amacını anlayamıyorum. Ne de olsa dizide birkaç bar var ve süreleri farklı. Bu nedenle seri kaydı yapmak mümkün olmayacaktır.

Ve bir şey daha: Kodumdaki mantıksal hatanın nerede olduğunu bulamıyorum. Çalışmamasının nedeni nedir? Bu olmadan, bir şeyi yeniden yapma girişimleri işe yaramaz.

 
silhouette :

Teşekkür ederim.

Ama bir zaman boyutu yaratmanın amacını anlayamıyorum. Ne de olsa dizide birkaç bar var ve süreleri farklı. Bu nedenle seri kaydı yapmak mümkün olmayacaktır.

Ve bir şey daha: Kodumdaki mantıksal hatanın nerede olduğunu bulamıyorum. Çalışmamasının nedeni nedir? Bu olmadan, bir şeyi yeniden yapma girişimleri işe yaramaz.

Neden bir dizide zaman? Peki örneğin (hangi istatistikleri toplamak istiyorsunuz bilmiyorum) istatistiksel verileri işlerken bu değerin sadece değerini değil zamanını da bilmek faydalı olacaktır. Excel'de grafikler çizerken, serilerin ve bu serideki verilerin konumunu, birbirlerine göre göreceli konumlarını (kırmızı ve yeşil) vb. görsel olarak görmek mümkün olacaktır. İhtiyacınız yoksa kullanmayın.

Kodunuza bakmadım ve mantık hatasının nerede olduğunu anlayamıyorum. Hatırlıyorum - Victor'un göstergesine (Vinin) dayanarak yaptınız, neden Victor'a sormuyorsunuz?

Neden: