정사각형 또는 직사각형 그리기. 정말 도움이 필요해요... - 페이지 8

 
evillive :

나는 작업 스크립트의 예를 들었습니다. 거기에 화살표와 추세선의 그림을 추가하고 한 달이 아닌 H4 아래에 다시 만들어야합니다. 지표 개념에서 벗어나 다른 각도에서 문제를 바라보기만 하면 됩니다.

이 줄은 스크립트에서 가져왔습니다. 스크립트는 매우 유용합니다. 고맙습니다.

추세선 은 전체 기간에 대해 작성되지만 직선입니다. 그리고 당신은 안녕 예 안녕에서 필요합니다. "펜스" 토비쉬.

         ObjectCreate     ( 0 ,Name_Obj + " V_Line" + DoubleToStr(i, 0 ), OBJ_TREND , 0 , t_Line, mqlRates[ 0 ].high, t_Line,mqlRates[ 0 ].low);
 
AlexeyVik :

도움말을 읽으면 프로그래밍 언어를 배우는 데 도움이 됩니다. 그런 다음 이 참조에서 명확하지 않은 것이 있으면 질문할 수 있습니다.

그리고 문서를 전혀 읽지 않고 SetIndexStyle(0, DRAW_SECTION); 그리고 그것을 어리둥절하게 OnCalculate에 삽입한다.

이것과 어리석은 실수로부터의 경험은 없습니다.

키요사키의 말대로. 먼저 실수를 한 다음 분석하십시오. 무엇이 잘못되었는지 이해하기 위해.

 
Alex_Profit :

이 줄은 스크립트에서 가져왔습니다. 스크립트는 매우 유용합니다. 고맙습니다.

추세선은 전체 기간에 대해 작성되지만 직선입니다. 그리고 당신은 안녕 예 안녕에서 필요합니다. "펜스" 토비시.

생각해봐, 머리, 내가 너에게 파이를 줄게))))

여기에서 OBJ_TREND 에 따르면 도움말, 방법 및 내용을 읽어야 합니다. 두 점의 시간이 같으면 어떤 선을 구해야 합니까?

그리고 아니요, 이것은 내 스크립트가 아닙니다.

 
evillive :

여기에서 OBJ_TREND 에 따르면 도움말, 방법 및 내용을 읽어야 합니다. 두 점의 시간이 같으면 어떤 선을 구해야 합니까?

각각 직접.

두 번째 앵커 포인트 를 찾는 방법을 이해하지 못합니다. 삽입할 위치도 명확합니다.

 

감사합니다. 아주 잘 도왔습니다. 끝까지 알아내지 못해서 조금 남았어요.

어쨌든 기다려 주셔서 감사합니다. 더 많은 수익과 좋은 주말.

 

좋은 하루 되세요. 전문가들의 도움을 구합니다. 그런 코드가 있습니다.

일일 TF의 고점에 따라 추세선이 그려지도록 수정해야 할 사항을 알려주세요.

글쎄, 그것은 매우 필요합니다. 도와주세요, 제발.

 #property indicator_chart_window
#property strict
extern int    limit = 30 ;
extern bool   Sho_bars = true ;
string txt = "TRADE_" ;
//+------------------------------------------------------------------+
int init()
  {
   return ( 0 );
  }
