[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 161

 
chief2000 >> :

내가 설정한 표시기에서(시간[i]와 비교하기 위해):


그런 다음 루프에서


결과적으로 StrToTime(StartRange) StrToTime(EndRange)은 0을 반환 합니다.

- 그 이유와 해결 방법은?



이런. 날짜 시간 변수를 StrToTime 함수에 어떻게 붙일 수 있습니까? 거기에 문자열이 필요합니다!.

아니면 작업 양식 D'1970.12.24'가 문자열이라고 생각하십니까? 당신은 잘못.

TimeToStr이 필요할까요?

 


결과적으로 StrToTime (StartRange) StrToTime(EndRange)은 0을 반환 합니다.

- 그 이유와 해결 방법은?



 //функция 

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 ) )
     {
       //торгуем
     }
*/
 

분명히 내 실수였습니다 (오해 된 예

문서에서). "datetime" 유형의 변수를 Time[i]와 직접 비교할 수 있음이 밝혀졌습니다.

도와 주셔서 감사합니다!

 
,.... 주문을 열고 통과한 포인트 수를 계산하는 기능이... 글쎄요, 아니면 코드 조각이 있나요? 캐노피를 직접 만드는 것은 운명이 아니지만(어제부터 Kishi의 중산은 요리하지 않았습니다), 매우 필요합니다!
 
글쎄, 내 머리가 요리하지 않는다고 말합니다)))) 나는 가서 트롤에서 코드를 가져올 것입니다)))
 

//+------------------------------------------------------------------+
//| 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);
  }
//+------------------------------------------------------------------+

예를 들어 -5 막대로 음수 오프셋으로 MA를 만들 수 있습니까? -5로 설정하면 헛소리를 그립니다 ??

 
evgenio >> :

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

그리고 왜 실제로 헛소리입니까? 보고 싶은 것이 있습니까? 또는 내가 이해하지 못하는 것!

앗

위는 귀하의 변형이고 아래는 -5 의 이동이 있는 변형입니다! 방금 -5 막대만큼 이동했습니다. 무엇이 잘못되었거나 잘못되었나요????????

 
Infinity >> :

그리고 왜 실제로 헛소리입니까? 보고 싶은 것이 있습니까? 또는 내가 이해하지 못하는 것!

위는 귀하의 변형이고 아래는 -5 의 이동이 있는 변형입니다! 방금 -5 막대만큼 이동했습니다. 무엇이 잘못되었거나 잘못되었나요????????

네, 하지만 그 때 이 고문을 통해 전화하려고 할 때입니다.

//+------------------------------------------------------------------+
//| 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);
  }
//+------------------------------------------------------------------+

넌센스로 판명

나는 그렇게한다

1. 특정 기간에 테스트를 시작합니다.

2. 인디케이터를 붙인다

3 헛소리


 

어떻게 하면 될까요 제발 알려주세요

그래서 내 고문은 하루에 한 번만 주문을 엽니다.

그가 주문을 열면 닫고 다음 날까지 꺼집니다.

내가 알기 로는 다음 거래의 내역 에서 바트해야합니다 .. 날짜와 비교하고 그 날에 주문이 이미 마감되었으면 어드바이저를 끄십시오 ..

내가 생각하는 방향으로?

완전히 이해할 수 없습니다. mql은 아직 초보자이기 때문에

 

좋은 오후입니다, 동료들.

프로그래밍 방식으로 방법을 알려주십시오. 전문가, 직선의 변곡점을 설명하십시오. 전문가는 MA 위치의 두 가지 변형을 분리해야 합니다. MA는 성장하고 MA는 떨어지고 있습니다.

사유: