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

 

ancak EA'da bir kod daha var:

 int CloseMarket()
   {
     for ( int j= 0 ; j< OrdersTotal (); j++)
      {
       OrderSelect (j,SELECT_BY_POS,MODE_TRADES);
       if ( OrderSymbol ()== Symbol () && OrderMagicNumber ()==Magic && OrderType ()< 2 )
         {
          CloseOrder( OrderTicket (), OrderLots ());
          j--;
         }
      }
   } 
 
alex12 :

ancak EA'da bir kod daha var:

örneğin Yazdır (" CloseMarket tarafından kapatılıyor", j); bu işlevde ve bir önceki gönderdiğinize benzer bir şey. Hangisinin işe yaradığını analiz etmek için bu çıktıların sonuçlarının günlüklerini çalıştırın ve görüntüleyin. daha sonra, benzer şekilde, kapanış koşullarında kontrol edilen değişkenlerin değerlerini günlüğe çıkarın ve çalışma nedenlerini bulun ...

 
alsu :
Ve danışmanı tam olarak çizmeniz gereken pencereye asmaktan sizi alıkoyan nedir?


Uzman Danışmanım M1'de daha iyi çalışır çünkü M1'de daha iyi izler ve M5'te bir çubuğun açılışında 1 işlem açar ve ayrıca koşullar izin verirse tamamlama yapar. Ve M5 ve diğer TF'lerde göstergeler kullanıyorum. Ve çubuğun açılışında M1'de test etmek daha iyidir, ancak tüm onayları olan diğer TF'lerde kötü test eder.

Ben çizmiyorum, ancak her şeyin yolunda olduğundan emin olmak için sadece danışman tarafından yapılan ve yorumlarda gösterilen hesaplamaların sonuçlarını görüyorum. İlginiz ve yardımınız için teşekkür ederiz!

 
borilunad :


Uzman Danışmanım M1'de daha iyi çalışır çünkü M1'de daha iyi izler ve M5'te bir çubuğun açılışında 1 işlem açar, ayrıca koşullar izin verirse tamamlama yapar. Ve M5 ve diğer TF'lerde göstergeler kullanıyorum. Ve çubuğun açılışında M1'de test etmek daha iyidir, ancak tüm onayları olan diğer TF'lerde kötü test eder.

Ben çizmiyorum, ancak her şeyin yolunda olduğundan emin olmak için sadece danışman tarafından yapılan ve yorumlarda gösterilen hesaplamaların sonuçlarını görüyorum. İlginiz ve yardımınız için teşekkür ederiz!

keneler hem M1 hem de M5'te aynı kaynaktan alınır ve herhangi bir grafikten herhangi bir zaman diliminde çalışabilirsiniz, Kapat[]'ı iClose ile değiştirin, vb. Daha iyi test etmek için kenelerden daha kaliteli fxt dosyaları yapmanız gerekiyor, bir örnek burada , ancak genel olarak Google'da bununla ilgili bilgiler var.
 
alsu :
keneler hem M1 hem de M5'te aynı kaynaktan alınır ve herhangi bir grafikten herhangi bir zaman diliminde çalışabilirsiniz, Kapat[]'ı iClose ile değiştirin, vb. Daha iyi test etmek için kenelerden daha kaliteli fxt dosyaları yapmanız gerekiyor, bir örnek burada , ancak genel olarak Google'da bununla ilgili bilgiler var.

Uygulama, Open'da açmanın ve kenelerden daha iyi test etmenin daha iyi olduğunu göstermiştir. Ve ben tiklerle hiç ilgilenmiyorum. Depo izin verdiğinde, bir gün içinde daha iyi gösterecek eski TF'lere geçebilirim. Huzur içinde uyumak için geceleri işlem bırakmıyorum. Tekrar teşekkürler!
 
smshev :

örneğin Print(" CloseMarket tarafından kapatılıyor", j); bu işlevde ve bir önceki gönderdiğinize benzer bir şey. Hangisinin işe yaradığını analiz etmek için bu çıktıların sonuçlarının günlüklerini çalıştırın ve görüntüleyin. daha sonra, benzer şekilde, kapanış koşullarında kontrol edilen değişkenlerin değerlerini günlüğe çıkarın ve çalışma nedenlerini bulun ...

Teşekkür ederim.
 
borilunad :

