안녕하세요. MT4 의 경우 Expert Advisor를 작성하고 싶습니다. 작업 중 하나는 M1에 Fibo 선을 한 시간 안에 그리는 것입니다. 즉, 11시가 시작되면 10시에서 10시 59분 사이에 고점과 저점을 중심으로 선을 그어야 합니다. 다른 방법을 시도하고 마지막이 무엇인지 설명했습니다. 대부분의 경우 도면 수준에 대한 코드를 줄일 수 있습니다. 문제는 주어진 영역에 선을 그리지 않는다는 것입니다.
int timemin=TimeMinute(시간[59]==0); int timehour=TimeHour(시간[1] && TimeMinute(시간[0])); int timemin1=TimeMinute(시간[0]==0); int timehour1=TimeHour(시간[1] && TimeMinute(시간[59]));
int max=iHighest(Symbol(),1,MODE_HIGH,60,timehour); int min=iLowest(Symbol(),1,MODE_LOW,60,timehour);
이중 막대=(iOpen(Symbol(),60,1)>iClose(Symbol(),60,1)); 이중 bardn=(iOpen(Symbol(),60,1)<iClose(Symbol(),60,1)); ObjectDelete("FiboLevel"); //------새로운 레벨
만약 (바럽) { 창 다시 그리기(); ObjectCreate(0,"FiboLevels",OBJ_FIBO,0,시간[분],낮음[분],시간[시간1],높음[최대]); ObjectSet("FiboLevels",OBJPROP_COLOR,clrGreen);
} 이면 (반드시) { 창 다시 그리기(); ObjectCreate(0,"FiboLevels",OBJ_FIBO,0,시간[최대],낮음[최대],시간[시간1],높음[최소]); ObjectSet("FiboLevels",OBJPROP_COLOR,clrRed);
} 더블 f1=ObjectGet("FiboLevels",OBJPROP_PRICE1); //첫 번째 가격을 선택합니다. 더블 f2=ObjectGet("FiboLevels",OBJPROP_PRICE2); //두 번째 가격을 선택하고 차트를 그립니다. 이중 차이 = f2-f1; 문자열 a11=DoubleToStr(f2-Diff*0.0,Digits); 문자열 a12=DoubleToStr(f2-Diff*0.236,숫자); 문자열 a13=DoubleToStr(f2-Diff*0.382,Digits); 문자열 a14=DoubleToStr(f2-Diff*0.50,Digits); 문자열 a15=DoubleToStr(f2-Diff*0.618,Digits); string a16=DoubleToStr(f2-Diff*1.0,Digits);
안녕하세요. MT4 의 경우 Expert Advisor를 작성하고 싶습니다. 작업 중 하나는 M1에 Fibo 선을 한 시간 안에 그리는 것입니다. 즉, 11시가 시작되면 10시에서 10시 59분 사이에 고점과 저점을 중심으로 선을 그어야 합니다. 다른 방법을 시도하고 마지막이 무엇인지 설명했습니다. 대부분의 경우 도면 수준에 대한 코드를 줄일 수 있습니다. 문제는 주어진 영역에 선을 그리지 않는다는 것입니다.
이중 막대=(iOpen(Symbol(),60,1)>iClose(Symbol(),60,1));
이중 bardn=(iOpen(Symbol(),60,1)<iClose(Symbol(),60,1)); ObjectDelete("FiboLevel"); //------새로운 레벨
만약 (바럽) { 창 다시 그리기(); ObjectCreate(0,"FiboLevels",OBJ_FIBO,0,시간[분],낮음[분],시간[시간1],높음[최대]); ObjectSet("FiboLevels",OBJPROP_COLOR,clrGreen);
} 이면 (반드시) { 창 다시 그리기(); ObjectCreate(0,"FiboLevels",OBJ_FIBO,0,시간[최대],낮음[최대],시간[시간1],높음[최소]); ObjectSet("FiboLevels",OBJPROP_COLOR,clrRed);
}
이게 더 짧나요? bool barup=... WindowRedraw(); 여전히 실행됩니다 - if에서 제거됨
ObjectDelete ( "FiboLevels" ); //------Новый уровеньWindowRedraw ();
if ( iOpen ( Symbol (), 60 , 1 )> iClose ( Symbol (), 60 , 1 ))
{
ObjectCreate ( 0 , "FiboLevels" , OBJ_FIBO , 0 , Time [min], Low [min], Time [timehour1], High [max]);
ObjectSet ( "FiboLevels" , OBJPROP_COLOR , clrGreen );
}
else
{
ObjectCreate ( 0 , "FiboLevels" , OBJ_FIBO , 0 , Time [max], Low [max], Time [timehour1], High [min]);
ObjectSet ( "FiboLevels" , OBJPROP_COLOR , clrRed );
}
ATS에 기술된 조건에 따라 그는 개구부에 초록불을 주었으므로 그는 그것을 엽니다. 이 경우 많은 솔루션이 있습니다. 그것은 모두 당신에게 더 수용 가능한 것에 달려 있습니다. 마지막 주문에서 N 번째 포인트만큼 가격이 올라간 경우에만 다음 주문이 열린다고 할 수 있습니다. 1개의 바에서 2개 이상의 주문을 열 수 없다고 말할 수 있습니다. 등.. 필요한 조건을 적고 수표에 적용하십시오.
ATS에 기술된 조건에 따라 그는 개구부에 초록불을 주었으므로 그는 그것을 엽니다. 이 경우 많은 솔루션이 있습니다. 그것은 모두 당신에게 더 수용 가능한 것에 달려 있습니다. 마지막 주문에서 N 번째 포인트만큼 가격이 올라간 경우에만 다음 주문이 열린다고 할 수 있습니다. 1개의 바에서 2개 이상의 주문을 열 수 없다고 말할 수 있습니다. 등.. 필요한 조건을 적고 수표에 적용하십시오.
이 자리를 위해 if(iTime(Symbol(),PERIOD_M1,0)) { 한 막대에서 주문을 열기 위해 무엇을 써야 할까요?
특정 계산을 수행하는 EA가 있습니다. 다른 매트 연산, 배열, 루프를 사용합니다. 결과 는 파일에 기록됩니다 . 모든 단계를 완료한 후에는 처음부터 모든 것을 시작해야 합니다. 그러나 모든 계산을 한 번만 수행하고 두 번째 시작하고 정지하면 아무 작업도 수행되지 않습니다. 새 계산을 시작하기 전에 변수를 재설정하거나 배열을 지우는 등의 작업이 필요할 수 있습니다.
특정 계산을 수행하는 EA가 있습니다. 다른 매트 연산, 배열, 루프를 사용합니다. 결과 는 파일에 기록됩니다 . 모든 단계를 완료한 후에는 처음부터 모든 것을 시작해야 합니다. 그러나 모든 계산을 한 번만 수행하고 두 번째 시작하고 정지하면 아무 작업도 수행되지 않습니다. 새 계산을 시작하기 전에 변수를 재설정하거나 배열을 지우는 등의 작업이 필요할 수 있습니다.
안녕하세요. MT4 의 경우 Expert Advisor를 작성하고 싶습니다. 작업 중 하나는 M1에 Fibo 선을 한 시간 안에 그리는 것입니다. 즉, 11시가 시작되면 10시에서 10시 59분 사이에 고점과 저점을 중심으로 선을 그어야 합니다. 다른 방법을 시도하고 마지막이 무엇인지 설명했습니다. 대부분의 경우 도면 수준에 대한 코드를 줄일 수 있습니다. 문제는 주어진 영역에 선을 그리지 않는다는 것입니다.
int timemin=TimeMinute(시간[59]==0);
int timehour=TimeHour(시간[1] && TimeMinute(시간[0]));
int timemin1=TimeMinute(시간[0]==0);
int timehour1=TimeHour(시간[1] && TimeMinute(시간[59]));
int max=iHighest(Symbol(),1,MODE_HIGH,60,timehour);
int min=iLowest(Symbol(),1,MODE_LOW,60,timehour);
이중 막대=(iOpen(Symbol(),60,1)>iClose(Symbol(),60,1));
이중 bardn=(iOpen(Symbol(),60,1)<iClose(Symbol(),60,1));
ObjectDelete("FiboLevel"); //------새로운 레벨
만약 (바럽)
{
창 다시 그리기();
ObjectCreate(0,"FiboLevels",OBJ_FIBO,0,시간[분],낮음[분],시간[시간1],높음[최대]);
ObjectSet("FiboLevels",OBJPROP_COLOR,clrGreen);
}
이면 (반드시)
{
창 다시 그리기();
ObjectCreate(0,"FiboLevels",OBJ_FIBO,0,시간[최대],낮음[최대],시간[시간1],높음[최소]);
ObjectSet("FiboLevels",OBJPROP_COLOR,clrRed);
}
더블 f1=ObjectGet("FiboLevels",OBJPROP_PRICE1); //첫 번째 가격을 선택합니다.
더블 f2=ObjectGet("FiboLevels",OBJPROP_PRICE2); //두 번째 가격을 선택하고 차트를 그립니다.
이중 차이 = f2-f1;
문자열 a11=DoubleToStr(f2-Diff*0.0,Digits);
문자열 a12=DoubleToStr(f2-Diff*0.236,숫자);
문자열 a13=DoubleToStr(f2-Diff*0.382,Digits);
문자열 a14=DoubleToStr(f2-Diff*0.50,Digits);
문자열 a15=DoubleToStr(f2-Diff*0.618,Digits);
string a16=DoubleToStr(f2-Diff*1.0,Digits);
bool a1=ObjectSet("FiboLevels",OBJPROP_FIBOLEVELS,6);
bool a2=ObjectSet("FiboLevels",OBJPROP_FIRSTLEVEL+0,0.0);
bool a3=ObjectSet("FiboLevels",OBJPROP_FIRSTLEVEL+1,0.236);
bool a4=ObjectSet("FiboLevels",OBJPROP_FIRSTLEVEL+2,0.382);
bool a5=ObjectSet("FiboLevels",OBJPROP_FIRSTLEVEL+3,0.50);
bool a6=ObjectSet("FiboLevels",OBJPROP_FIRSTLEVEL+4,0.618);
bool a7=ObjectSet("FiboLevels",OBJPROP_FIRSTLEVEL+5,1.0);
bool a111=ObjectSetFiboDescription("FiboLevels",0,"0.0%");
bool a122=ObjectSetFiboDescription("FiboLevels",1,"23.6%");
bool a133=ObjectSetFiboDescription("FiboLevels",2,"38.2%");
bool a144=ObjectSetFiboDescription("FiboLevels",3,"50.0%");
bool a155=ObjectSetFiboDescription("FiboLevels",4,"61.8%");
bool a166=ObjectSetFiboDescription("FiboLevels",5,"100.0%");
안녕하세요. MT4 의 경우 Expert Advisor를 작성하고 싶습니다. 작업 중 하나는 M1에 Fibo 선을 한 시간 안에 그리는 것입니다. 즉, 11시가 시작되면 10시에서 10시 59분 사이에 고점과 저점을 중심으로 선을 그어야 합니다. 다른 방법을 시도하고 마지막이 무엇인지 설명했습니다. 대부분의 경우 도면 수준에 대한 코드를 줄일 수 있습니다. 문제는 주어진 영역에 선을 그리지 않는다는 것입니다.
이중 막대=(iOpen(Symbol(),60,1)>iClose(Symbol(),60,1));이중 bardn=(iOpen(Symbol(),60,1)<iClose(Symbol(),60,1));
ObjectDelete("FiboLevel"); //------새로운 레벨
만약 (바럽)
{
창 다시 그리기();
ObjectCreate(0,"FiboLevels",OBJ_FIBO,0,시간[분],낮음[분],시간[시간1],높음[최대]);
ObjectSet("FiboLevels",OBJPROP_COLOR,clrGreen);
}
이면 (반드시)
{
창 다시 그리기();
ObjectCreate(0,"FiboLevels",OBJ_FIBO,0,시간[최대],낮음[최대],시간[시간1],높음[최소]);
ObjectSet("FiboLevels",OBJPROP_COLOR,clrRed);
}
이게 더 짧나요? bool barup=... WindowRedraw(); 여전히 실행됩니다 - if에서 제거됨
더 짧을 수 있습니다 ... 내 파일 참조
코드를 올바르게 붙여넣으십시오.
더 명확하게:
얘들 아, 왜 매 틱마다 주문을 열지? 바에 집중하는 방법을 알려주세요.
얘들 아, 왜 매 틱마다 주문을 열지? 바에 집중하는 방법을 알려주세요.
ATS에 기술된 조건에 따라 그는 개구부에 초록불을 주었으므로 그는 그것을 엽니다.
이 경우 많은 솔루션이 있습니다. 그것은 모두 당신에게 더 수용 가능한 것에 달려 있습니다.
마지막 주문에서 N 번째 포인트만큼 가격이 올라간 경우에만 다음 주문이 열린다고 할 수 있습니다. 1개의 바에서 2개 이상의 주문을 열 수 없다고 말할 수 있습니다. 등..
필요한 조건을 적고 수표에 적용하십시오.
ATS에 기술된 조건에 따라 그는 개구부에 초록불을 주었으므로 그는 그것을 엽니다.
이 경우 많은 솔루션이 있습니다. 그것은 모두 당신에게 더 수용 가능한 것에 달려 있습니다.
마지막 주문에서 N 번째 포인트만큼 가격이 올라간 경우에만 다음 주문이 열린다고 할 수 있습니다. 1개의 바에서 2개 이상의 주문을 열 수 없다고 말할 수 있습니다. 등..
필요한 조건을 적고 수표에 적용하십시오.
이 자리를 위해 if ( iTime ( Symbol (), PERIOD_M1 , 0 )) { 한 막대에서 주문을 열기 위해 무엇을 써야 할까요?
질문은 여러 번 요청되었으며 여러 번 답변되었습니다. 예를 들어 여기에서 검색을 사용하여
질문은 여러 번 요청되었으며 여러 번 답변되었습니다. 예를 들어 여기에서 검색을 사용하여
덕분에!
안녕하세요!
특정 계산을 수행하는 EA가 있습니다. 다른 매트 연산, 배열, 루프를 사용합니다. 결과 는 파일에 기록됩니다 . 모든 단계를 완료한 후에는 처음부터 모든 것을 시작해야 합니다. 그러나 모든 계산을 한 번만 수행하고 두 번째 시작하고 정지하면 아무 작업도 수행되지 않습니다. 새 계산을 시작하기 전에 변수를 재설정하거나 배열을 지우는 등의 작업이 필요할 수 있습니다.
안녕하세요!
특정 계산을 수행하는 EA가 있습니다. 다른 매트 연산, 배열, 루프를 사용합니다. 결과 는 파일에 기록됩니다 . 모든 단계를 완료한 후에는 처음부터 모든 것을 시작해야 합니다. 그러나 모든 계산을 한 번만 수행하고 두 번째 시작하고 정지하면 아무 작업도 수행되지 않습니다. 새 계산을 시작하기 전에 변수를 재설정하거나 배열을 지우는 등의 작업이 필요할 수 있습니다.