[ARCHIVE!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 4. - 페이지 527

 
hoz :


유진은 물론 다 알아들을 수 있지만, 이건 이른바 교과서에 쓰여 있다. 단순한 것에서 어디를 볼 것인지 어떻게 가나요? 당신이 프로그래머라면 이것은 아마도 당신에게 명백할 것입니다. 그러나 나는 전혀 들어가지 않았다.

예, 그리고 초보자를 위한 지점이지만 주제에 대해 질문합니다.. 둘째 날에는 이해하려고 노력했습니다. 이미 후회했을 것이고 누군가 설명했을 것입니다. :(

그리고 대략:


파고들지 않으면 이해할 수 없습니다. 그리고 이해하지 못한다면, 당신도 그것을 최대한 활용할 수 없을 것입니다.


연습이 필요합니다(터미널에서 운동). 다른 사람의 코드를 읽고 논리를 찾고 다시 연습하십시오. 터미널이나 서버에서 논리적인 답변을 얻을 수 있도록 작업을 직접 설정하십시오.
작업을 더 어렵게 만듭니다.
터미널, 튜토리얼, 문서 - 특히 초보자를 위한 연구 및 창의적 작업을 위한 훌륭한 소스입니다(직접 테스트).
실수로부터 배워 실수를 하지 않도록 하십시오! 그들은 그들의 기억 속에 특별한 영예의 장소를 가지고 있습니다.
이것은 창의성 수준의 스포츠입니다(자체 트릭, 지속적인 모양 유지).
논리는 당신의 행동과 생각을 지배합니다.
이틀에 두 달을 산다는 것은 불가능하다.
 

단일 전문가를 다중 통화 전문가로 전환하고 있습니다. 이 경우 가격이 MT4에서 어떻게 업데이트되고 다른 쌍에 대해 막대가 로드되는지 알려주세요.

어딘가에 전문가가 다른 통화 쌍으로 한 차트에 첨부된 작동 방식에 대한 설명이 있습니까?

 
Usual_Trader :

단일 전문가를 다중 통화 전문가로 전환하고 있습니다. 이 경우 가격이 MT4에서 어떻게 업데이트되고 다른 쌍에 대해 막대가 로드되는지 알려주세요.

어딘가에 전문가가 다른 통화 쌍으로 한 차트에 첨부된 작동 방식에 대한 설명이 있습니까?


최소한 2개의 함수가 필요합니다: MarketInfo()Refreshrates()

첫 번째 도구는 다른 거래 수단의 가격을 요청할 수 있게 하고 두 번째 도구는 첫 번째 도구를 사용하도록 데이터를 업데이트합니다. 따라서 코드에서 먼저 Refreshrates() 를 호출한 다음 MarketInfo() 쿼리할 수 있습니다. 그러나 이것은 Expert Advisor가 Sleep() 함수로 얼마 동안 잠을 자거나 매우 오랜 시간 동안 일부 계산을 수행한 경우입니다. 예를 들어, 이러한 일이 발생하는 동안 새로운 따옴표가 들어왔고 Refreshrates() 를 사용하여 업데이트해야 합니다.

 
drknn :


최소한 2개의 함수가 필요합니다: MarketInfo()Refreshrates()

첫 번째 도구는 다른 거래 수단의 가격을 요청할 수 있게 하고 두 번째 도구는 첫 번째 도구를 사용하도록 데이터를 업데이트합니다. 따라서 코드에서 먼저 Refreshrates() 를 호출한 다음 MarketInfo() 쿼리할 수 있습니다. 그러나 이것은 Expert Advisor가 Sleep() 함수로 얼마 동안 잠을 자거나 매우 오랜 시간 동안 일부 계산을 수행한 경우입니다. 예를 들어, 이러한 일이 발생하는 동안 새로운 따옴표가 들어왔고 Refreshrates() 를 사용하여 업데이트해야 합니다.


내가 알기로는 Refreshrates() 가 현재 악기에 대해 작동합니까 아니면 모든 악기에 대한 데이터를 업데이트합니까?

 

좋은 저녁이에요.

코딩에서 저는 "십자군"입니다. :) 여기에서 저는 피보나치 지표에 대한 조언자를 모으고 있습니다. 지금은 전략을 무시하십시오. 다음 단계의 걸림돌 - 7개의 피보나치 수준 , 각 교차 수준에 2개의 다른 보류 주문만 배치되고 더 이상 배치되지 않도록 하는 방법.

힌트에 대해 감사했습니다.

내 서투른 러시아어에 대해 미리 사과드립니다.

파일:
 
Usual_Trader :


내가 알기로는 Refreshrates() 가 현재 악기에 대해 작동합니까 아니면 모든 악기에 대한 데이터를 업데이트합니까?


모든 악기용.
 
Sarguss :

좋은 저녁이에요.

코딩에서 저는 "십자군"입니다. :) 여기에서 저는 피보나치 지표에 대한 조언자를 모으고 있습니다. 지금은 전략을 무시하십시오. 다음 단계의 걸림돌 - 7개의 피보나치 수준, 각 교차 수준에 2개의 다른 보류 주문만 배치되고 더 이상 배치되지 않도록 하는 방법.

