MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 308

 
MosheDayan :

Arkadaşlar bu durumdan doğru bir şekilde nasıl çıkılır... Gösterge CSV'den iki yatay çizgi çeker (Kırmızı - günün başından günün sonuna kadar) Mavi - Farklı fiyat seviyelerinde geçmiş günlerden gelen bir ışın . Ancak bu seviyelerin aynı değere/fiyata sahip olduğu günler vardır. Durumdan doğru bir şekilde nasıl çıkılır, böylece çizgiler çakıştığında, Işın (Mavi) görüntülenir ve Kırmızı çizgi grafikte görünmez, ancak fiziksel olarak bulunur ... yani. şeffaftı.

Şimdi - Draw_Level("Kırmızı", kırmızı, DRAW_NONE, STYLE_SOLID,0); çizgiyi çizmeyi durdurur, ancak altından gelen Işın da görünmez. Teşekkür ederim.

Nesnelerin oluşturulma sırasına dikkat edin. Ve Draw_Level() nedir? Hiç kimse aşina değilse neden özel bir işlevden söz edelim?

 
Artyom Trishkin :

Tünaydın. Tam olarak ne yapmaya çalışıyordun? Sadece iki ekli kod görüyorum. Sizin için her şeyi yapacak birine ihtiyacınız varsa, serbest çalışma bunun içindir.

Ve kendiniz deniyorsanız, tam olarak ne yaptığınızı ve nerede anlamadığınızı gösterin.

İyi günler Artem! Doğru not. Evet, Word dosyasını kodla birlikte ekliyorum. Ödünç alınan algoritmadan koduma eklediklerim kırmızıyla vurgulanıyor. Anlamadığım yeri söyleyemem, şu ana kadar o kadar emin olamam çünkü kodun mekanizmasını tam olarak anlamıyorum. Ama belki beni doğru yöne yönlendirebilirsin. Minnettar olacağım.

 

Tünaydın!
Uzmanın eklendiği çizelgeden farklı bir sembolle bir emir açacağım. Soru şu ki, Teklifin doğruluğunu önceden kontrol etmek gerekli mi ve nasıl yapılmalı?

 double Bid0= MarketInfo (OtherSymbol0, MODE_BID );
OrderSend (OtherSymbol0, OP_SELL , 1 ,Bid0, 3 ,stoploss,takeprofit, "My order" , 16384 , 0 , clrGreen ); 
 

Tünaydın.

Arkadaşlar bana şu saati koda nasıl yazabileceğinizi söyleyin: Bu ayın ilk çarşambasını takip eden ayın ilk Cuma günü 23:59? onlar. ay Perşembe günü başladıysa, ikinci Cuma 23:59 saatine ihtiyacınız var ...

Teşekkür ederim.

 
MosheDayan :

Tünaydın.

Arkadaşlar bana şu saati koda nasıl yazabileceğinizi söyleyin: Bu ayın ilk çarşambasını takip eden ayın ilk Cuma günü 23:59? onlar. Ay Perşembe günü başladıysa, ikinci Cuma 23:59 saatine ihtiyacınız var ...

Teşekkür ederim.

 //+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
//---
   int countWedn= 0 ;
   int countFrid= 0 ;
   if ( TimeDayOfWeek ( TimeCurrent ())== 5 && Hour ()== 23 && Minute ()== 59 )
     {
      countWedn= 0 ;
      countFrid= 0 ;
       for ( int i= 0 ; i<= Day (); i++)
        {
         if ( TimeMonth ( iTime ( Symbol (), PERIOD_D1 ,i))== TimeMonth ( TimeCurrent ()))
           {
             if ( TimeDayOfWeek ( iTime ( Symbol (), PERIOD_D1 ,i))== 3 )countWedn++;
             if ( TimeDayOfWeek ( iTime ( Symbol (), PERIOD_D1 ,i))== 5 )countFrid++;
           }
        }
     }
   if (countWedn== 1 && countFrid== 1 ) Print ( " 23:59 первой пятницы месяца после первой среды этого месяца " );
  }
//+------------------------------------------------------------------+
 
Artyom Trishkin :

Yapabilir. Ve düşünce yönü doğru. Parametreleri nasıl almaya çalıştığını göster?


Anladım. Grafik nesnesini uygun sınıfa "sabitlemek" gerekir.

#include <ChartObjects\ChartObject.mqh>

OnStart() geçersiz

{

CChartObject nesnesi;

string nesneAdı = "";

çift fiyat = 0;

tarih saat;

int NumTriangles = ObjectsTotal(ChartID(),0, OBJ_TRIANGLE );

for (int j=0;j<NumTriangles;j++){

nesneAdı = NesneAdı(GrafikKimliği(),j);

object.Attach(ChartID(),objName,0,3);

for (int i=0;i<object.NumPoints();i++){

fiyat = nesne.Fiyat(i);

dt = nesne.Zaman(i);

Print("Özet nokta - ",IntegerToString(i)," Zaman = ",TimeToString(dt)," Fiyat = ",DoubleToStr(fiyat,4));

}

nesne.Detach();

}

 

Hepinize iyi günler!

Böyle bir sorum var, böyle bir blok var:

opf_all= 0 ;
   for ( int is= OrdersHistoryTotal (); is>= 0 ; is--)
   {
     if ( OrderSelect (is, SELECT_BY_POS , MODE_HISTORY ) && OrderSymbol ()== Symbol () && OrderMagicNumber ()==MN)
     {
      opf_all=opf_all+ OrderProfit ()+ OrderCommission ()+ OrderSwap ();
     }
   }

opf_all değişkeni, tüm dönem için toplam karı içermelidir. AMA, hesap geçmişi sekmesindeki terminalde mevcut gün için parametreyi seçtiğimizde, bu modül sonucu verir.

sadece o gün için ve tüm dönem için seçtiğimizde bu modül tüm dönemi gösterir. Sonuçta, böyle olmamalı. Hesap geçmişindeki aralık seçiminden bağımsız olarak

modül yine de tüm dönem için toplam karı göstermelidir. Belki bir şey anlamıyorum?

Bu sorun bir şekilde çözüldü mü?

 
Valerius :

Hepinize iyi günler!

Böyle bir sorum var, böyle bir blok var:

opf_all= 0 ;
   for ( int is= OrdersHistoryTotal (); is>= 0 ; is--)
   {
     if ( OrderSelect (is, SELECT_BY_POS , MODE_HISTORY ) && OrderSymbol ()== Symbol () && OrderMagicNumber ()==MN)
     {
      opf_all=opf_all+ OrderProfit ()+ OrderCommission ()+ OrderSwap ();
     }
   }

opf_all değişkeni, tüm dönem için toplam karı içermelidir. AMA, hesap geçmişi sekmesindeki terminalde mevcut gün için parametreyi seçtiğimizde, bu modül sonucu verir.

sadece o gün için ve tüm dönem için seçtiğimizde bu modül tüm dönemi gösterir. Sonuçta, böyle olmamalı. Hesap geçmişindeki aralık seçiminden bağımsız olarak

modül yine de tüm dönem için toplam karı göstermelidir. Belki bir şey anlamıyorum?

Bu sorun bir şekilde çözüldü mü?

Hayır, "Hesap Geçmişi" sekmesinde hesaplanan geçmişin boyutunu seçmekten başka bir şekilde çözülmez.

Ve lütfen kodu SRC düğmesini kullanarak yapıştırın - bu, mesaj biçimlendirme menüsündeki metin giriş alanının hemen üzerindedir. Okunamayan "ayak bezini" doğru yerleştirdim.

 
Artyom Trishkin :

Hayır, "Hesap Geçmişi" sekmesinde hesaplanan geçmişin boyutunu seçmekten başka bir şekilde çözülmez.

Ve lütfen kodu SRC düğmesini kullanarak yapıştırın - bu, mesaj biçimlendirme menüsündeki metin giriş alanının hemen üzerindedir. Okunamayan "ayak bezinizi" doğru yerleştirdim.

Teşekkürler ve üzgünüm...

 

Merhaba https://www.mql5.com/ru/code/19049 grafikte bir buton var ve siteyi açıyor ama bu buton üzerinden scripti açmam gerekiyor tekrar yapabilir miyim?teşekkürler.

Link
Link
  • oylar: 11
  • 2017.09.01
  • Iurii Tokman
  • www.mql5.com
Индикатор создает графическую кнопку, при нажатии на которую открывается окно браузера с сайтом, заданным в настройках индикатора.