질문 - 주문 댓글을 변경할 수 있습니까? 음, OrderSend() 작업 중에 주석에 "OrderNotModify" 값을 입력하고 이 주문으로 추가 작업(예: 부분 닫기)을 수행할 때 OrderComment를 "OrderIsModify"로 변경합니다... 또는 아니다?
for ( int u= 1 ;u<=k;u++) // k при старте =0, u <= k не будет, считать счетчику незачем
{
if (StrToDouble(TimeSave1[u][ 1 ])<=StrToDouble(TimeSave1[u- 1 ][ 1 ])) // выражение при старте всегда [1][1]<=[0][1]
{
Number_of_extremum[u]= 1 ; // значит под номером u - нашли min
}
elseif (StrToDouble(TimeSave1[u][ 1 ])>=StrToDouble(TimeSave1[u- 1 ][ 1 ])) // значит, всегда срабатывает [1][1]>=[0][1]
{
Number_of_extremum[u]= 2 ; // значит под номером u - нашли max
}
}
1) k - 시작 시 - 0이 아닙니다! k = 역사의 특정 깊이에서 찾은 지그재그 정점의 수!
2) " 는 [1][1]>=[0][1] "을 의미합니다. 항상 작동합니다. 왜 항상 작동합니까? TimeSave1 배열의 이전 요소 > 다음 요소인 경우 작동하지 않습니다.
당신이 말하고 싶었던 것을 반복하십시오.
k를 사용하면 명확합니다. 이게 이해가 안가네요
for ( int u= 1 ;u<=k;u++) // на первом шаге счетчик присваивает u = 1
{
if (StrToDouble(TimeSave1[u][ 1 ])<=StrToDouble(TimeSave1[u- 1 ][ 1 ])) // здесь, значит[u=1][1]<=[(u=1)-1][1]
// т. е. 1<=0, вы же от 1 еще 1 отнимаете
{
무슨 일이야:
1) 2차원 배열을 지그재그 극값이 생성된 시간과 극한값 자체의 값으로 채웁니다.
2) 주어진 요소에 해당하는 지그재그 상단이 로컬 최대값인지 최소값인지에 따라 두 번째 배열을 1 또는 2로 채웁니다.
3) Alert를 통해 결과를 추론한다.
그러나 1 또는 2가 표시되어야 하는 위치에는 항상 0이 표시됩니다.
캐치는 정확히 무엇입니까?!?
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
string TimeSave1[100][2], TimeSave2[100][2];
double A[], B[];
double Number_of_extremum[];
extern string Currency = "EURUSD";
+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----
int k;
k=0;
double date;
int status;
for(int shift = 0; shift <= Bars-1; shift++)
{
date = iCustom(NULL, 0, "ZigZag", 12, 5, 3, 0, shift);
//----------------------------------------------------
if(date > 0)
{
TimeSave1[k][0]=TimeToStr(Time[shift]);
TimeSave1[k][1]=date;
k++;
}
}
//====================================================
for (int u=1;u<=k;u++)
{
if (StrToDouble(TimeSave1[u][1])<=StrToDouble(TimeSave1[u-1][1]))
{
Number_of_extremum[u]=1;// значит под номером u - нашли min
}
else
if (StrToDouble(TimeSave1[u][1])>=StrToDouble(TimeSave1[u-1][1]))
{
Number_of_extremum[u]=2;// значит под номером u - нашли max
}
}
//====================================================
for (int j=1;j<10;j++)
{
Alert("время== ",TimeSave1[j][0], " значение== ", TimeSave1[j][1], " max/min== ", Number_of_extremum[j]);
}
//----
return(0);
}
//+------------------------------------------------------------------+
그리고 또 다른 설명:
mql에서 날짜와 시간을 비교하는 방법(예를 들어, ZZ의 정점이 이전에 형성되었는지 확인해야 합니다. 이를 위해 형성 시간을 비교해야 합니다...)
나머지는 보지 않고 그냥 왔어요...
친구, 질문:
이 문제에 직면했습니다.
표시기는 경고를 통해 일부 정보를 표시합니다.
그러나 점차적으로 Alert '의 출력 필드에 "badyagi"가 너무 많이 축적됩니다 ...
표시기가 다시 시작될 때 경고의 모든 이전 항목을 정리할 수 있습니까?
미리 감사드립니다.
추신
comment, plz, 조금 더 일찍 내 게시물 (1과 2 대신 0 값이 표시되는 이유)
포럼에서 찾았는데...
질문 - 주문 댓글을 변경할 수 있습니까? 음, OrderSend() 작업 중에 주석에 "OrderNotModify" 값을 입력하고 이 주문으로 추가 작업(예: 부분 닫기)을 수행할 때 OrderComment를 "OrderIsModify"로 변경합니다... 또는 아니다?
무슨 일이야:
배열은 0부터 채워지며 여기서 0번째 인덱스는 건너뛰고 1번째부터 채우고,
배열은 0부터 채워지며 여기서 0번째 인덱스는 건너뛰고 1번째부터 채우고,
나는 당신의 의견을 잘 이해하지 못했습니다.
1) k - 시작 시 - 0이 아닙니다! k = 역사의 특정 깊이에서 찾은 지그재그 정점의 수!
2) " 는 [1][1]>=[0][1] "을 의미합니다. 항상 작동합니다. 왜 항상 작동합니까? TimeSave1 배열의 이전 요소 > 다음 요소인 경우 작동하지 않습니다.
당신이 말하고 싶었던 것을 반복하십시오.
나는 당신의 의견을 잘 이해하지 못했습니다.
1) k - 시작 시 - 0이 아닙니다! k = 역사의 특정 깊이에서 찾은 지그재그 정점의 수!
2) " 는 [1][1]>=[0][1] "을 의미합니다. 항상 작동합니다. 왜 항상 작동합니까? TimeSave1 배열의 이전 요소 > 다음 요소인 경우 작동하지 않습니다.
당신이 말하고 싶었던 것을 반복하십시오.
k를 사용하면 명확합니다. 이게 이해가 안가네요
우측에서
주문 댓글을 변경할 수 있나요?
아닌 것 같습니다.
그래서 ... 그것은 뜨거운 것처럼 보입니다 ... 내 컴파일러에도 영향을 미칩니다. :)
최대/최소 지그재그 형성 날짜와 이 최대/최소 값이 포함된 배열을 살펴봐야 합니다.
사실 ZZ의 정점 중 최소값과 최대값을 이해해야 합니다.
이를 위해 다음 33개의 정점을 이전 정점과 비교합니다.
다음 것이 더 크면 상단입니다.
적으면 속이 빈 것입니다.
위인지 아래인지에 따라 다른 배열의 요소에 각각 1 또는 2를 추가합니다.
동시에 궁금하다, 어디가 ERROR가 될 수 있을까!!!!
두 가지 알려진 값을 기반으로 fiba 수준을 계산할 수 있기를 원합니다.
fib 0 수준은 1.2807의 가격에 해당하고 23.6의 수준은 1.2838에 해당합니다.
다른 레벨 38.2, 50.0, 61.5, 100.0 및 해당하는 가격을 찾아야 합니다.
나는 원리를 이해하기 위해 1.2807과 1.2838 사이에 명확하지 않은 관계를 전혀 찾을 수 없었습니다.
다른 모든 값을 검색합니다.
누가 좀 알려주세요... :)
시간이 얼마나 흥미로운지보다 젊은 시간대에 이전 시간대의 막대가 열리는 시간을 확인하기 위해 누군가가 지표를 만났습니다. 막대가 시작된 곳과 끝나는 곳을 차트에 표시합니다.
아마도 그래서, 코드는 최적화되지 않았지만 우리가 원하는 것을 그립니다