나는 몇 달 동안 지표를 프로그래밍해 왔기 때문에 전문가가 조금 부족하지만 그것을 해결하려고 합니다. 도중에 약간의 도움이 필요합니다. 내가 함께 던진 내 전문가는 거래를 마감해야 하는 조건이 있는 경우 바 클로즈에서 확인하도록 합니다.
전역 변수로 시작합니다.
//--- Global variable
datetime PreviousBar; // record candle/bar time[/CODE]
and set one bool in init()
int init()
{
do_this = true;
}
[/CODE]
blah blah boring stuff.... etc, etc
then in the main loop I have:
[CODE]
if(do_this == true)
{
PreviousBar = Time[0];
do_this= false; // so it does this only once only
}
if(NewBar() == true)
{
if(TotalOpenOrders() == blah blah close my order you crazy monkey)
}
and outside the main loop I have:
[CODE]//--- returns true if current bar just formed
bool NewBar()
{
if(PreviousBar<Time[0])
{
PreviousBar = Time[0];
return(true);
}
else
{
return(false);
}
return(false);
}
좋습니다. 막대당 한 번만 수행하도록 설정되어 있습니다. 내가하고 싶은 것은 90 초 또는 60 초 또는 무엇이든 증가시키는 기능 을 가진 다음 해당 시간이 증가한 후 bool을 true로 설정하는 것입니다. 기본적으로 표시줄을 닫는 대신 60, 90, 120초 또는 무엇이든 표시기를 확인하고 싶습니다. 어떻게 해야 하나요?
nittany1: 나는 몇 달 동안 지표를 프로그래밍해 왔기 때문에 전문가가 조금 부족하지만 그것을 해결하려고 합니다. 그 과정에서 약간의 도움이 필요합니다. 내가 함께 던진 내 전문가는 거래를 마감해야 하는 조건이 있는 경우 바 클로즈에서 확인하도록 합니다.
전역 변수로 시작합니다.
//--- Global variable
datetime PreviousBar; // record candle/bar time[/CODE]
and set one bool in init()
int init()
{
do_this = true;
}
[/CODE]
blah blah boring stuff.... etc, etc
then in the main loop I have:
[CODE]
if(do_this == true)
{
PreviousBar = Time[0];
do_this= false; // so it does this only once only
}
if(NewBar() == true)
{
if(TotalOpenOrders() == blah blah close my order you crazy monkey)
}
and outside the main loop I have:
[CODE]//--- returns true if current bar just formed
bool NewBar()
{
if(PreviousBar<Time[0])
{
PreviousBar = Time[0];
return(true);
}
else
{
return(false);
}
return(false);
}
좋습니다. 막대당 한 번만 수행하도록 설정되었습니다. 내가하고 싶은 것은 90 초 또는 60 초 또는 무엇이든 증가시키는 기능을 가진 다음 해당 시간이 증가한 후 bool을 true로 설정하는 것입니다. 기본적으로 표시줄을 닫는 대신 60, 90, 120초 또는 무엇이든 표시기를 확인하고 싶습니다. 어떻게 해야 하나요?
도움을 주셔서 감사합니다.
- 니타니1
이렇게 해야 합니다. MT는 틱 기반 실행을 사용하므로 초당 정확도는 불가능합니다(Init() 하위에서 모든 것을 반복하지 않는 한).
카운터?
나는 몇 달 동안 지표를 프로그래밍해 왔기 때문에 전문가가 조금 부족하지만 그것을 해결하려고 합니다. 도중에 약간의 도움이 필요합니다. 내가 함께 던진 내 전문가는 거래를 마감해야 하는 조건이 있는 경우 바 클로즈에서 확인하도록 합니다.
전역 변수로 시작합니다.
datetime PreviousBar; // record candle/bar time[/CODE]
and set one bool in init()
{
do_this = true;
}
[/CODE]
blah blah boring stuff.... etc, etc
then in the main loop I have:
[CODE]
if(do_this == true)
{
PreviousBar = Time[0];
do_this= false; // so it does this only once only
}
if(NewBar() == true)
{
if(TotalOpenOrders() == blah blah close my order you crazy monkey)
}
and outside the main loop I have:
[CODE]//--- returns true if current bar just formed
bool NewBar()
{
if(PreviousBar<Time[0])
{
PreviousBar = Time[0];
return(true);
}
else
{
return(false);
}
return(false);
}좋습니다. 막대당 한 번만 수행하도록 설정되어 있습니다. 내가하고 싶은 것은 90 초 또는 60 초 또는 무엇이든 증가시키는 기능 을 가진 다음 해당 시간이 증가한 후 bool을 true로 설정하는 것입니다. 기본적으로 표시줄을 닫는 대신 60, 90, 120초 또는 무엇이든 표시기를 확인하고 싶습니다. 어떻게 해야 하나요?
도움을 주셔서 감사합니다.
- 니타니1
나는 몇 달 동안 지표를 프로그래밍해 왔기 때문에 전문가가 조금 부족하지만 그것을 해결하려고 합니다. 그 과정에서 약간의 도움이 필요합니다. 내가 함께 던진 내 전문가는 거래를 마감해야 하는 조건이 있는 경우 바 클로즈에서 확인하도록 합니다.
전역 변수로 시작합니다.
datetime PreviousBar; // record candle/bar time[/CODE]
and set one bool in init()
{
do_this = true;
}
[/CODE]
blah blah boring stuff.... etc, etc
then in the main loop I have:
[CODE]
if(do_this == true)
{
PreviousBar = Time[0];
do_this= false; // so it does this only once only
}
if(NewBar() == true)
{
if(TotalOpenOrders() == blah blah close my order you crazy monkey)
}
and outside the main loop I have:
[CODE]//--- returns true if current bar just formed
bool NewBar()
{
if(PreviousBar<Time[0])
{
PreviousBar = Time[0];
return(true);
}
else
{
return(false);
}
return(false);
}좋습니다. 막대당 한 번만 수행하도록 설정되었습니다. 내가하고 싶은 것은 90 초 또는 60 초 또는 무엇이든 증가시키는 기능을 가진 다음 해당 시간이 증가한 후 bool을 true로 설정하는 것입니다. 기본적으로 표시줄을 닫는 대신 60, 90, 120초 또는 무엇이든 표시기를 확인하고 싶습니다. 어떻게 해야 하나요?
도움을 주셔서 감사합니다.
- 니타니1이렇게 해야 합니다. MT는 틱 기반 실행을 사용하므로 초당 정확도는 불가능합니다(Init() 하위에서 모든 것을 반복하지 않는 한).
if (CallIndicatorsCheck())
{
// 여기에 코드
}
bool CallIndicatorsCheck()
{
정적 날짜 시간
정수 초 = 90;
부울 플래그;
if (CurrTime() >= Oldtime) {
Oldtime = CurrTime() + 초;
플래그 = 참; }
반환(플래그);
}
댓글 배치
누군가 나에게 기본 왼쪽 상단이 아닌 화면의 오른쪽 상단 모서리에 주석을 추가하는 코드를 보여줄 수 있습니까?
감사해요!
누군가 나에게 기본 왼쪽 상단이 아닌 화면의 오른쪽 상단 모서리에 주석을 추가하는 코드를 보여줄 수 있습니까? 감사해요!
당신은 할 수 없습니다. MQL4 매뉴얼에서:
죽음에 의해 필요한 경우 개체를 만들 수 있습니다.
누군가 나에게 기본 왼쪽 상단이 아닌 화면의 오른쪽 상단 모서리에 주석을 추가하는 코드를 보여줄 수 있습니까? 감사해요!
LinusGuy가 맞습니다. 직접적인 방법은 없습니다. 쉬운 해결 방법은 주석을 공백으로 채우는 것입니다.
Comment("안녕하세요!");
텍스트를 오른쪽으로 오프셋합니다.
줄 바꿈을 넣어 페이지를 드롭다운할 수도 있습니다.
Comment("\n\n\n\n\n텍스트");
또는 줄바꿈과 공백을 결합하여 화면의 오른쪽 하단 모서리에 인쇄합니다.
소
LinusGuy가 맞습니다. 직접적인 방법은 없습니다. 쉬운 해결 방법은 주석을 공백으로 채우는 것입니다.
Comment("안녕하세요!");
텍스트를 오른쪽으로 오프셋합니다.
줄 바꿈을 넣어 페이지를 드롭다운할 수도 있습니다.
Comment("\n\n\n\n\n텍스트");
또는 줄바꿈과 공백을 결합하여 화면의 오른쪽 하단 모서리에 인쇄합니다.
소도와 주셔서 감사합니다. 시도해 볼게!
거래 손실 후 X 막대에 대한 새로운 거래 없음
안녕 팀 - 누군가가 도와줄 수 있기를 바랍니다.
마지막 거래가 손실인 경우 10바에 대해 새로운 거래가 시작되는 것을 어떻게 중지합니까?
건배
아래 함수 는 10번째 과거 막대(현재 막대는 0)가 열릴 때 또는 그 이후에 계정 기록에 손실 거래가 있는 동안 true를 반환합니다.
그렇지 않으면 false를 반환합니다.
{
datetime since = Time[ bar+10 ];
for ( int i = OrdersHistoryTotal() - 1; i >= 0; i-- ) {
if ( ! OrderSelect( i, SELECT_BY_POS, MODE_HISTORY )
continue;
if ( OrderProfit() = since )
return( true );
}
return( false );
}
[/PHP]
If you add that function to your EA, then include a statement like the following in the start() function, then Bob's your uncle.
[PHP]if ( postMortem() ) return( 0 );그것에 대해 아주 많이 thx - 나는 그것을 시도 할 것입니다
문안 인사
여러분, 같은 문제가 있습니까?
나는 전문가를 코딩했다. 가격이 하나의 지표와 같을 때 포지션을 열고 싶습니다. 이를 위해 다음 문장을 사용합니다.
//구매
이중 표시 과거 = icustom(...........,1);
이중 표시기now = icustom(...........,0);
if (close[1]indicatornow) OpenBUY();
if (close[1]>indicatorpast && close[0]<indicatornow) OpenSELL();
그러나 이러한 만족으로 전문가는 가격이 지표를 넘어갈 때 포지션을 오픈할 뿐만 아니라 지표 위의 포지션도 엽니다. 나는 그것이 지표를 지날 때만 전문가가 포지션을 열 수 있기를 원하므로 다음과 같이 시도했습니다.
//구매
이중 표시 과거 = icustom(...........,1);
이중 표시기now = icustom(...........,0);
if (close[1]<indicatorpast && close[0] == indicatornow) OpenBUY();
if (close[1]>indicatorpast && close[0] == indicatornow) OpenSELL();
그러나 이 진술은 실행되지 않습니다.
무슨 일이 일어나는지 아세요? 진술에 오류가 없다고 생각하기 때문입니다.
문안 인사.