항상 그렇듯이 막대 0은 EA와 표시기 모두에 대해 일시적으로 불완전하며 이 막대의 고가, 저가, 종가 및 거래량은 막대가 완료되어 막대 1이 될 때 끝나는 방식과 거의 확실히 다릅니다. 보다 정확하게는 일일 막대의 끝은 다음 일일 막대의 첫 번째 눈금(및 그 이후)에서만 알 수 있습니다. 몇 가지 예외를 제외하고는 불완전한 막대의 부분적인 상태만을 반영하기 때문에 막대 0 값을 사용하려고 하는 당신 자신에게 실례가 된다고 생각합니다.
내가 아는 한, 표시기는 각 EA start() 함수 호출 중에 특정 매개변수 값 조합으로 첫 번째 iCustom 호출 시 호출됩니다. 동일한 매개변수 값 구성을 사용하여 동일한 표시기에 대한 1회의 EA 시작 기능 호출 중 연속적인 iCustom 호출은 생성된 첫 번째 호출을 재사용합니다. iCustom 을 다시 호출하는 다음 EA start() 함수는 시작 함수를 호출한 틱의 컨텍스트에서 표시기를 다시 호출합니다.
따라서 표시기의 눈에는 EA가 호출하도록 허용하는 각 틱에 대해 한 번 호출됩니다. MA에게 공개 가격 또는 높은 가격 등을 사용하도록 지시하면 표시되는 막대 값만 변경되지만 호출 방식은 동일하게 유지됩니다. 즉, EA가 허용하는 모든 틱에서 호출됩니다.
짧은 대답은 아니오입니다.
항상 그렇듯이 막대 0은 EA와 표시기 모두에 대해 일시적으로 불완전하며 이 막대의 고가, 저가, 종가 및 거래량은 막대가 완료되어 막대 1이 될 때 끝나는 방식과 거의 확실히 다릅니다. 보다 정확하게는 일일 막대의 끝은 다음 일일 막대의 첫 번째 눈금(및 그 이후)에서만 알 수 있습니다. 몇 가지 예외를 제외하고는 불완전한 막대의 부분적인 상태만을 반영하기 때문에 막대 0 값을 사용하려고 하는 당신 자신에게 실례가 된다고 생각합니다.
내가 아는 한, 표시기는 각 EA start() 함수 호출 중에 특정 매개변수 값 조합으로 첫 번째 iCustom 호출 시 호출됩니다. 동일한 매개변수 값 구성을 사용하여 동일한 표시기에 대한 1회의 EA 시작 기능 호출 중 연속적인 iCustom 호출은 생성된 첫 번째 호출을 재사용합니다. iCustom 을 다시 호출하는 다음 EA start() 함수는 시작 함수를 호출한 틱의 컨텍스트에서 표시기를 다시 호출합니다.
따라서 표시기의 눈에는 EA가 호출하도록 허용하는 각 틱에 대해 한 번 호출됩니다. MA에게 공개 가격 또는 높은 가격 등을 사용하도록 지시하면 표시되는 막대 값만 변경되지만 호출 방식은 동일하게 유지됩니다. 즉, EA가 허용하는 모든 틱에서 호출됩니다.
도와주세요
안녕하세요 여러분,
아무도 나를 도우려 하지 않습니다. 내 문제를 한 번 더 게시하고 도와주세요.
동일한 지표를 코딩하는 두 가지 방법으로 결과가 나오지 않는 이유를 이해하고 싶습니다(코드 및 그림 참조).
마누엘
느린 백 테스팅
Ralph Ronnquist에게 감사 인사를 전하고 싶었습니다. 이제 그 부분이 제대로 작동합니다.
도움을 주실 분에게 또 다른 질문이 있습니다. 내 EA와 함께 Strategy Tester 를 사용하려고 하면 매우 느립니다. 나는 그것이 효과가 있다는 것을 알고 있지만 3개월의 결과를 얻으려면 밤새도록 해야 합니다.
My EA는 스토캐스틱 RSI 교차(테스트)를 사용한 일간 추세를 기반으로 한 다음 가격 조치만 취합니다. 속도가 느린 주된 이유는 무엇입니까? 프로그래밍에 있는지 아니면 외부 지표를 호출하기 때문인지 아니면 스토캐스틱 RSI가 많은 힘을 삼키고 있는지.
나는 다른 많은 EA를 실행하고 있으며 모두 내 것보다 훨씬 빠릅니다. 내 시스템은 3GB의 램과 인텔 센트리노 듀오 프로세서로 충분히 강력합니다.
아이디어 제안을 해주시면 감사하겠습니다.
푸츠
쓰는 방법
안녕하세요 코더
저는 Mql.4 코딩에서 완전히 초보자입니다. 수정된 기존 EA로 계속 학습 중입니다.
부동 피벗에 대한 다음 예:
현재 막대의 경우;
이중 Flow_Pivot0 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0)
+ iClose (NULL,0,0))/3.0;
한 바 뒤로
여기서 "숫자" 또는 변수 "shift_bars"를 설정해야 합니다.
이중 Flow_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0)
+ iClose(NULL,TimeFrame_Flow,0))/3.0;
정말 감사합니다
배드게이,
이동:
https://www.mql5.com/en/forum/173124
비.
솔루션을 찾을 수 없음
안녕 봉고
죄송하지만 이 링크에서 답변을 찾지 못했습니다.
일반 케이스
이중 High1 = iHigh(NULL, 0 , 0 ); // 지금 높은 가격
외부 입력이 필요할 때
이중 iHigh1 = iHigh(NULL, iHigh12_TimeFrame , Barsback_iHigh1 ); // 지금 높은 가격
녹색 은 뒤로 몇 개의 막대를 의미합니다.
하지만 제 경우 에는 Barback_xxx 를 삽입해야 하는 경우 아래의 전체 라인은 한 바 뒤로 이동해야 합니다.
이중 Flow_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0)
+ iClose(NULL,TimeFrame_Flow,0))/3.0;
배드게이,
이동:
https://www.mql5.com/en/forum/173124
비.과거 시간
안녕 봉고
죄송하지만 이 링크에서 답변을 찾지 못했습니다.
일반 케이스
이중 High1 = iHigh(NULL, 0 , 0 ); // 지금 높은 가격
외부 입력이 필요할 때
이중 iHigh1 = iHigh(NULL, iHigh12_TimeFrame , Barsback_iHigh1 ); // 지금 높은 가격
녹색 은 뒤로 몇 개의 막대를 의미합니다.
하지만 제 경우 에는 Barback_xxx 를 삽입해야 하는 경우 아래의 전체 라인은 한 바 뒤로 이동해야 합니다.
이중 Flow_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0)
+ iClose(NULL,TimeFrame_Flow,0))/3.0;안녕
한 번에 한 줄씩 줄을 뒤로 이동하려는 경우.
이중 Flow_Pivot1 = (iHigh(NULL,1440, 0 )+iLow(NULL,1440, 0 )
+ iClose (NULL,TimeFrame_Flow, 0 ))/3.0; = 현재 날짜
이중 Flow_Pivot1 = (iHigh(NULL,1440, 1 )+iLow(NULL,1440, 1 )
+ iClose(NULL,TimeFrame_Flow, 1 ))/3.0; = 1일 뒤로
이중 Flow_Pivot1 = (iHigh(NULL,1440, 2 )+iLow(NULL,1440, 2 )
+ iClose(NULL,TimeFrame_Flow, 2 ))/3.0; = 뒤로 2일
이중 Flow_Pivot1 = (iHigh(NULL,1440, Barback_xxx )+iLow(NULL,1440, Barback_xxx )
+ iClose(NULL,TimeFrame_Flow, Barback_xxx ))/3.0;
Barback_xxx = 1 ,2, 3, 4 등은 한 번에 1바씩 뒤로 이동합니다.
안녕 차
내 말은 그게 아니야
안녕
한 번에 한 줄씩 줄을 뒤로 이동하려는 경우.
플로팅 PIVOT입니다. 권리?
#1
이중 Flow_Pivot1 = (iHigh(NULL,1440, 0 )+iLow(NULL,1440, 0 )
+ iClose(NULL,TimeFrame_Flow, 0 ))/3.0; = 현재 날짜
오늘의 일반적인 PIVOT입니다. 권리??
#2
이중 Flow_Pivot1 = (iHigh(NULL,1440, 1 )+iLow(NULL,1440, 1 )
+ iClose(NULL,TimeFrame_Flow, 1 ))/3.0; = 1일 뒤로
그것은 정상적인 PIVOT이지만 어제부터입니다. 권리??
#삼
이중 Flow_Pivot1 = (iHigh(NULL,1440, 2 )+iLow(NULL,1440, 2 )
+ iClose(NULL,TimeFrame_Flow, 2 ))/3.0; = 뒤로 2일
# 1이 필요하지만 모든 시간대에 xx 막대가 필요합니다.
이 인디 방식과 동일한 기능: PrevDayAndFloatingPivot_O.mq4. ( 하지만 FloatingPivot 만)
인디가 붙어있다
이중 Flow_Pivot1 = (iHigh(NULL,1440, Barback_xxx )+iLow(NULL,1440, Barback_xxx )
+ iClose(NULL,TimeFrame_Flow, Barback_xxx ))/3.0;
Barback_xxx = 1 ,2, 3, 4 등은 한 번에 1바씩 뒤로 이동합니다.어쩌면 이것은 어리석은 질문입니다 ... 하지만 나는 당신이 나를 도울 수 있기를 바랍니다.
.... 다른 주문이 tp에 도달했을 때 주문( 대기 중인 주문 )을 닫거나 여는 방법은 무엇입니까?
고마워 b4!