[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 161

 
chief2000 >> :

Ayarladığım Göstergede (daha sonra onları Zaman[i] ile karşılaştırmak için):


Sonra bir döngüde


Sonuç olarak , StrToTime(StartRange) ve StrToTime(EndRange) Sıfırlar döndürür.

- Neden ve nasıl düzeltilir?



ayy ve bir datetime değişkenini StrToTime işlevine nasıl yapıştırırsınız? Orada dize gerekir!.

yoksa D'1970.12.24' iş formunun bir dizi olduğunu mu düşünüyorsunuz? Hatalısınız.

Belki TimeToStr'a ihtiyacınız var?

 


Sonuç olarak , StrToTime (StartRange) ve StrToTime(EndRange) Sıfırlar döndürür.

- Neden ve nasıl düzeltilir?



 //функция 

bool isTradeTimeString ( string TimeBegin = "00:00" , string TimeEnd = "00:00" ) {
  datetime dtBegin , dtEnd ;        // Время начала и окончания работы
  int      hc , he ;                // Часы текущего времени и окончания работы

  dtBegin = StrToTime ( TimeToStr ( TimeCurrent ( ) , TIME_DATE ) + " " + TimeBegin ) ;
  dtEnd  = StrToTime ( TimeToStr ( TimeCurrent ( ) , TIME_DATE ) + " " + TimeEnd ) ;
  hc     = TimeHour ( TimeCurrent ( ) ) ;
  he     = TimeHour ( dtEnd ) ;
  if ( dtBegin > = dtEnd ) {
    if ( hc > = he ) dtEnd + = 24 * 60 * 60 ; else dtBegin - = 24 * 60 * 60 ;
  }

  if ( TimeCurrent ( ) > = dtBegin & & TimeCurrent ( ) < = dtEnd ) return ( True ) ;
  else return ( False ) ;
}

//+-------------------------------------------------------------------
вставить в глоб . переменные
//extern string TimeBegin = "00:00";
//extern string TimeEnd = "00:00";

а это уже в код - проверка 
/*
isTradeTimeString ( ) ; //торговля по времени
   if ( isTradeTimeString ( TimeBegin , TimeEnd ) )
     {
       //торгуем
     }
*/
 

Açıkçası benim hatamdı (yanlış yorumlanmış Örnek

belgelerden). "datetime" türündeki bir değişkeni doğrudan Time[i] ile karşılaştırabileceğiniz ortaya çıktı.

Yardım için teşekkürler!

 
,...... bir emrin açılmasından sonra geçen puanları sayan bir fonksiyon,... ya da bir kod parçası var mı? Kendiniz bir gölgelik yapmak kader değil (dünden beri, Kishi'nin melonu pişirmedi), ama çok gerekli!
 
Eh diyorum kafam yemek yapmıyor)))) gidip trolden kodu çekeyim)))
 

//+------------------------------------------------------------------+
//| Custom MACD.mq4 |
//| Copyright © 2004, MetaQuotes Software Corp. |
//| http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net/"
//---- indicator settings
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 Silver
#property indicator_color2 Red
#property indicator_color3 Blue

#property indicator_width1 2
//---- indicator parameters
extern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9;
extern int SMA=12;

//---- indicator buffers
double MacdBuffer[];
double SignalBuffer[];
double EMABuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
  {
//---- drawing settings
  SetIndexStyle(0,DRAW_HISTOGRAM);
  SetIndexStyle(1,DRAW_LINE);
  SetIndexStyle(2,DRAW_LINE);
  SetIndexDrawBegin(1,SignalSMA);
  IndicatorDigits(Digits+1);
//---- indicator buffers mapping
  SetIndexBuffer(0,MacdBuffer);
  SetIndexBuffer(1,SignalBuffer);
  SetIndexBuffer(2,EMABuffer);
   
//---- name for DataWindow and indicator subwindow label
  IndicatorShortName("MACD("+FastEMA+","+SlowEMA+","+SignalSMA+","+SMA+")");
  SetIndexLabel(0,"MACD");
  SetIndexLabel(1,"Signal");
//---- initialization done
  return(0);
  }
