MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1172

 
안녕하세요 여러분, 누군가 메타트레이더 4에 .exe 파일을 가지고 있습니까? DC에 연결되지 않은 개발자의 것입니다.
 
a.lxrn :
안녕하세요 여러분, 누군가 메타트레이더 4에 .exe 파일을 가지고 있습니까? DC에 연결되지 않은 개발자의 것입니다.

파일이 첨부되지 않은 경우 DC에서 metatrader.exe 및 metaeditor.exe를 가져 와서 별도의 폴더에서 실행하고 계정을 설정하십시오. 사이트에 4ki 설치 프로그램이 없습니다. 근데 이게 왜?

 
Igor Makanu :

이 기능을 사용하여 차트에 프랙탈 표시기 및 테스트 EA를 드롭합니다.

내 함수에 MODE_UPPER 및 MODE_LOWER를 전달하여 찾은 값을 인쇄합니다.

막대 시간을 기억해야 합니다. 새 막대가 나타나면 번호가 변경되고 막대 여는 시간은 항상 일정합니다.

저것들. 내 코드를 실행하고 프랙탈이 발견된 막대의 시간을 기억한 다음 다시 실행하십시오. 막대를 찾아 이 막대의 시간과 기억된 막대의 시간을 비교하십시오. 시간이 다르므로 이것은 새로운 프랙탈입니다.

다음과 같이 했습니다.

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

한 줄을 그립니다. 내가 추가하면 :

 if (barfrup_1> 3 )   ObjectsDeleteAll ();

그런 다음 이 줄을 지우면 됩니다. 뭐가 문제 야?

 
novichok2018 :

다음과 같이 했습니다.

한 줄을 그립니다. 내가 추가하면 :

그런 다음 이 줄을 지우면 됩니다. 뭐가 문제 야?

이전 메시지 중 하나에서 응답하지 않았다는 사실에 대해 불평했습니다. 그리고 문서를 읽도록 보낸 횟수와 기본 질문이 저절로 사라지는 것을 기억하십시오. 이 질문은 "연기 문서" 시리즈에서 다시 나온 것입니다. 단어를 건너뛰지 않고 조심스럽게 담배를 피우고 문장을 건너뛰지 않고 더욱 그렇습니다.

당신은 완전한 이름을 가지고 있다고 생각합니까? 성, 이름 및 애칭은 말할 것도없고 연도와 생일이 일치하도록 가득 차 있습니다.

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

다음과 같이 했습니다.

한 줄을 그립니다. 내가 추가하면 :

그런 다음 이 줄을 지우면 됩니다. 뭐가 문제 야?

내 첫 번째 메시지를 읽어 보세요. 누가 줄 이름을 다르게 지정할까요? 또는 라인을 이동

스케치하다, 급히, 무언가를 그리다, 이해하지 못하다, 이 코드를 작업용으로 만들려고 시도하다

 //+------------------------------------------------------------------+
//|                                                 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 :

이전 메시지 중 하나에서 응답하지 않았다는 사실에 대해 불평했습니다. 그리고 문서를 읽도록 보낸 횟수와 기본 질문이 저절로 사라지는 것을 기억하십시오. 이 질문은 "연기 문서" 시리즈에서 다시 나온 것입니다. 단어를 건너뛰지 않고 조심스럽게 담배를 피우고 문장을 건너뛰지 않고 더욱 그렇습니다.

당신은 완전한 이름을 가지고 있다고 생각합니까? 성, 이름 및 애칭은 말할 것도없고 연도와 생일이 일치하도록 가득 차 있습니다.

네, 제 질문에 대한 첫 번째 "조언"에서 이미 저는 오랫동안 당신이 여기에서 가장 멋진 사람이라는 것을 깨달았습니다. 그리고 당신에게 기본적으로 보이는 것을 설명하는 것은 당신에게 "순서가 맞지 않는" 일입니다. 그러나 꼬리를 펄럭이는 것을 참을 수는 없습니다. 초보자를 위한 지점이 아니라면 어디에!

 
Igor Makanu :

내 첫 번째 메시지를 읽어 보세요. 누가 줄 이름을 다르게 지정할까요? 또는 라인을 이동

스케치하다, 급히, 무언가를 그리다, 이해하지 못하다, 이 코드를 작업용으로 만들려고 시도하다

고맙습니다! 나는 더 파헤칠 것이다.

 
novichok2018 :

네, 제 질문에 대한 첫 번째 "조언"에서 이미 저는 오랫동안 당신이 여기에서 가장 멋진 사람이라는 것을 깨달았습니다. 그리고 당신에게 기본적으로 보이는 것을 설명하는 것은 당신에게 "순서가 맞지 않는" 일입니다. 그러나 꼬리를 펄럭이는 것을 막을 수는 없습니다. 초보자를 위한 지점이 아니라면 어디에!

들어봐, 이런 말들까지 할 정도로 무식할 순 없어

개체의 고유한 이름입니다.

문서에서 보거나 이해하지 못합니다. 그것이 내가 당신에게 전달하려고 했던 것입니다. 그러나 분명히 쓸모가 없습니다. 다음에는 내가 당신에 대해 생각하는 모든 것을 속삭이는 소리로 말할 수 있도록 최선을 다할 것입니다. 어떤 뉴비는 영원히 뉴비로 남습니다. 이것이 당신의 운명인 것 같습니다. 슈라 봤어...

 

여러분, @novichok2018@Alexey Viktorov 여러분, 불필요한 감정은 필요 없습니다! 그들은 대화의 건설성에 부정적인 영향을 미칩니다! ....

싸서))))))))))))

 
Igor Makanu :

내 첫 번째 메시지를 읽어 보세요. 누가 줄 이름을 다르게 지정할까요? 또는 라인을 이동

스케치하다, 급히, 무언가를 그리다, 이해하지 못하다, 이 코드를 작업용으로 만들려고 시도하다

다음과 같이 했습니다.

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

더 쉬워진 것 같아요. 역사는 잘 작동합니다. 데모를 위해 온라인으로 확인하겠습니다. 그것도 효과가 있을 것이라고 생각합니다. 귀하의 경험에 따르면 실제 생활에서 작동합니까?