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

 
herkese merhaba, belki birinin metatrader 4'te bir .exe dosyası vardır? Geliştiricilerden, herhangi bir DC'ye bağlı değil
 
a.lxrn :
herkese merhaba, belki birinin metatrader 4'te bir .exe dosyası vardır? Geliştiricilerden, herhangi bir DC'ye bağlı değil

dosya eklenmemişse, herhangi bir DC'den metatrader.exe ve metaeditor.exe dosyasını alın ve ayrı bir klasörden çalıştırın ve bir hesap oluşturun. Sitede 4ki yükleyici yok. Ama neden bu?

 
Igor Makanu :

Bu işlevle tabloya bir fraktal gösterge ve bir test EA bırakın

ve bulunan değerleri MODE_UPPER ve MODE_LOWER'ı işlevime geçirerek yazdırın

Bar zamanını hatırlamanız gerekir, yeni bir bar göründüğünde numaralandırma değişecektir ve bar açılış zamanı her zaman sabittir.

onlar. kodumu çalıştır, fraktalın bulunduğu çubuğun zamanını hatırla, sonra tekrar çalıştır - çubuğu bul ve bu çubuğun zamanını ezberlenmiş olanla karşılaştır - zaman farklı, yani bu yeni bir fraktal

Böyle mi yaptı:

 if ((Hour()>= 9 && Minute()== 15 ) && Hour()< 23 )
   {
    Fun_New_Bar();
     if (New_Bar)      
     {
     barfrup_1 = GetLastFractals( 1 ,MODE_UPPER); Alert ( "barfrup_1 = " ,barfrup_1);
     barfrup_2 = GetLastFractals(barfrup_1+ 1 ,MODE_UPPER); Alert ( "barfrup_2 = " ,barfrup_2);
     if (barfrup_1== 3 )
     {
      secondtime1= iTime ( NULL , 0 ,barfrup_1);; Alert ( "secondtime1 = " ,secondtime1);
      secondprice1= iHigh ( NULL , 0 ,barfrup_1); Alert ( "secondprice1 = " ,secondprice1);
      firsttime1= iTime ( NULL , 0 ,barfrup_2); Alert ( "firsttime1 = " ,firsttime1);
      firstprice1= iHigh ( NULL , 0 ,barfrup_2); Alert ( "firstprice1 = " ,firstprice1);
       //рисуем трендовую линию High
       ObjectCreate ( "HighLine" , OBJ_TREND , 0 ,firsttime1,firstprice1,secondtime1,secondprice1);
     }}}

Bir çizgi çizer. eklersem:

 if (barfrup_1> 3 )   ObjectsDeleteAll ();

sonra bu satırı siler ve bu kadar. Sorun nedir?

 
novichok2018 :

Böyle mi yaptı:

Bir çizgi çizer. eklersem:

sonra bu satırı siler ve bu kadar. Sorun nedir?

Daha önceki bir mesajınızda size cevap vermemelerinden şikayet etmişsiniz. Ve lütfen belgeleri okumak için kaç kez gönderildiğinizi unutmayın ve temel sorular kendiliğinden kaybolacaktır. Bu soru yine “duman dokümantasyonu” serisinden, kelimeleri atlamadan ve hatta cümle atlamadan dikkatli bir şekilde sigara iç.

Tam bir adaşınız olduğunu düşünüyor musunuz? O kadar dolu ki, hem yıl hem de doğum günü çakışacak, soyadı, adı ve soyadından bahsetmiyoruz.

ObjectCreate - Графические объекты - Справочник MQL4
ObjectCreate - Графические объекты - Справочник MQL4
  • docs.mql4.com
[in]  Индекс окна, в которое будет добавлен объект. Окно должно существовать (индекс окна должен быть большим или равным 0 и меньшим, чем WindowsTotal()), иначе функция возвратит false. При использовании функции на собственном графике осуществляется прямой доступ к графику (как это всегда было в MQL4) и возврат true означает успешное создание...
 
novichok2018 :

Böyle mi yaptı:

Bir çizgi çizer. eklersem:

sonra bu satırı siler ve bu kadar. Sorun nedir?

ilk mesajımı oku, hattın adını kim farklı verecek? veya çizgiyi hareket ettir

kabataslak çizdi, aceleyle, bir şeyler çizdi, anlamadı, bu kodu göreviniz için yapmaya çalışın

 //+------------------------------------------------------------------+
//|                                                 FractalTrend.mq4 |
//|                                                            IgorM |
//|                              https://www.mql5.com/ru/users/igorm |
//+------------------------------------------------------------------+
#property copyright "IgorM"
#property link        "https://www.mql5.com/ru/users/igorm"
#property version    "1.00"
#property strict
#include <ChartObjects\ChartObjectsLines.mqh>
CChartObjectTrend *UPLine, *DNLine;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
{
   return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
   delete UPLine;
   delete DNLine;
}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
{
   static datetime bar1 = 0 ;
   if (bar1 != Time[ 1 ])
   {
       delete UPLine;
       delete DNLine;
       int last_fractal = GetLastFractals( 0 , MODE_UPPER);
       int prev_fractal = GetLastFractals(last_fractal + 1 , MODE_UPPER);
      UPLine = DrawTrendLine(MODE_UPPER, "UPLineFractal" , prev_fractal, last_fractal, clrRed );
  
      last_fractal = GetLastFractals( 0 , MODE_LOWER);
      prev_fractal = GetLastFractals(last_fractal + 1 , MODE_LOWER);
      DNLine = DrawTrendLine(MODE_LOWER, "DNLineFractal" , prev_fractal, last_fractal, clrYellowGreen );
      bar1 = Time[ 1 ];
   }

}
//_______________________________________________________________________
CChartObjectTrend* DrawTrendLine( const int MODE, const string obj_name, const int bar2, const int bar1, const color clr)
{
   CChartObjectTrend *obj = new CChartObjectTrend;
   obj.Create( 0 , obj_name, 0 , Time[bar2], MODE == MODE_UPPER ? High[bar2] : Low[bar2], Time[bar1], MODE == MODE_UPPER ? High[bar1] : Low[bar1]);
   obj.Color(clr);
   return obj;
}
//_______________________________________________________________________
int GetLastFractals( int bar, int mode) // bar - с какого бара начинать поиск, mode = MODE_UPPER или MODE_LOWER , результат № бара где найден фрактал
{
   int i = bar;
   while (i < Bars && iFractals ( NULL , 0 , mode, i) < _Point ) i++;
   return (i);
}
//_______________________________________________________________________
 
