내 능력은 정확한 목적을 알 수 없기 때문에 정확히 무엇을 하는지 알 수는 없지만, 원시 추측으로 볼 때 코드가 외부에서 기호를 입력하면 자동 감지되는 것으로 보입니다. 그런 다음 차트에 표시하고 아무 것도 입력하지 않으면 표시됩니다. 로컬 널 차트. 그런 다음 의도적으로 여러 외부 입력 문자열을 외부에 공백으로 남겨두면(아무것도 채우지 않음) 표시기가 반복적으로(적어도 중첩) 로컬 Null 차트를 여러 번 표시합니까? 또한 코드가 내부 사전 설정 기호에 어떻게 적응합니까? 정확히 어떻게 해야할지 모르겠으나 , (외부 입력 기호 기능/인식 을 둔감하게 하기 위해) 부착 방법과 같습니까? 또는 내부 사전 설정 기호에 맞게 수정하는 방법은 무엇입니까?
그런데 166페이지 #1660 이전에 만든 버전을 라이브에서 다시 그리는 이유는 무엇입니까? 그러한 재도색을 일으키는 기본적인 이유는 무엇입니까? 조언 감사합니다.
내 능력은 정확한 목적을 알 수 없기 때문에 정확히 무엇을 하는지 알 수는 없지만, 원시 추측으로 볼 때 코드가 외부에서 기호를 입력하면 자동 감지되는 것으로 보입니다. 그런 다음 차트에 표시하고 아무 것도 입력하지 않으면 표시됩니다. 로컬 널 차트. 그런 다음 의도적으로 여러 외부 입력 문자열을 외부에 공백으로 남겨두면(아무것도 채우지 않음) 표시기가 반복적으로(적어도 중첩) 로컬 Null 차트를 여러 번 표시합니까? 또한 코드가 내부 사전 설정 기호에 어떻게 적응합니까? 정확히 어떻게 해야할지 모르겠지만 (외부 입력 기호 기능/인식을 둔감하게 하기 위해) 부착 방법과 같습니까? 또는 내부 사전 설정 기호에 맞게 수정하는 방법은 무엇입니까?
그런데 166페이지 #1660 이전에 만든 버전을 라이브에서 다시 그리는 이유는 무엇입니까? 그러한 재도색을 일으키는 기본적인 이유는 무엇입니까? 조언 감사합니다.
아래 코딩에서 중간 가격 대신 "CLOSE PRICE"를 사용하고 싶습니다. .... Plz help:
정말 감사합니다
정수 시작()
{
이중 ClosePrice=닫기[0];
int limit, i, 플래그, 플래그, 경향[5000];
더블 업[5000], dn[5000], medianPrice, atr;
정수 counted_bars = IndicatorCounted();
//---- 가능한 오류 확인
if(counted_bars < 0) return(-1);
//---- 마지막으로 계산된 막대가 다시 계산됩니다.
if(counted_bars > 0) counted_bars--;
limit=Bars-1-counted_bars;
//인쇄(제한);
//----
for (i = 막대, i >= 1, i--) {
트렌드업 = EMPTY_VALUE;
TrendDown = EMPTY_VALUE;
atr = iATR(NULL, 0, Nbr_Periods, i);
//인쇄("atr: "+atr);
중간 가격 = (높은+낮은)/2;
//Print("중앙값: "+중앙값);
up=medianPrice+(승수*atr);
//인쇄("위: "+위);
dn=medianPrice-(승수*atr);
//인쇄("dn: "+dn);
경향=1;
if (닫기>위) {
경향=1;
if (추세 == -1) changeOfTrend = 1;
//Print("추세: "+추세);
}
그렇지 않으면 (닫기<dn) {
경향=-1;
if (추세 == 1) changeOfTrend = 1;
//Print("추세: "+추세);
}
그렇지 않으면 (추세==1) {
경향=1;
변화의 추세 = 0;
}
그렇지 않으면 (추세==-1) {
경향=-1;
변화의 추세 = 0;
}
if (trend0) {
플래그=1;
//Print("플래그: "+플래그);
}
또 다른 {
플래그=0;
//Print("플래그: "+플래그);
}
if (추세>0 && 추세<0) {
플래그=1;
//Print("플래그: "+플래그);
}
또 다른 {
플래그=0;
//Print("플래그: "+플래그);
}
if (추세>0 && dn<dn)
dn=dn;
if (추세)
위로 = 위로;
if (플래그==1)
up=medianPrice+(승수*atr);
if (플래그==1)
dn=medianPrice-(승수*atr);
//-- 표시기 그리기
if (추세==1) {
트렌드업=dn;
if (changeOfTrend == 1) {
트렌드업 = 트렌드다운;
변화의 추세 = 0;
}
}
그렇지 않으면 (추세==-1) {
TrendDown=위쪽;
if (changeOfTrend == 1) {
트렌드다운 = 트렌드업;
변화의 추세 = 0;
}
}
if (추세==1 && 추세==-1) {
UpBuffer = iLow(Symbol(),0,i)-(3*포인트);
DnBuffer = EMPTY_VALUE;
}
if (추세==-1 && 추세==1) {
업버퍼 = EMPTY_VALUE;
DnBuffer = iHigh(Symbol(),0,i)+(3*포인트);
}
}
창 다시 그리기();
//----
리턴(0);
}
아래 코딩에서 중간 가격 대신 "CLOSE PRICE"를 사용하고 싶습니다. .... Plz help:
정말 감사합니다
정수 시작()
{
이중 ClosePrice=닫기[0];
int limit, i, 플래그, 플래그, 경향[5000];
더블 업[5000], dn[5000], medianPrice, atr;
정수 counted_bars = IndicatorCounted();
//---- 가능한 오류 확인
if(counted_bars < 0) return(-1);
//---- 마지막으로 계산된 막대가 다시 계산됩니다.
if(counted_bars > 0) counted_bars--;
limit=Bars-1-counted_bars;
//인쇄(제한);
//----
for (i = 막대, i >= 1, i--) {
트렌드업 = EMPTY_VALUE;
TrendDown = EMPTY_VALUE;
atr = iATR(NULL, 0, Nbr_Periods, i);
//인쇄("atr: "+atr);
중간 가격 = (높은+낮은)/2;
//Print("중앙값: "+중앙값);
up=medianPrice+(승수*atr);
//인쇄("위: "+위);
dn=medianPrice-(승수*atr);
//인쇄("dn: "+dn);
경향=1;
if (닫기>위) {
경향=1;
if (추세 == -1) changeOfTrend = 1;
//Print("추세: "+추세);
}
그렇지 않으면 (닫기<dn) {
경향=-1;
if (추세 == 1) changeOfTrend = 1;
//Print("추세: "+추세);
}
그렇지 않으면 (추세==1) {
경향=1;
변화의 추세 = 0;
}
그렇지 않으면 (추세==-1) {
경향=-1;
변화의 추세 = 0;
}
if (trend0) {
플래그=1;
//Print("플래그: "+플래그);
}
또 다른 {
플래그=0;
//Print("플래그: "+플래그);
}
if (추세>0 && 추세<0) {
플래그=1;
//Print("플래그: "+플래그);
}
또 다른 {
플래그=0;
//Print("플래그: "+플래그);
}
if (추세>0 && dn<dn)
dn=dn;
if (추세)
위로 = 위로;
if (플래그==1)
up=medianPrice+(승수*atr);
if (플래그==1)
dn=medianPrice-(승수*atr);
//-- 표시기 그리기
if (추세==1) {
트렌드업=dn;
if (changeOfTrend == 1) {
트렌드업 = 트렌드다운;
변화의 추세 = 0;
}
}
그렇지 않으면 (추세==-1) {
TrendDown=위쪽;
if (changeOfTrend == 1) {
트렌드다운 = 트렌드업;
변화의 추세 = 0;
}
}
if (추세==1 && 추세==-1) {
UpBuffer = iLow(Symbol(),0,i)-(3*포인트);
DnBuffer = EMPTY_VALUE;
}
if (추세==-1 && 추세==1) {
업버퍼 = EMPTY_VALUE;
DnBuffer = iHigh(Symbol(),0,i)+(3*포인트);
}
}
창 다시 그리기();
//----
반환(0);
}다음을 대체할 수 있습니다.
(높음+낮음)/2
~와 함께
닫다
켄와
어떤 자동 검사 기호 기능에 대해 이야기하고 있습니까? 그 코드에는 그런 것이 없다
적절한 매개변수 필드에 기호를 입력하기만 하면 작동합니다(기호 이름이 정확한 한 모든 기호에 대해). 필요해안녕하세요 mladen님
나는 이것들을 내부에서 본다:
if (ForSymbol1=="") ForSymbol1 = 기호();
if (ForSymbol2=="") ForSymbol2 = 기호();
if (ForSymbolSyn3a=="") ForSymbolSyn3a = Symbol();
if (ForSymbolSyn3b=="") ForSymbolSyn3b = Symbol();
if (ForSymbolSyn3c=="") ForSymbolSyn3c = Symbol();
몇몇 부분들:
무효 checkSymbol(int 제한, 문자열 ForSymbol, double& 버퍼[])
{
limit = MathMax(limit,MathMin(Bars-1,iCustom(ForSymbol,timeFrame,indicatorFileName,"returnBars",0,0)*timeFrame/Period()));
for (int i=limit, i>=0, i--)
{
정수 y = iBarShift(ForSymbol, 시간 프레임, 시간);
버퍼 = iCustom(ForSymbol,timeFrame,indicatorFileName,"calculateValue",MA_Period,MA_Method,CCI_Period,applied_price,"",0,y);
}
}
내 능력은 정확한 목적을 알 수 없기 때문에 정확히 무엇을 하는지 알 수는 없지만, 원시 추측으로 볼 때 코드가 외부에서 기호를 입력하면 자동 감지되는 것으로 보입니다. 그런 다음 차트에 표시하고 아무 것도 입력하지 않으면 표시됩니다. 로컬 널 차트. 그런 다음 의도적으로 여러 외부 입력 문자열을 외부에 공백으로 남겨두면(아무것도 채우지 않음) 표시기가 반복적으로(적어도 중첩) 로컬 Null 차트를 여러 번 표시합니까? 또한 코드가 내부 사전 설정 기호에 어떻게 적응합니까? 정확히 어떻게 해야할지 모르겠으나 , (외부 입력 기호 기능/인식 을 둔감하게 하기 위해) 부착 방법과 같습니까? 또는 내부 사전 설정 기호에 맞게 수정하는 방법은 무엇입니까?
그런데 166페이지 #1660 이전에 만든 버전을 라이브에서 다시 그리는 이유는 무엇입니까? 그러한 재도색을 일으키는 기본적인 이유는 무엇입니까? 조언 감사합니다.
안녕하세요 mladen님
나는 이것들을 내부에서 본다:
if (ForSymbol1=="") ForSymbol1 = 기호();
if (ForSymbol2=="") ForSymbol2 = 기호();
if (ForSymbolSyn3a=="") ForSymbolSyn3a = Symbol();
if (ForSymbolSyn3b=="") ForSymbolSyn3b = Symbol();
if (ForSymbolSyn3c=="") ForSymbolSyn3c = Symbol();
몇몇 부분들:
무효 checkSymbol(int 제한, 문자열 ForSymbol, double& 버퍼[])
{
limit = MathMax(limit,MathMin(Bars-1,iCustom(ForSymbol,timeFrame,indicatorFileName,"returnBars",0,0)*timeFrame/Period()));
for (int i=limit, i>=0, i--)
{
정수 y = iBarShift(ForSymbol, 시간 프레임, 시간);
버퍼 = iCustom(ForSymbol,timeFrame,indicatorFileName,"calculateValue",MA_Period,MA_Method,CCI_Period,applied_price,"",0,y);
}
}
내 능력은 정확한 목적을 알 수 없기 때문에 정확히 무엇을 하는지 알 수는 없지만, 원시 추측으로 볼 때 코드가 외부에서 기호를 입력하면 자동 감지되는 것으로 보입니다. 그런 다음 차트에 표시하고 아무 것도 입력하지 않으면 표시됩니다. 로컬 널 차트. 그런 다음 의도적으로 여러 외부 입력 문자열을 외부에 공백으로 남겨두면(아무것도 채우지 않음) 표시기가 반복적으로(적어도 중첩) 로컬 Null 차트를 여러 번 표시합니까? 또한 코드가 내부 사전 설정 기호에 어떻게 적응합니까? 정확히 어떻게 해야할지 모르겠지만 (외부 입력 기호 기능/인식을 둔감하게 하기 위해) 부착 방법과 같습니까? 또는 내부 사전 설정 기호에 맞게 수정하는 방법은 무엇입니까?
그런데 166페이지 #1660 이전에 만든 버전을 라이브에서 다시 그리는 이유는 무엇입니까? 그러한 재도색을 일으키는 기본적인 이유는 무엇입니까? 조언 감사합니다.이 게시물에서 표시기를 확인할 수 있습니다: https://www.mql5.com/en/forum/178416/page19 몇 가지 추가 제어를 수행할 수 있는 방법을 확인하십시오.
#1664의 경우 이전에 읽고 다운로드했습니다. 저에게 너무 고급스럽고 복잡한 코드를 적용할 수 없습니다.
#1664의 경우 이전에 읽고 다운로드했습니다. 저에게 너무 고급스럽고 복잡한 코드를 적용할 수 없습니다.
모든 것을 두 줄로 작성할 수 있는 것은 아닙니다. 어떤 경우에는 불가능합니다
안녕 믈라덴
주어진 시장 프로필을 기반으로 목표 대역에 대한 POC 및 VA를 계산하라는 내 요청과 관련하여 가능한 한 열심히 노력했습니다. 불행히도 나는 POC 값만 얻었습니다. VA High/Low 값을 얻는 것이 현재 능력 범위를 벗어납니다.
게다가 주 초에는 원래 표시기인 레벨 센서의 코드에 오류가 있어 첨부된 사진에서 볼 수 있듯이 끔찍한 표시를 하는 것 같습니다. 무슨 이유인지 이해할 수 없지만 MT4 기본 디스플레이와 더 낮은 기간(<W1)의 데이터 간의 충돌과 관련이 있다고 추측합니다.
보시고 진행을 위한 조언 부탁드립니다.
깊이 감사드립니다.
파리스톨파리스톨
지난 금요일 데이터와 첫 번째 일요일 또는 월요일 데이터 사이에 차트의 시간 간격이 있고 xshift 시간이 선의 시간에 추가될 때 화면에 나타나는 일이 발생합니다.
한 가지 가능한 솔루션은 이 버전의 솔루션입니다. 디스플레이를 반전하고 오른쪽에서 왼쪽으로 표시하는 대신 왼쪽에서 오른쪽으로 표시하는 것입니다(그림과 같이). 지금까지 오른쪽에서 왼쪽으로 표시하는 솔루션을 찾지 못했습니다.
때때로 필요한 것은 조금 생각하는 것뿐입니다(이전 게시물을 마치자마자 아이디어가 거기에 있었습니다.
)
다음은 "오른쪽에서 왼쪽으로" 솔루션입니다(테스트한 한 지금은 정상적으로 작동함)
안녕,
표준편 차선을 "손으로" 계산했습니다.
이제 메타 트레이더에서 원래 Deviation Channel과 같은 채널을 그리고 싶습니다.
하지만 원래 채널처럼 작동하도록 factor = 0.618을 정상 편차 선으로 계산하는 방법을 모르겠습니다. ...OBJPROP_DEVIATION,0.618)
안녕 믈라덴
당신은 나에게 많은 의미 있는 일을 생각나게 하고 많은 동기를 부여합니다.
모두 감사합니다
파리스톨