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

 
-nan(ind) 값이 없습니까?
 
Yevhenii Levchenko :
-nan(ind) 값이 없습니까?

숫자가 아닌

 
Yevhenii Levchenko :

sizeof()는 변수 유형 의 크기를 반환합니다.


글쎄, 모든 것이 맞습니다. 배열은같은 유형의 데이터 모음입니다 . 이렇게 쓰면

 int masiv[ 1 ];
Print ( sizeof (masiv)); //вернёт 4, потому что int 4 байта, если так masiv[2]- будет 8.
int Perem;
Print ( sizeof (Perem));//вернёт 4 , потому что int 4 байта
//если записать вот так
int masiv[];
Print ( sizeof (masiv));вернёт 52 вне зависимости где и как объявлен массив.
//если записать вот так
int masiv[][ 3 ][ 3 ];
Print ( sizeof (masiv));вернёт 52 .


이 배열 중 하나를 함수에 전달하면 52개의 질문이 생깁니다.

 
거래를 연 후 화살표 형태로 남아 있는 모든 그래픽 디스플레이를 파괴하도록 MT5에 대한 스크립트가 있습니까? 그렇지 않으면 개체를 하나씩 수동으로 삭제하는 데 시간이 오래 걸립니다.
 
Konstantin Lebedev :
거래를 연 후 화살표 형태로 남아 있는 모든 그래픽 디스플레이를 파괴하도록 MT5에 대한 스크립트가 있습니까? 그렇지 않으면 개체를 하나씩 수동으로 삭제하는 데 시간이 오래 걸립니다.

그리고 하나씩 할 필요가 없습니다. 모든 그래픽 개체를 한 번에 삭제할 수 있습니다.


 
Konstantin Lebedev :
거래를 연 후 화살표 형태로 남아 있는 모든 그래픽 표시를 파괴하도록 MT5용 스크립트가 있습니까? 그렇지 않으면 개체를 하나씩 수동으로 삭제하는 데 시간이 오래 걸립니다.