Uygulama, Open'da açmanın ve kenelerden daha iyi test etmenin daha iyi olduğunu göstermiştir. Ve ben tiklerle hiç ilgilenmiyorum. Depo izin verdiğinde, bir gün içinde daha iyi gösterecek eski TF'lere geçebilirim. Huzur içinde uyumak için gece işlemleri bırakmıyorum. Tekrar teşekkürler!
Bundan bahsetmiyorum, ama uzmanın asıldığı yerin ne farkı var? Doğru yazılmışsa, nerede asılı olduğu önemli değil: en azından Moğol borsa tablosuna asın, ancak içeride 1 dakika boyunca eurodolar üzerinde çalışacak şekilde ayarlanmışsa, öyle yapacaktır. Ve programlamak hiç de zor değil, kural olarak sadece birkaç satırı değiştirin.
 

Sevgili programcılar! MACD gösterge penceresinin maksimum sayısal değeri ile yatay bir çizgi çizemiyorum.Burada zaten iyi tavsiyeler aldım ama her şeyi MQL4 öğreticisine göre yapmama rağmen uygulayamıyorum.

kod


#özellik göstergesi_separate_window
#özellik göstergesi_tamponları 3
#özellik göstergesi_color1 Kireç
#özellik göstergesi_renk2 Kırmızı
//--- arabellekler
çift ExtMapBuffer1[];
çift ExtMapBuffer2[];
double topBuffer[];


bool initFinished=false; // başlatma durumunu hatırlayacak bir değişken ekleyin.
// false - henüz başlatma yok
// doğru - oldu
//+------------------------------------------- --------------------+
//| özel gösterge başlatma işlevi |
//+------------------------------------------- --------------------+
int init()
{
//---- göstergeler
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexStyle(2,DRAW_NONE);
SetIndexBuffer(2,topBuffer);
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| özel gösterge sıfırlama işlevi |
//+------------------------------------------- --------------------+
int tanım()
{
//----

//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| özel gösterge yineleme işlevi |
//+------------------------------------------- --------------------+
int başlangıç()
{
int counted_bars=IndicatorCounted(),
sınır;

if(counted_bars>0)
counted_bars--;

limit=bars-counted_bars;
//----
for(int i=0;i<limit;i++)

{
ExtMapBuffer1[i]=iMACD(0,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i);
ExtMapBuffer2[i]=iMACD(0,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,i);

if(initFinished==yanlış)
{
GöstergeShortName("MACD_max-min");

int win_idx=WindowFind("MACD_max-min");
// göstergemizin alt pencere numarasını bulun

if(win_idx<0)
{
// alt pencere numarası -1 ise, bir hata oluştu
Print("Pencere bulunamadı");
dönüş(0);
}

double top=WindowPriceMax(win_idx);
//geçerli grafiğin belirtilen alt penceresinin dikey ölçeğinin maksimum değerini bulun


ObjectCreate("maks",OBJ_HLINE,win_idx,0,üst);
// gösterge alt penceremizde yatay bir çizgi çizin

ObjectSet("maks",OBJPROP_COLOR,Sarı);
ObjectSet("maks",OBJPROP_WIDTH,0);

WindowRedraw();
// çizgiyi görmek için pencereyi yeniden çiz

initFinished=true;
// çizim bitti

}

topBuffer[i]=üst;


}

//----
dönüş(0);
}

//+------------------------------------------- --------------------+


Çizgide görünüyor

double top=WindowPriceMax(win_idx);

üst değişken de satırda herhangi bir değer almıyor

ObjectCreate("maks",OBJ_HLINE,win_idx,0,üst);

onun yerine (yani top değişkeni yerine) 0 (sıfır) otomatik olarak ayarlanır.Ve istenilen pencerede istenilen rengi alıyorum ama sıfır satırı.TopBuffer[] da boş. Bu satıra üst değişken yerine sayısal bir değer koyarsak, satır bu sabit değeri alır.Bir yerde klinik bir hatam var.Anlamama yardım edin!Şimdiden TEŞEKKÜRLER.

Dosyalar:
 
GöstergeShortName init()'e taşınmalıdır
 
alsu :
GöstergeShortName init()'e taşınmalıdır
Sizin sürümde göstergeyi açtığınızda nesne görünmüyor.Ayrıca göstergenin özelliklerini içeren pencereyi açıp kapatmanız gerekiyor ve ardından nesne görünür hale geliyor.Benim sürümümde nesne hemen çıkıyor gösterge çağrıldığında bu yapıyı nesnelerle çalışmaktan bahseden bir eğitim örneğinden aldım.Ama bu seçeneklerin ikisi de benim sorunumu çözmüyor!Beyler, profesyoneller, belki başka biri bakar?