힌트에 대해 감사했습니다.

내 서투른 러시아어에 대해 미리 사과드립니다.


일하다

추신 "그래서 십자군이 졸지 않도록 파이크를 만드십시오."(러시아 속담).

 
Roll :


일하다

추신 "그래서 십자군이 졸지 않도록 파이크를 만드십시오."(러시아 속담).


속담 감사합니다 :)) 주제에 대해서만 -

포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 4.

추가 - 모든 답변 PROFI!

 

안녕하세요 전문가 여러분, 스크립트 작성에 도움을 요청합니다. 차트에는 2개의 MA( 이동 평균 ) 표시기가 있으며 MA1은 빨간색으로, MA2는 파란색으로 표시됩니다. 스크립트의 작업은 MA1과 MA2를 교차하여 빨간색 선이 파란색 선을 위에서 아래로 교차하도록 하는 것입니다. 이 지점을 A라고 하고, 빨간색이 파란색을 위에서 아래로 교차하면 이것이 B입니다. 따라서 A 지점에서는 매도 주문을 닫고 매수 주문을 열고, B 지점에서는 청산해야 합니다. 매수 주문 및 매도 주문을 엽니다. 이 순환은 끝이 없어야 합니다. 비슷한 코드를 첨부했습니다. 도와주세요. 매우 감사하겠습니다.

파일:
 
Lisi4ka330 :
혼란을 악화시키지 않기 위해 이전 답변에서 내가 저지른 실수를 수정하고 싶습니다. "array1[Bars*6-60,60][0]" 항목이 올바르지 않기 때문에 Bars*6은 array1의 총 요소 수입니다. 각 막대에는 6개의 속성이 있습니다. 30개의 막대가 있다고 가정하고 6을 곱하면 첫 번째 배열의 요소 수인 180을 얻습니다. 두 번째 배열에는 60개의 무료 "셀"(즉, 10 x 6 속성)만 있으므로 첫 번째 배열에서 복사할 요소 60개만 선택하면 됩니다. [Bars*6-60,60] 표현식을 사용하여 총계에서 60을 뺍니다. 즉, 180 - 60 = 120입니다. 첫 번째 배열의 120 요소는 두 번째 배열의 0 요소에, 121은 첫 번째 배열 등으로 기록됩니다. , 또 다른 질문은 마지막으로 형성된 막대에 대한 정보가 첫 번째 배열의 시작 부분이 아니라 끝 부분에 포함되어 있음이 어떻게 밝혀 졌는지입니다. 그러나 분명히 답은 함수 코드에 있으며 파헤 칠 의미가 없습니다. 더 깊은...


글쎄, 그렇다면 나는 기반을 가지고 있으며, 그것과 아무 관련이 없습니다. 논리적으로 Natalia는 올바르게 썼습니다. 그리고, 30개의 bar가 있는 경우에도 array1 배열의 index 값은 120으로 나타났습니다. 따라서 초기화 과정에서 array2 배열의 해당 index 값은 이미 코드에서 10으로 선언되어 있습니다.

https://docs.mql4.com/en/array/ArrayCopy

 double array2[ 10 ][ 6 ];

C 책에서 나는 다음과 같이 읽었습니다.

C 언어는 배열 오버플로를 제어하지 않습니다. 즉, 형식적으로 A[345] 또는 A[-12]와 같이 존재하지 않는 인덱스가 있는 요소에 무언가를 쓸 수 있습니다. 그러나 이렇게 하면 배열과 관련이 없는 메모리의 일부 셀이 지워지기 때문에 이러한 단계의 결과는 예측할 수 없으며 많은 경우 프로그램이 정지됩니다.

array1 배열(원래 배열)의 인덱스를 나타냅니다.   array2 배열(대상 배열)의 해당 인덱스보다 큽니다. 그래서 당신은 그렇게해서는 안됩니다! 그런 뜻이었군요..