//+------------------------------------------------------------------+
int deinit()
  {
   GetDellName (txt);
   Comment ( "" );
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int limits;
   int counted_bars=IndicatorCounted();   
   if (counted_bars< 0 ) return (- 1 );
   if (counted_bars> 0 ) counted_bars--;
   limits = Bars -counted_bars;        
//----
   if (limits> 0 )                      
   {
     for ( int i=limit; i>= 0 ; i--)
    {
     double    _High      = iHigh( Symbol (), 1440 ,i);   
     double    _Low       = iLow( Symbol (),   1440 ,i);   
     double    _Open      = iOpen( Symbol (), 1440 ,i);   
     double    _Close     = iClose( Symbol (), 1440 ,i);                
     datetime _Time_Open = iTime( Symbol (), 1440 ,i);       // Открытие бара
     //datetime _start_day = 11*60*60;                   // Начало дня  
     datetime _End_Day   = 1440 * 60 ;                       // Конец дня 
       
     string    _Time_Open_txt  = TimeToStr(_Time_Open, TIME_DATE ); // Преобразуем время открытия в строку   
     if (Sho_bars)
      {
       // Функция рисующая объекты на графике
       TrendLineGraff(txt + _Time_Open_txt + " start_day" ,_Time_Open,_High,_Time_Open,_Low);                      // левая граница     
       TrendLineGraff(txt + _Time_Open_txt + " End_Day" ,_Time_Open + _End_Day,_High,_Time_Open + _End_Day, _Low); // правая граница           
       TrendLineGraff(txt + _Time_Open_txt + " High" ,_Time_Open,_High,_Time_Open + _End_Day,_High);               // верхняя граница  
       TrendLineGraff(txt + _Time_Open_txt + " Low" ,_Time_Open,_Low,_Time_Open + _End_Day,_Low);                  // нижняя граница      
       
       TrendLineGraff(txt + _Time_Open_txt + " T_Line" , _Time_Open, _Open, _Time_Open + _End_Day, _Close);
      }          
   }
 }  
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Функция отображения трендовой линии                              |
//+------------------------------------------------------------------+
 void TrendLineGraff( string labebe, datetime time1, double price1, datetime time2, double price2)
  {
   if ( ObjectFind (labebe)!=- 1 ) ObjectDelete (labebe);
   ObjectCreate (labebe, OBJ_TREND , 0 ,time1,price1,time2,price2);
   ObjectSet(labebe, OBJPROP_COLOR , clrDarkOrchid );
   ObjectSet(labebe, OBJPROP_STYLE , 0 );
   ObjectSet(labebe, OBJPROP_RAY , 0 );
   ObjectSet(labebe, OBJPROP_BACK , true );
  }
//+------------------------------------------------------------------+
//| Функция удаляет объекты                                          |
//+------------------------------------------------------------------+

 void GetDellName ( string name_n = "ytg_" )
  {
   string vName;
   for ( int i= ObjectsTotal ()- 1 ; i>= 0 ;i--)
    {
     vName = ObjectName (i);
     if ( StringFind (vName,name_n) !=- 1 ) ObjectDelete (vName);
    }  
  }
//+------------------------------------------------------------------+
 
Alex_Profit :

좋은 하루 되세요. 전문가들의 도움을 구합니다. 그런 코드가 있습니다.

일일 TF의 고점에 따라 추세선이 그려지도록 수정해야 할 사항을 알려주세요.

글쎄, 그것은 매우 필요합니다. 도와주세요, 제발.

다른 시간대의 데이터로 작업할 때 막대는 해당 시간대에서 계산되어야 합니다. 그러나 교훈은 미래를위한 것이 아닙니다 ...

아이바()!!!

그리고 객체를 삭제하는 주기 대신 모든 객체에 고유한 접두사(이 경우 "TRADE_" )를 할당하고 ObjectsDeleteAll() 함수를 사용하여 한 번에 모두 삭제할 수 있습니다.

여기있어: 날짜 시간 _End_Day = 1440 * 60 ; // End of the day - nifiga " End of the day"가 아니라 2개월 후입니다. ))) 그리고 "end of the day"의 값은 다음 날의 시작이므로 전혀 필요하지 않습니다. 표시기가 거기에 선을 그을 것입니다.

 
evillive :

다른 시간대의 데이터로 작업할 때 막대는 해당 시간대에서 계산되어야 합니다. 그러나 교훈은 미래를위한 것이 아닙니다 ...

아이바()!!!

실례하겠습니다. 그러나 그것은 나에게 잘 와 닿지 않습니다. 그냥 코드에서 수정하면 되는건가요?

그리고 동시에 예를 들어. 예제를 사용하면 항상 더 쉽습니다.

글쎄, 그것은 매우 필요합니다. 고맙습니다.

 
Alex_Profit :

실례하겠습니다. 그러나 그것은 나에게 잘 와 닿지 않습니다. 그냥 코드에서 수정하면 되는건가요?

그리고 동시에 한 예입니다. 예제를 사용하면 항상 더 쉽습니다.

글쎄, 그것은 매우 필요합니다. 고맙습니다.

결과는 무엇입니까? 잘 되었나요?