먼저 읽으십시오. . . 그런 다음 이해할 때까지 다시 읽으십시오.
https://book.mql4.com/variables/arrays
예를 들어, 배열의 첫 번째 요소는 요소 0 , 약간 Bars, fumy that, eh ? ;-)
- 당신은 멀리 떨어져있다.
- array[1,2,3,4,5,6,7] 횡설수설
- array[1] = (Low[3] < Low[4] && Low[3]...은 배열이 bool입니다.
- Low_1 = array[1]은 배열이 bool이 아님을 의미합니다.
- "정적 배열에 신호 저장" 필요할 때마다 신호를 계산할 수 있는데 정적이어야 하는 이유는 무엇입니까?
죄송합니다 int array[1][7];
답변 감사합니다
글쎄요, 당신의 지시와 질문을 좀 더 읽은 후에 배열이 내가 하려는 것이 아닐 수도 있다고 생각합니다.
기본적으로 저는 저만의 정의된 버전을 만드는 법을 배우고 싶습니다. 새로운 막대가 형성된 후에도 신호에 대해 참조할 수 있습니다. 그러나 내가 선택한 고점/저점의 전체 역사는 아닙니다.
여기서 잘못된 길을 가고 있을 수 있습니다.
나는 이것을 좀 더 생각해 볼 것이다.
고맙습니다
기본적으로 저는 저만의 정의된 버전을 만드는 법을 배우고 싶습니다. 새로운 막대가 형성된 후에도 신호에 대해 참조할 수 있습니다. 그러나 내가 선택한 고점/저점의 전체 역사는 아닙니다.
나는 다음과 같이 더 할 것이라고 생각합니다.
이 게시물이 이 시점에서 더 이상 배열에 관한 것이 아니므로 배열에 대해 더 배울 수 있을 때까지 이 질문을 철회하겠습니다.
감사해요.
static double Low_A; if (Low[ 2 ] < Low[ 2 ] && Low [ 2 ] < Low[ 1 ]) { Low_A = Low[ 3 ]; Print (Low_A + " Low_A has formed" ); }
왜요 ? 당신이 달성하려는 것을 설명할 수 있습니까?
글쎄요, 그것은 실제로 특정 양초의 고점과 저가가 아니라 일련의 양초일 것입니다.
사용하려는 양초의 수에 따라 Low_A를 호출하는 것이 한 가지 예일 수 있지만 낮은 양초는 왼쪽에 4개의 높은 양초, 오른쪽에 4개의 높은 양초로 간주되며 이 낮은 양초는 다음과 같습니다. Low_A로 간주
또는 내가 더 많은 양초를 만들거나 낮음 또는 높음을 구성한 다음 높음 및 낮음에 대해 이와 같은 다른 것을 만들 수 있습니다.
그런 다음 이전 저점을 다음 저점과 비교하고 이전 고점을 다음 고점과 비교하는 몇 가지 기능 을 만듭니다.
그런 다음 2) 고/저 또는 3/고/저 또는 그 이상에서 추세선을 그립니다.
또는 이 예에서와 같이 왼쪽에 1개의 낮은 양초가 있고 오른쪽에 1개의 낮은 양초가 있는 1개의 양초를 사용하고 이것을 저가라고 부를 수 있습니다.
처음에는 결과를 배열에 넣는 것을 고려하고 있었지만 이것이 내가 원하는 대로 되지 않거나 적어도 이 시점에서 배열을 결정할 만큼 충분히 이해하지 못합니다. 조금 더 읽으면 의심의 여지없이 나를 바로 잡을 것입니다. 하!
배열이 내가 정의한 일련의 최고점과 최저점을 저장하는 데 유용할지 확신할 수 없었습니다.
내가 낮음[2]을 인쇄하면 5자리 대신 8자리가 제공되고 일부는 모두 0.0000000입니다.
아마도 내가 사용한 데이터 유형이 static double Low_A였기 때문일 것입니다.
올바르게 인쇄해야하는지 확실하지 않지만 올바른 정적을 저장하기 위해 어떤 데이터를 사용해야하는지 잘 모르겠습니다.
새로운 디자인이 필요합니다. 내가 하려고 했던 것이 제대로 작동하지 않을 것이 분명하고 이제 그 이유를 이해합니다.
Sooooo, 다시 드로잉 보드로 돌아갑니다. 아야
이것으로 돌아가서,
좀 더 배운 후에 정적 배열과 같은 것이 있는지, 아니면 기본적으로 배열이 주로 정적인지 궁금합니다. 제공한 링크를 읽은 후 기본적으로 모두 정적이라고 말합니다. 엄청난.
어쨌든, 나는 고점과 저점을 정의할 때 표시하려고 하는 대신 iFractals를 생각하고 있습니다. 나는 더 나은 지식과 더 많은 독서를 얻을 때까지 지금 프랙탈을 사용할 수 있습니다.
그렇다면 iFractals는 어떻습니까? 어떻게 표시하고 참조할 수 있습니까?
iFractal을 추가로 생성하고 시프트를 변경하고 그런 식으로 참조할까요, 아니면 iFractals를 사용한 시프트가 여전히 이전 프랙탈이 아닌 막대에 대해 이야기할까요?
//+------------------------------------------------------------------+ //| Support and Resistance | //| Copyright © 2004/5 Barry Stander | //| http://www.4Africa.net/4meta/ | //+------------------------------------------------------------------+ #property copyright "Support and Resistance Barry_Stander_4@yahoo.com" #property link "http://www.4Africa.net/4meta/" #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Red #property indicator_color2 Blue //---- buffers double v1[]; double v2[]; double val1; double val2; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int init() { //---- IndicatorBuffers ( 2 ); SetIndexArrow ( 0 , 119 ); SetIndexStyle ( 0 , DRAW_ARROW , STYLE_DOT , 1 , Red ); SetIndexBuffer ( 0 , v1); SetIndexLabel ( 0 , "Resistance" ); SetIndexArrow ( 1 , 119 ); SetIndexStyle ( 1 , DRAW_ARROW , STYLE_DOT , 1 , Blue ); SetIndexBuffer ( 1 , v2); SetIndexLabel ( 1 , "Support" ); //---- return ( 0 ); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { int i= Bars ; //---- while (i>= 0 ) { val1= iFractals ( NULL , 0 , MODE_UPPER,i); if (val1 > 0 ) v1[i]=High[i]; else v1[i]=v1[i+ 1 ]; val2= iFractals ( NULL , 0 , MODE_LOWER,i); if (val2 > 0 ) v2[i]=Low[i]; else v2[i]=v2[i+ 1 ]; i--; } //---- return ( 0 ); } //+------------------------------------------------------------------+
누군가 이 코드를 작성했고 작동 방식을 이해하지만 특정 높음 및/또는 낮음(지원/저항이라고도 함)에서 어레이를 선택하는 방법을 이해하지 못합니다.
내 말은 if(val1 > imacd) 거래를 여는 함수 를 확실히 만들 수 있지만 이전 iFractals는 어떻습니까?
이것은 단순히 이동의 문제입니까?
아니면 이것을 일종의 다른 배열에 넣어야 합니까?
조언 부탁드립니다
감사해요
안녕하세요 여러분,
먼저 모든 답변에 대해 모든 사람에게 감사합니다. 이것은 MQL4를 배우는 데 큰 도움이 되었습니다.
어레이를 구축하는 방법을 이해하기 위해 계속 진행 중입니다.
주제:
예를 들어 신호를 정적 배열에 저장하는 방법: 일련의 양초의 고가 및 저가 등, 각 고가와 저가 위에 작은 선을 놓을 것입니다.
그래서 정적 배열[1,2,3,4,5,6,7]을 생각하고 있습니다.
array[1] = (Low[3] < Low[4] && Low[3] < Low[3]) //또는 이와 유사한 것 ?
Low_1 = 배열[1]
Low_2 = array[2] 등등.
이것이 이것을 수행하는 표준 방법입니까, 아니면 제가 벗어나 있습니까?
조언 부탁드립니다 감사합니다