[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 5. - 페이지 350

 
네. 당신은 여전히 스케줄을 강제로 업데이트해야합니다.
 
smartemiy :

같은 루프로?

나는 노력할 것이다
 
Serg16 :

1000으로 제한되는 iHigh(Symbol(), timeframe ,shift) 의 시프트 값 제한 문제를 해결하는 데 도움을 주세요 .

iTime(Symbol(), timeframe , 1001 )은 1970.01.01 00:00을 제공합니다.

아무도 히스토리 파일에서 읽는 옵션이 하나뿐이라는 것을 돕지 않을 것입니까? 그렇다면 누군가가 히스토리 파일에서 필요한 정보를 결정하기 위해 기성품 개발을 한 것입니다.
 
sergeev :

스페이스바를 누르지 않아도 되지만 전원 버튼은 신호가 사라질 때까지 5-10초 동안 누르고 있어야 합니다.

중재자 중 KVN에서 당신은 팀의 주장이 될 것입니다 ... 질문을 반복합니다. 누군가 대답 할 수 있습니까? 스페이스 바를 눌러도 경고가 꺼지지 않습니다 ... 터미널 버전은 마지막 500입니다 ... 이것은 이전에는 관찰되지 않았습니다.
 
그러나 "도구 - 설정" 메뉴의 "이벤트" 탭에서는 모든 것이 정말 나쁩니다. 사용해보십시오 :(
 

얘들아, 제발 말해줘 이미 이 질문을 했지만 코드를 떠올리는 것은 불가능했습니다.

다시 한 번 아이디어의 본질을 설명하겠습니다. Awesom 표시기에 따르면 낮은(0 미만)에서 위쪽(0 이상)까지 파도의 볼륨이 고려됩니다(볼륨 표시기).

웨이브별 볼륨의 텍스트 레이블은 지표 차트에 표시되어야 하며 전체 이력에 대해 계산되어야 합니다.

알 겠어:

쌀4

실수는 어디에 있습니까?

 #property  indicator_separate_window
#property  indicator_buffers 2
#property  indicator_color1  Red
#property  indicator_color2  SteelBlue
#property  indicator_width1   2

//---- basic fan indicator parameters

extern bool Show_AOLine_2= true ;
extern int SlowEMA3= 34 ;
extern int EMA= 3 ;
extern bool Show_Volume= true ;
extern double coaf= 0.5 ;
//---- indicator buffers
double AOBuffer3[];
double ExtMapBuffer1[];


     double VLUP, AO_up,AO_dn;
     double prhgh_e= 0 , prhgh_s, prlw_e= 0 , prlw_s;
     datetime tmhgh, tmlw;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   //---- drawing settings
   
   string name_ind = "Awesome_super_volumes" ;
   IndicatorShortName( "Awesome_super_volumes" );
   
   
//---- AO_fan line 2 (basic)
   if (Show_AOLine_2 == true ){Show_AOLine_2= DRAW_LINE ; }
   else 
    {Show_AOLine_2= DRAW_NONE ; }
   SetIndexBuffer ( 0 ,AOBuffer3);
   SetIndexStyle( 0 ,Show_AOLine_2);
   SetIndexLabel( 0 , "basic line" );   

   SetIndexBuffer ( 1 ,ExtMapBuffer1);
   SetIndexStyle( 1 , DRAW_HISTOGRAM );
   SetIndexLabel( 1 , "Volume" );
   
   //---- initialization done
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Awesome Oscillator                                               |
//+------------------------------------------------------------------+
int start()
  {
  
   int     limit;
   int     counted_bars=IndicatorCounted();
   double prev,current;
//---- last counted bar will be recounted
   if (counted_bars> 0 ) counted_bars--;
   limit= Bars -counted_bars;

   for ( int i= 0 ; i<limit; i++)
   {
     
 //---- AO_fan + Volumes
     
AOBuffer3[i]= iMA ( NULL , 0 ,EMA, 0 , MODE_SMA , PRICE_MEDIAN ,i)- iMA ( NULL , 0 ,SlowEMA3, 0 , MODE_SMA , PRICE_MEDIAN ,i);
if (Show_Volume== true )
{
double nSum = Volume[i]* Point *coaf;
   if (AOBuffer3[i]<= 0 )ExtMapBuffer1[i] = nSum;
   if (AOBuffer3[i]> 0 )ExtMapBuffer1[i] = -nSum;


double Vol_Arr[];
   if (AOBuffer3[i]<= 0 )Vol_Arr[i]=Volume[i]* Point *coaf;
   if (AOBuffer3[i]> 0 )Vol_Arr[i] = -Volume[i]* Point *coaf;
}
}

   //-- Поиск High & Time & Min_AO   
   if (AOBuffer3[i]> 0 )
  {
    
  AO_up = AOBuffer3[i]* 0.1 +AOBuffer3[i];
  prhgh_s = High[i];
   if (prhgh_s >= prhgh_e) {prhgh_e = prhgh_s; tmhgh = Time[i];}
   //SetText("Awesome_super_volumes"+Close[i], DoubleToStr(VLUP,0), tmhgh, AO_up, Black);
  }   
   
   //-- Поиск Low & Time & Max_AO 
   if (AOBuffer3[i]< 0 )
  {
  AO_dn = AOBuffer3[i]* 0.1 +AOBuffer3[i];
  prlw_s = Low[i];
   if (prlw_s > prlw_e) {prlw_e = prlw_s; tmlw = Time[i];}
   //SetText("Awesome_super_volumes"+Close[i], DoubleToStr(VLUP,0), tmlw, AO_dn, Black);
  } 
  
    // -- Пересчет баров от High до Low
  
   if (NewBar())
{ 
int colbr = iBarShift( NULL , 0 ,tmhgh)-iBarShift( NULL , 0 ,tmlw);     
int shift=iBarShift( NULL , 0 ,tmhgh);
 for (i= 0 ; i<=colbr; i++)
{VLUP += MathAbs (iVolume( NULL , 0 , shift+i));}
}


    
   Comment ( "Vol_" ,VLUP,prlw_e,prhgh_e); 
   for (i= 0 ; i<limit; i++)
   {     
SetText( "Awesome_super_volumes" +Close[i], DoubleToStr(VLUP, 0 ), tmlw, AO_dn, Black);     
 }
        
//---- done
   return ( 0 );
  }
//+------------------------------------------------------------------+
void SetText( string name, string Vl, datetime t1, double p1, color c)
 {
 // if (ObjectFind(name)!=-1) ObjectDelete(name);
   ObjectCreate (name, OBJ_TEXT ,WindowFind( "Awesome_super_volumes" ), 0 , 0 , 0 , 0 );
  ObjectSetText(name, Vl, 10 , "Times New Roman" , c);
  ObjectSet(name, OBJPROP_TIME1 , t1);
  ObjectSet(name, OBJPROP_PRICE1, p1);
  ObjectSet(name, OBJPROP_COLOR , c); 
  }
  
   bool NewBar()
{
   static datetime lastbar = 0 ;
   datetime curbar = Time[ 0 ];
   if (lastbar!=curbar)
   {
      lastbar=curbar;
       return ( true );
   }
   else
   {
     return ( false );
   }}
 
smartemiy :

1. 변환 함수는 변환되며 이 함수의 변수 변경은 틱이 없어도 변경되지 않습니다. TimeToStr(TimeLocal(), TIME_MINUTES) - 틱에 따라 다릅니다.

2. Expert Advisor를 반복하지 않도록 Win32/User32에서 시간을 얻는 방법이 있습니까?

1. 이러한 기능 중 어느 것도 틱에 의존하지 않습니다. 반환 값을 얻으려면 함수를 호출해야 합니다. 인디케이터와 Expert Advisor에서는 틱이 도착했을 때 이런 일이 발생하지만 문제가 되지는 않습니다. Expert Advisor 또는 스크립트를 반복할 수 있습니다. 그러면 설정한 주파수로 전화가 옵니다.

2. 아무 소용이 없습니다. 동일한 TimeLocal ()을 발명할 것입니다.

 
Heroix :

나는 교과서에서 무언가를 찾지 못했습니다. "&"는 함수의 형식 매개 변수에서 무엇을 의미합니까? 그것이 무엇에 영향을 미치고 무엇을 의미하는지 알려주십시오.


https://docs.mql4.com/en/basis/variables/formal


"참조로 매개변수를 전달할 수 있습니다 ..."라는 단어가 있는 페이지의 두 번째 부분. 예를 잘 보세요.

 
그러나 당신은 빠릅니다. 때문에 게시물을 삭제했습니다. 스스로 찾았습니다. 고맙습니다!
 

안녕하세요.

교차로를 수정하는 가장 좋은 방법을 알려주세요. 확률론적이라고 가정해 보겠습니다.

첫 번째 및 세 번째 막대에서 신호와 메인 라인 또는 첫 번째와 두 번째 값을 비교합니까?