Alexey Viktorov :

Daha önceki bir mesajınızda size cevap vermemelerinden şikayet etmişsiniz. Ve lütfen belgeleri okumak için kaç kez gönderildiğinizi unutmayın ve temel sorular kendiliğinden kaybolacaktır. Bu soru yine “duman dokümantasyonu” serisinden, kelimeleri atlamadan ve hatta cümle atlamadan dikkatli bir şekilde sigara iç.

Tam bir adaşınız olduğunu düşünüyor musunuz? O kadar dolu ki, hem yıl hem de doğum günü çakışacak, soyadı, adı ve soyadından bahsetmiyoruz.

Evet, zaten ilk "tavsiyenizden" sorularıma kadar, burada en havalı olduğunuzu uzun zamandır fark ettim ve size basit görünen şeyi açıklamaya inmek sizin için "düzensiz". Ama kuyruğunu kabartmaya karşı koyamazsın. Yeni başlayanlar için bir dalda değilse başka nerede!

 
Igor Makanu :

ilk mesajımı oku, hattın adını kim farklı verecek? veya çizgiyi hareket ettir

kabataslak çizdi, aceleyle, bir şeyler çizdi, anlamadı, bu kodu göreviniz için yapmaya çalışın

Teşekkür ederim! Daha fazla kazacağım.

 
novichok2018 :

Evet, zaten ilk "tavsiyenizden" sorularıma kadar, burada en havalı olduğunuzu uzun zamandır fark ettim ve size basit görünen şeyi açıklamaya inmek sizin için "düzensiz". Ama kuyruğunu kabartmaya karşı koyamazsın. Yeni başlayanlar için bir dalda değilse başka nerede!

Dinle, bu sözler bile bu kadar cahil olamazsın.

Nesnenin benzersiz adı.

belgelerde görmemek ya da anlamamak. Sana aktarmaya çalıştığım buydu. Ama görünüşe göre işe yaramaz. Bir dahaki sefere senin hakkında düşündüğüm her şeyi fısıldayarak söylemeye çalışacağım. Bazı yeni başlayanlar sonsuza kadar yeni kalır. Bu senin kaderin gibi görünüyor. Shura'yı gördüm, gördüm...

 

Beyler-yoldaşlar @novichok2018 ve @Alexey Viktorov , gereksiz duygulara gerek yok! Diyaloğun yapıcılığını olumsuz etkiliyorlar!....

bitti))))))))))))

 
Igor Makanu :

ilk mesajımı oku, hattın adını kim farklı verecek? veya çizgiyi hareket ettir

kabataslak çizdi, aceleyle, bir şeyler çizdi, anlamadı, bu kodu göreviniz için yapmaya çalışın

Böyle mi yaptı:

Fun_New_Bar();
    if(New_Bar)      
     {
     barfrup_1 = GetLastFractals(1,MODE_UPPER);Alert("barfrup_1 = ",barfrup_1);
     barfrup_2 = GetLastFractals(barfrup_1+1,MODE_UPPER);Alert("barfrup_2 = ",barfrup_2);
     if(barfrup_1==3)
     {
      secondtime1=iTime(NULL,0,barfrup_1);
      secondprice1=iHigh(NULL,0,barfrup_1);
      firsttime1=iTime(NULL,0,barfrup_2);
      firstprice1=iHigh(NULL,0,barfrup_2);
      //рисуем трендовую линию High
      ObjectCreate("HighLine",OBJ_TREND,0,firsttime1,firstprice1,secondtime1,secondprice1);
     }
      if(barfrup_1>3)  ObjectsDeleteAll();
      if(TimeCurrent()>secondtime1)
      {
      datetime Nsecondtime1=iTime(NULL,0,barfrup_1);
      double  Nsecondprice1=iHigh(NULL,0,barfrup_1);
      datetime Nfirsttime1=iTime(NULL,0,barfrup_2);
      double  Nfirstprice1=iHigh(NULL,0,barfrup_2);
      //рисуем новую трендовую линию High
      ObjectCreate("HighLine",OBJ_TREND,0,Nfirsttime1,Nfirstprice1,Nsecondtime1,Nsecondprice1);
      }
      }
 

Sanırım daha kolay oldu. Tarih iyi çalışıyor. Bir demo için çevrimiçi kontrol edeceğim, bence de işe yarayacak. Tecrübelerinize göre - gerçek hayatta işe yarayacak mı?