초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 604

 
new-rena :

반론.

차트, 입찰 및 매도호가 등 모든 통화 쌍의 움직임은 변수 집합에 따라 달라집니다.

비율의 움직임은 변수에 의존하지 않지만 트레이더는 움직임의 패턴을 찾으려고 시도하고 이를 기반으로 포지션을 열고 유지하고 닫을 변수(입력 데이터)를 선택합니다. 결국, 거래 시스템은 저자의 아이디어에 따르면 수익성있는 작업을 위해 설계된 일련의 특정 규칙입니다. 이익과 손실의 분포는 아마도 무작위이지만 그 비율이 다르기 때문에 수익성 있는 거래 시스템이 획득됩니다. 아마 그렇게 될 것입니다.
 
Евгений :
비율의 움직임은 변수에 의존하지 않지만 트레이더는 움직임의 패턴을 찾으려고 시도하고 이를 기반으로 포지션을 열고 유지하고 닫을 변수(입력 데이터)를 선택합니다. 결국, 거래 시스템은 저자의 아이디어에 따르면 수익성있는 작업을 위해 설계된 일련의 특정 규칙입니다. 이익과 손실의 분포는 아마도 무작위이지만 그 비율이 다르기 때문에 수익성 있는 거래 시스템이 획득됩니다. 아마 그렇게 될 것입니다.
기본적으로 당신은 당신 자신의 질문에 대답했습니다. 즉, 동일한 가격 변동에서 다음을 얻을 수 있습니다. 손익 = CONST
 
제한하는 기능을 알려주세요, 이동 평균 에서 전문가에게 판매 또는 구매를 금지하고 싶습니다.
 
KoltRU :
제한하는 기능을 알려주세요, 이동 평균 에서 전문가에게 판매 또는 구매를 금지하고 싶습니다.
더 쉽게 만들고 여는 조건을 추가했습니다.
 

넋을 잃었다. 배열 참조가 함수에 전달되지 않습니다.

 void GetIndValue( int IndNo, int Vol, double * out []){;};

이 이중 *out[]을 사용하면 어떻게 작성하든 상관없이 모든 오류가 발생합니다.

'BatIndicators.mqh' BatIndicators.mqh 하나 하나

'*' - 포인터 를 사용할 수 없습니다. BatIndicators.mqh 십팔 45

'out' - 배열은 참조로만 전달됩니다. BatIndicators.mqh 십팔 46

오류 2개, 경고 0개 하나

둘 중 하나 또는 둘 중 하나입니다. 나는 그것이 문제가 없었는지, 아니면 C에 있었던 걸로 기억합니다.)


 
Yuriy Asaulenko :

넋을 잃었다. 배열 참조가 함수에 전달되지 않습니다.

이 이중 *out[]을 사용하면 어떻게 작성하든 상관없이 모든 오류가 발생합니다.

'BatIndicators.mqh' BatIndicators.mqh 하나 하나

'*' - 포인터를 사용할 수 없습니다. BatIndicators.mqh 십팔 45

'out' - 배열은 참조로만 전달됩니다. BatIndicators.mqh 십팔 46

오류 2개, 경고 0개 하나

둘 중 하나 또는 둘 중 하나입니다. 나는 그것이 문제가 없었는지, 아니면 C에 있었던 걸로 기억합니다.)


이렇게 시도

 void GetIndValue( int IndNo, int Vol, double & out []){}
 
Andrey Barinov :

이렇게 시도

고맙습니다.
 

//--- 표시기를 추가하려고 시도할 새 하위 창의 번호를 가져옵니다.

          int subwindow=( int ) ChartGetInteger (0, CHART_WINDOWS_TOTAL );

이 코드를 봅니다. https://www.mql5.com/en/docs/chart_operations/chartindicatoradd

예제는 서브윈도우에서 인디케이터를 설정하는 방법을 보여주고 서브윈도우가 필요하지 않다면 영화 예제를 사용하여 어떻게 하면 될까요?

Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
Операции с графиками / ChartIndicatorAdd - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexander Antoshkin :