//+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence |
//+------------------------------------------------------------------+
int start()
  {
  int limit;
  int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
  if(counted_bars>0) counted_bars--;
  limit=Bars-counted_bars;
//---- macd counted in the 1-st buffer
  for(int i=0; i<limit; i++)
  MacdBuffer[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
//---- signal line counted in the 2-nd buffer
  for(i=0; i<limit; i++)
  SignalBuffer[i]=iMAOnArray(MacdBuffer,Bars,SignalSMA,0,MODE_SMA,i);
//---- done
  for(i=0; i<limit; i++)
  EMABuffer[i]=iMAOnArray(MacdBuffer,Bars,SMA, 0 ,MODE_SMA,i);
//---- done
  return(0);
  }
//+------------------------------------------------------------------+

MA'yı örneğin -5 bar ile negatif bir ofsetle nasıl yapabilirim, -5'e ayarladığımda biraz saçmalık çekiyor ??

 
evgenio >> :

как мне сделать МА с отрицательным смещением например на -5 баров, когда ставлю -5 рисует каюто фигню ??

Ve neden gerçekten saçmalık? Görmek istediğin bir şey var mı? Ya benim anlamadığım!

ׂ

Yukarıda sizin varyantınız, aşağıda -5 kaymalı varyant var! sadece -5 çubuk kaydırıldı, yanlış veya yanlış olan ne????????

 
Infinity >> :

Ve neden gerçekten saçmalık? Görmek istediğin bir şey var mı? Ya benim anlamadığım!

Yukarıda sizin varyantınız, aşağıda -5 kaymalı varyant var! sadece -5 çubuk kaydırıldı, yanlış veya yanlış olan ne????????

evet, ama o zaman bu danışman aracılığıyla aramaya çalışıyorum

//+------------------------------------------------------------------+
//| fgfgfgfgfgf.mq4 |
//| Evgenio |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Evgenio"
#property link "http://www.metaquotes.net"

extern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9;
extern int SMA=12;
//---переменные----------
double k,k1,k2;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
  return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
  return(0);
  }
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
  {
  k=NormalizeDouble(iCustom(Symbol(),0,"MACD+мувинг",FastEMA,SlowEMA,SignalSMA,SMA,0,0),5);
  k1=NormalizeDouble(iCustom(Symbol(),0,"MACD+мувинг",FastEMA,SlowEMA,SignalSMA,SMA,1,0),5);
  k2=NormalizeDouble(iCustom(Symbol(),0,"MACD+мувинг",FastEMA,SlowEMA,SignalSMA,SMA,2,0),5);
  if (OrdersTotal()<=2)
  {
  if (k>0 && k2>k1+0.0005)
  ObjectCreate("down"+Time[1], OBJ_ARROW, 0, Time[1], Open[1]+100*Point);
  ObjectSet("down"+Time[1], OBJPROP_ARROWCODE, 242);
  ObjectSet("down"+Time[1], OBJPROP_COLOR, Yellow);
  }
  return(0);
  }
//+------------------------------------------------------------------+

saçmalık çıkıyor

öyle yaparım

1. Belirli bir süre test etmeye başlarım

2. Göstergeyi ekliyorum

3 saçmalık


 

nasıl yapabilirim lütfen söyle

böylece danışmanım günde sadece bir kez sipariş açar.

bir sipariş açarsa, kapatır ve ertesi güne kadar kapanır.

anladığım kadarıyla, bir sonraki anlaşmanın geçmişinden bart almanız gerekiyor .. tarihle karşılaştırın ve sipariş o gün zaten kapalıysa, danışmanı kapatın ..

bu yönde bence?

tam olarak kavrayamaz. çünkü mql hala acemi

 

İyi günler meslektaşlarım.

Lütfen bana ne kadar programlı olduğunu söyleyin, yani. uzman, düz çizginin büküm noktalarını açıklayın, yani. uzman MA pozisyonunun iki çeşidini ayırmalıdır: MA büyüyor, MA düşüyor.