Barabashka는 질문의 내용을 이해하지 못했습니다. 탭 "내역" 또는 "무역" 컨텍스트 메뉴 에서 한 번에 모두 삭제합니다. 추가를 비활성화할 수도 있습니다.


 
안녕하세요. 그래도 (천천히, 왜 서둘러?) MT5를 마스터하고 있습니다. 기록에 대한 오해에 직면했다. 힌트 또는 손에 시간 버퍼 라인이 있는 표시기가 있으면 링크를 던져주세요))) 감사합니다
 for ( int i=limit; i>= 0 ; i--)
{
...

MqlDataTime tm;
TimeToStruct (time[i],tm);

if (tm.hour== 18 && tm.min== 30 && Period ()<= PERIOD_H1 )
 {
//функция для создания таймлинии (вертикальная) ВСЕ ОК!

// К АК ВЫГЛЯДИТ ЗАПИСЬ СОЗДАНИЯ БУФЕРНОЙ ЛИНИИ ? ТАК НЕ ПОЛУЧАТСЯ 
for ( int j=shift; j>= 0 ; j--)
 {
CL= iClose ( NULL , _Period ,j);
Buff[i]=close[j]; // =CL;

if (Buff[j- 1 ]!=Buff[j])
Buff[j- 1 ]= EMPTY_VALUE ;
 }
}

그래요
 

도와주세요, 제발


//+----------------------------------------------- --------------------+

//| Lex_Bands.mq4 |
//| 렉스 |
//| |
//+----------------------------------------------- --------------------+
#재산권 "렉스"
#속성엄격
#속성 표시기_차트_창
#속성 표시기_버퍼 3
#property indicator_plots 3
//--- 플롯 Middle_Line
#property indicator_label1 "중간선"
#속성 표시기_유형1 DRAW_LINE
#property indicator_color1 clrLightSeaGreen
#속성 표시기_스타일1 STYLE_SOLID
#속성 표시기_너비1 2
//--- 플롯 Up_Line
#property indicator_label2 "Up_Line"
#속성 표시기_유형2 DRAW_LINE
#property indicator_color2 clrLightSeaGreen
#속성 표시기_스타일2 STYLE_SOLID
#속성 표시기_너비2 2
//--- Down_Line 플롯
#property indicator_label3 "다운라인"
#속성 표시기_유형3 DRAW_LINE
#property indicator_color3 clrLightSeaGreen
#속성 표시기_스타일3 STYLE_SOLID
#속성 표시기_너비3 2
//--- 표시기 매개변수
입력 int InpBandsPeriod=20; // MA 기간
입력 intOtklPeriod=20; // 주기 편차
입력 int OtklShag=5; // 스텝 편차
입력 int MA_Type=0; // MA 유형 0 - SMA, 1 - EMA, 2 - SMMA, 3 - LWMA
입력 int Applied_Price=4; // 0 - PRICE_CLOSE, 1 - PRICE_OPEN, 2 - PRICE_HIGH, 3 - PRICE_LOW, 4 - PRICE_MEDIAN, 5 - PRICE_TYPICAL, 6 - PRICE_WEIGHTED

//--- 표시기 버퍼
이중 Middle_LineBuffer[];
이중 Up_LineBuffer[];
이중 Down_LineBuffer[];

//+----------------------------------------------- --------------------+
//| 사용자 지정 표시기 초기화 기능 |
//+----------------------------------------------- --------------------+
int OnInit()
{
표시 버퍼(7);
SetIndexBuffer(0,Middle_LineBuffer);
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(1,Up_LineBuffer);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(2,Down_LineBuffer);
SetIndexStyle(2,DRAW_LINE);
리턴(0);
}
//+----------------------------------------------- --------------------+
//| 사용자 지정 표시기 반복 기능 |
//+----------------------------------------------- --------------------+
정수 시작()
{
정수 counted_bars = IndicatorCounted();
if(counted_bars < 0) return(-1);
if(counted_bars > 0) counted_bars--;
int limit = 막대 - counted_bars;
if(counted_bars==0) 한계--;
이중 dOtklSumMax[];
더블SrOtklMax[];
이중 dOtklSumMin[];
이중 SrOtklMin[];
for(int i=1;i<=limit;i++)
{
for(int j=i;j<=i+OtklPeriod;j=j+OtklShag)
{
이중 최대값=높음[iHighest(NULL,0,MODE_HIGH,OtklShag,j)];
이중 최소 = 낮음[iLowest(NULL,0,MODE_HIGH,OtklShag,j)];
이중 Otklmax=max-iMA(NULL,0,InpBandsPeriod,0,MA_Type,Applied_Price,j);
이중 Otklmin=iMA(NULL,0,InpBandsPeriod,0,MA_Type,Applied_Price,j)-min;
이중 dOtklmax=Otklmax*Otklmax;
dOtklSumMax[j]=dOtklSumMax[j-1]+dOtklSumMax[j];
dOtklSumMax[OtklShag]=dOtklSumMax[j];
이중 dOtklmin=Otklmax*Otklmax;
dOtklSumMin[j]=dOtklSumMin[j-1]+dOtklSumMin[j];
dOtklSumMin[OtklShag]=dOtklSumMin[j];
}
Middle_LineBuffer[i]=iMA(NULL,0,InpBandsPeriod,0,MA_Type,Applied_Price,i);
SrOtklMax[i]=MathSqrt(dOtklSumMax[OtklShag]/(OtklPeriod/OtklShag));
SrOtklMin[i]=MathSqrt(dOtklSumMin[OtklShag]/(OtklPeriod/OtklShag));
Up_LineBuffer[i]=iMA(NULL,0,InpBandsPeriod,0,MA_Type,Applied_Price,i)+SrOtklMax[i];
Down_LineBuffer[i]=iMA(NULL,0,InpBandsPeriod,0,MA_Type,Applied_Price,i)-SrOtklMin[i];
}
리턴(0);
}

다음은 표시기 코드입니다. 컴파일 할 때 오류가 발생하지 않지만 차트에는 전혀 표시되지 않습니다.
 
Xander1603 :

도와주세요, 제발

...

다음은 표시기 코드입니다. 컴파일 할 때 오류가 발생하지 않지만 차트에는 전혀 표시되지 않습니다.

코드를 올바르게 붙여넣습니다 .


그리고 간단한 질문으로 많은 화제를 만들지 마세요.

 
문자열을 열거형으로 변환하는 방법은 무엇입니까?