Sultonov의 시스템 표시기 - 페이지 25

 
Maxim Kuznetsov :

트레이더는 Excel로 작업합니다. 리트머스 종이 같아요. 테이블에 익숙하지 않다면 그는 어떤 종류의 상인입니까? 그는 어떻게 예산과 돈을 계산합니까?

그리고 프로그래머가 Excel 시트를 MQL 프로그램으로 전송할 수 없는 경우에도 계속 연습해야 합니다 :-)

Yusuf는 자신의 생각을 말하려고 하지만(내가 기본적으로 동의하지 않는 정당화에도 불구하고) 당신은 더 나쁜 일을 하고 있습니다. 기본적인 도움 대신에 불필요한 것을 배우도록 강요합니다. 동시에 모든 사람은 프로그래밍을 시작하지 않고 수식을 mql로 전송하지 않을 것임을 완벽하게 이해합니다. 당신은 비웃고 한 사람에게서 몇 달, 심지어 몇 년을 빼앗습니다.

음, 예, Excel 시트에 직접 작성하는 방법을 상상할 수 없습니다. 혼자 앉아서 얽힌 것을 푸는 것입니다. 테이블은 매우 교묘하게 얽혀 있습니다. TOR에 따라 작업을 평가해야 합니다.

또한 내 경험에서 다시 Excel에서 알고리즘을 다시 작성할 때 내가 쓰고 있는 것에 대해 추가로 생각했기 때문에 논리적 오류를 발견했습니다. 종종 Excel에서 환상을 보는 것이 편리합니다.

또한 파일 자체를 첨부하는 것이 좋습니다.

따라서 불필요한 학습을 근거가 없고 근거가 없는 것으로 만드는 것에 대한 귀하의 주장을 고려합니다.

당신이 기술이 있다면, 멀리서 그의 머리에서 TK를 텔레파시로 읽어서 사람을 데려가 도와주지 않겠습니까?

 

나는 퍼즐을 푸는 것에 지쳤다. https://www.mql5.com/en/forum/305148 설명과 함께 첫 페이지에 있는 것처럼 스크린샷을 찍습니다. 정보를 더 쉽게 이해할 수 있도록 하려면 얕은 이력에 대해 계산을 수행하면 적을수록 더 좋습니다(이해하는 것이 훨씬 더 쉬울 것입니다). 도움을 받고 싶다면 텍스트 두루마리를 압축하십시오. 아무도 큰 텍스트를 읽지 않고 깊이 있게 읽지 않을 것입니다.

Расчет коэффициентов
Расчет коэффициентов
  • 2019.02.28
  • www.mql5.com
Нужно погонать коэффициенты к 1-7 следующим образом: A1*k1+B1*k2=I1 A2*k1+B2*k2=I2 A3*k1+B3*k2+C3*k3=I3 A4*k1+B4*k2+C4*k3+D4*k4=I4 и так далее...
 

이동된 행의 첫 번째 값은 다음과 같습니다.

1.1376 1.1377 1.1375 1.1361 1.1358

어떻게 했어:

x1 x2 x3 x4 와이

1.1376 1.1376 1.1377 1.1375 1.1361

x1과 x2는 같은 행인가요? 1.1358에서 시작하는 C 5는 어디로 갔습니까?
 
Yousufkhodja Sultonov :

결정된

전체 계산된 테이블의 스크린샷을 찍습니다.

 
forexman77 :

전체 계산된 테이블의 스크린샷을 찍습니다.

Excel 파일을 즉시 압축하고 이미 질문이 있는 것이 좋습니다. 그렇지 않으면 영원히 계속될 것입니다. 당신은 결국 Yusuf를 고문합니다. 글쎄, 그는 할 수 없습니다.
 
Yuriy Asaulenko :
Excel 파일을 즉시 압축하고 이미 질문이 있는 것이 좋습니다. 그렇지 않으면 영원히 계속될 것입니다. 당신은 결국 Yusuf를 고문합니다. 글쎄, 그는 할 수 없습니다.

잘 설득하고 스크린샷을 직접 배치하고 개발에 기여하십시오. 내일 확인하겠습니다.

대답은 무엇이며 안녕하세요. 명확한 정보가 없으며 결과도 없습니다.

 
forexman77 :

전체 계산된 테이블의 스크린샷을 찍습니다.

현재 프로그램이 완전히 수정된 상태이므로 걱정하지 마십시오.

 
Yuriy Asaulenko :
Excel 파일을 즉시 압축하고 이미 질문이 있는 것이 좋습니다. 그렇지 않으면 영원히 계속될 것입니다. 당신은 결국 Yusuf를 고문합니다. 글쎄, 그는 할 수 없습니다.

유리야, 너도 온라인으로 팔로잉하니?

 
Yousufkhodja Sultonov :

유리야, 너도 온라인으로 팔로잉하니?

예, 산발적으로. 그러나 나는 이것이 더미라고 확신하고 처음부터 버스트하는 것은 시스템 자체의 불안정성입니다.
 
Yousufkhodja Sultonov :

여기 표시기가 비어 있습니다.

이 공백은 예를 들어 간단한 MA 지표를 구현하지만 속도 면에서 최적이 아니지만 학습에 대한 스트레스가 적은 몇 가지 단순화를 통해 귀하의 사례에 맞게 조정되었습니다.

지표를 작성하려면 함수 본문에 계산 코드를 작성하기만 하면 됩니다.

 void Soltonov( int pos) // основной расчет индикатора бара pos. В массиве X, размерностью 13 находятся значение цены 13 бар, начиная от позиции pos

현재 3줄 형태로 기간이 13인 MA 계산이 있습니다.

기본적으로 13을 선택한 이유는 무엇입니까? 현재 계산에 13개의 가격 값을 사용한다고 스스로 말했기 때문입니다.

이 13개의 값은 배열 X(X[0]에서 X[12]까지)에 있습니다.

이 함수의 본문에 있는 이 13개 값에서 계산을 수행하고 값을 SoltonovBuffer[pos] 표시기 버퍼에 쓰기만 하면 됩니다. 전체 지표가 자동으로 생성됩니다.

 //+------------------------------------------------------------------+
//|                                                     Soltunov.mq5 |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link        "https://www.mql5.com/ru/users/yosuf"
#property version    "1.00"
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_plots    1
//--- plot Soltonov
#property indicator_label1    "Soltonov"
#property indicator_type1    DRAW_LINE
#property indicator_color1    clrMagenta
#property indicator_style1    STYLE_SOLID
#property indicator_width1    1

//--- indicator buffers
double          SoltonovBuffer[]; // это буфер линии индикатора
double          X[];               // это вспомогательный массив для значений цены
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   SetIndexBuffer ( 0 ,SoltonovBuffer, INDICATOR_DATA );  
   ArrayResize (X, 13 );                       // задаем размер динамического массива X - 13
   ArraySetAsSeries (X, true );               // для удобства обучения устанавливаем индексацию массива как в таймсерии
   ArraySetAsSeries (SoltonovBuffer, true );   // для удобства обучения устанавливаем индексацию массива как в таймсерии
   ArrayInitialize (SoltonovBuffer, EMPTY_VALUE ); // инициализируем буфер индикатора пустыми значениями

//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const int begin,
                 const double &price[])
  {
   int N=rates_total-prev_calculated;
   if (N> 1 && rates_total> 12 ) // если осуществляем первый вход или была задержка больше времени одного бара, выполняем инициализацию всех баров
     {
       for ( int i=rates_total- 1 ; i> 11 ; i--)
        {
         ArrayCopy (X,price, 0 ,i- 12 , 13 );
         Soltonov(rates_total- 1 -i);
        }
       ArrayCopy (X,price, 0 ,rates_total- 13 , 13 );
       return (rates_total);
     }
   else if (N== 1 ) ArrayCopy (X,price, 0 ,rates_total- 13 , 13 );     // если новый бар
   else   X[ 0 ]=price[rates_total- 1 ];                           // если новый тик без образования нового бара
   Soltonov( 0 );
   return (rates_total);
  }
//+------------------------------------------------------------------+
// Писать код в этой функции!
//+------------------------------------------------------------------+
void Soltonov( int pos) // основной расчет индикатора бара pos. В массиве X, размерностью 13 находятся значение цены 13 бар, начиная от позиции pos
                       // X[0]- значение цены бара с номером pos
                       // X[1]- значение цены бара с номером pos+1
                       // ....
                       // X[12]- значение цены бара с номером pos+12
  {
   double Sum= 0 ;                         // создаем переменную для подсчета суммы баров
   for ( int i= 0 ;i< 13 ;i++) Sum = Sum+X[i]; // суммируем 13 баров
   SoltonovBuffer[pos]=Sum/ 13 ;           // помещаем в значение индикаторного буфера среднее арифметическое 13 цен
  }
//+------------------------------------------------------------------+

MT5에서 F4를 누르고 ME(MetaEditor)로 들어갑니다. 여기에서 사용자 지정 표시기를 만들고(Ctrl + N) 생성할 때 이름을 지정합니다(예: " Soltunov "(기본적으로 가지고 있음)). 코드가 생성되면 이 모든 코드를 내 공백으로 바꿉니다.

그리고 프로그래밍 학습을 시작합니다.

MT5 설정에서 창의 최대 막대를 먼저 설정하는 것이 좋습니다. 그다지 크지 않습니다(5000이면 충분합니다).

MQL5 언어를 마스터하기 위해 책을 읽을 필요가 없습니다. 기능이나 관심 단어를 클릭한 후 F1 키를 사용하여 도움말을 사용하면 됩니다. 또한 도움말에서 검색을 사용하십시오.

애니메이션 GIF를 보세요(그림을 클릭해야 함):


또한 변수의 변경 사항을 모니터링할 수 있는 기능이 있는 단계별 모드에서 프로그램을 전달하기 위한 중단점 설정을 사용하여 ME에 내장된 디버거를 즉시 마스터할 것을 강력히 권장합니다.

애니메이션 gif도 확인하세요


행운을 빌어요 유서프!
과학적 찌르기 방법이 도움이되지 않으면 질문이있을 것입니다. 부끄러워하지 말고 질문하십시오.

나는 우리가 전 세계를 도울 것이라고 생각합니다.

파일:
Soltonov.mq5  8 kb