//--- 표시기를 추가하려고 시도할 새 하위 창의 번호를 가져옵니다.

          int subwindow=( int ) ChartGetInteger (0, CHART_WINDOWS_TOTAL );

이 코드를 봅니다. https://www.mql5.com/en/docs/chart_operations/chartindicatoradd

예제는 서브윈도우에서 인디케이터를 설정하는 방법을 보여주고 서브윈도우가 필요하지 않다면 영화 예제를 사용하여 어떻게 하면 될까요?

기본 창에 표시기를 추가해야 하는 경우:

하위 창

【인】 차트 하위 창 번호입니다. 0은 기본 차트 창을 의미합니다 . 새 창에 표시기를 추가하려면 매개변수가 마지막 기존 창의 인덱스보다 하나 더 커야 합니다. 즉, CHART_WINDOWS_TOTAL 과 동일해야 합니다 . 매개변수 값이 CHART_WINDOWS_TOTAL 값을 초과하면 새 창이 생성되지 않고 표시기가 추가되지 않습니다.

 
Karputov Vladimir :

기본 창에 표시기를 추가해야 하는 경우:

 //+------------------------------------------------------------------+
//|                                                         0000.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"

input int MA_Period= 21 ; 
input int MA_Shift= 0 ; 
input ENUM_MA_METHOD MA_Method= MODE_SMA ;

int MA_handle= INVALID_HANDLE ; 
//+------------------------------------------------------------------+ 
//| Expert initialization function                                   | 
//+------------------------------------------------------------------+ 
int OnInit () 
  { 
  
   MA_handle= iCustom ( NULL , 0 , "Examples\\Custom Moving Average" ,  MA_Period,  MA_Shift, MA_Method,   PRICE_CLOSE   );
//--- попробуем добавить индикатор на график 
AddIndicator();

   return ( INIT_SUCCEEDED ); 
  } 

//+------------------------------------------------------------------+ 
//| Функция проверки и добавления индикатора на график               | 
//+------------------------------------------------------------------+ 
bool AddIndicator() { if (MA_handle== INVALID_HANDLE ) 
{ Print ( __FUNCTION__ , "  Создаем индикатор " );

 MA_handle= iCustom ( NULL , 0 , "Examples\\Custom Moving Average" ,  MA_Period,  MA_Shift, MA_Method,   PRICE_CLOSE   );
if (MA_handle== INVALID_HANDLE ) 
{ 
 Print ( "Не удалось создать индикатор . Код ошибки " , GetLastError ()); 
 } 
  }     
//--- сбросим код ошибки 
   ResetLastError (); 
//--- накладываем индикатор на график 
  
   Print ( "Mа построен " ); 
//--- получим номер нового подокна, в которое добавим индикатор  
   int subwindow=( int ) ChartGetInteger ( 0 , CHART_WINDOWS_TOTAL ); 
   PrintFormat ( "Добавляем индикатор на окно %d графика" ,subwindow); 
   if (! ChartIndicatorAdd ( 0 ,subwindow,MA_handle)) 
     { 
       PrintFormat ( "Не удалось добавить индикатор  на окно %d графика. Код ошибки  %d" , 
                  subwindow, GetLastError ()); 
     } 
   return ( true ); 
  } 
void OnDeinit ( const int reason)
{
MA_handle= iCustom ( NULL , 0 , "Examples\\Custom Moving Average" ,  MA_Period,  MA_Shift, MA_Method,   PRICE_CLOSE   );

안녕하세요 블라디미르

분명히 질문을 잘못 공식화했는데 이해하지 못했습니다.

하위 창은 필요하지 않습니다. 표준 눈금이 놓일 때 가격 차트에 표시기를 넣어야 합니다.

나는 이것을 예로 들어 이해하려고 노력한다.

그리고 최종 결과 차트에 설치된 표시기에 고유한 번호가 있기를 원하므로 차트에 생성된 "추가" 버튼을 사용하여 필요한 사본 수를 다이얼하고 .... 십자 버튼 ........ 글쎄요 다른 환상이 너무 많아서 아직 쓰고 싶지 않습니다))

사유: