Kalenzo: NormalizeDouble(price,Digits)을 사용해보십시오. 가끔 메타트레이더의 가격이 1.2000이 아니라 1.20020031023012이고 나머지 자릿수가 메타트레이더가 Pending 주문을 할 때 문제가 되는 경우가 있습니다. NormalizeDouble을 사용하면 괜찮을 것입니다.
"이전 포지션이 캔들 "0" 또는 캔들 "1"에서 마감되었다면 같은 캔들에서 다른 포지션을 열지 마세요." 또는, 양초 "0"이 다른 위치를 여는 데 필요한 조건을 충족하더라도... 이전 위치가 해당 양초에서 마감된 다음 다른 위치를 열지 못하게 하고 조건이 다시 맞을 때까지 기다리십시오.
for ( int i = OrdersHistoryTotal() - 1; i >= 0;i-- ) {
if ( ! OrderSelect( i, SELECT_BY_POS, MODE_HISTORY ) ) continue;
if ( OrderCloseTime() >= Time[ 1 ] ) {
last_order_closed_rather_recently = true;
break;
}
}
[/PHP]
after which you have the bool variable "last_order_closed_rather_recently" telling whether there was an order closed after the opening of bar 1. Then somewhere you'd have:
NormalizeDouble(price,Digits)을 사용해보십시오. 가끔 메타트레이더의 가격이 1.2000이 아니라 1.20020031023012이고 나머지 자릿수가 메타트레이더가 Pending 주문을 할 때 문제가 되는 경우가 있습니다. NormalizeDouble을 사용하면 괜찮을 것입니다.
Kalenzo에게 감사합니다. 이제 작동합니다.
거래일 정의
삭제됨
솔루션을 찾았습니다!
안녕하세요 코더
거래일을 선택하기 위해 EA에 함수 를 삽입하려고 합니다.
거래 시간에 대한 기능은 잘 작동합니다.
거래 시간의 경우 다음을 사용합니다.
extern string TradingHours = "거래 시간";
extern bool UseHourTrade = True;
외부 int FromHourTrade = 8;
extern int ToHourTrade = 18;
나중에 int 시작 후 :
if (UseHourTrade){
if (!(Hour()>=FromHourTrade && Hour()<=ToHourTrade)) {
Comment("거래의 시간이 오지 않았습니다!");
리턴(0);
그러나 거래일을 선택하려면 무엇이 필요합니까?
다음과 같이 extern을 정의할 때:
extern string TradingDays = "TRADING 일";
extern bool UseDayTrade = True;
extern int FromDayTrade = DayOfWeek ;
extern int ToDayTrade = DayOfWeek ;
그런 다음 두 가지 메시지를 받았습니다.
' DayOfWeek '-변수 예상
무엇을 할 것인가?
누군가 나를 도울 수 있습니까?
도움을 주셔서 감사합니다.
전문가!!! 도와주세요pppp
신경 쓰지 마.....
모두를 도와주세요
나는 문제가 있었는데, 어떻게 1개 포지션만 오픈하고 2개는 보류 중이었는지.
Buy 및 Buystop, Sellstop을 말하십시오.
나는 이전에 mql4의 누군가로부터 정보를 얻었습니다. 그는 다음을 사용합니다.
if(구매정지주문>0 &&판매중지주문>0)반품(0);
그 전에 그는 switch(OrderType())를 사용합니다.
혼란스럽습니다. 코드를 어디에서 변경해야 하나요?
나는 코드를 변경할 때 매수 정지 및 매도 정지에서 종료되며, 그렇지 않은 경우 하나가 트리거될 때까지 기다렸다가 SL 또는 TP에 도달한 다음 새로운 2를 보류 중으로 만듭니다.
내 목표는 1개 열림 및 2개 보류 중이므로 열림이 SL 또는 TP에 도달하면 보류 중 하나가 트리거되고 트리거되지 않은 하나는 삭제됩니다. 다른 2개를 보류 중으로 만듭니다.
그리고 switch() 옵션에 매직넘버를 넣을 수 있나요?
도움을 주셔서 대단히 감사합니다.
2개의 이동 평균이 현재 막대 이전의 5개 막대 내에서 교차했는지 확인하기 위해 쉽게 확인할 수 있는 설명은 무엇입니까? 아무도 나를 도울 수 있습니까 ??
데이브
-또는-
5개의 조건문을 어떻게 표현하나요?? 5개 모두가 허용되는 경우 buyvalue=1이 명시됩니다.
이것이 아래에서 작동하는지 모르겠습니다??: 작동 여부에 대해 누군가 언급할 수 있습니까? 그렇지 않은 경우 어떻게 명시해야 합니까??
if(조건1)
if(조건2)
if(조건3)
if(조건4)
if(조건5)
{
구매 가치 = 1;
}
데이브
if(Condition2)
if(Condition3)
if(Condiition4)
if(Condition5)
{
buyvalue=1;
}
이것은 다중 조건 테스트를 작성하는 가장 경제적이고 빠른 방법입니다.
조건 1이 채워지지 않으면 조건 2, 3, ...가 평가되지 않기 때문에 가장 빠릅니다. "&&" 연산자를 둘 사이에 넣으면 그렇지 않습니다.
따라서 가장 흔하지 않은 상태로 시작하십시오.
따라서 이것은 의심할 여지 없이 작동할 것입니다.
이제 여러분이 종종 어떤 것이 효과가 있을지 묻는 것처럼 가장 좋은 방법은 시도하는 것이며 배우는 것도 좋은 방법입니다.
건배.
2개의 이동 평균이 현재 막대 이전의 5개 막대 내에서 교차했는지 확인하기 위해 쉽게 확인할 수 있는 설명은 무엇입니까? 아무도 나를 도울 수 있습니까 ?? 데이브
ma1_0 = iMA(....,0);
ma2_0 = iMA(....,0);
ma1_5 = iMA(....,5);
ma2_5 = iMA(....,5);
if((ma1_0 - ma2_0) * (ma1_5 - ma2_5) < 0) cross = true;내가 어떻게 할...
안녕하세요,
당신이 원한다면 어떻게 말해야합니까?
"이전 포지션이 캔들 "0" 또는 캔들 "1"에서 마감되었다면 같은 캔들에서 다른 포지션을 열지 마세요." 또는, 양초 "0"이 다른 위치를 여는 데 필요한 조건을 충족하더라도... 이전 위치가 해당 양초에서 마감된 다음 다른 위치를 열지 못하게 하고 조건이 다시 맞을 때까지 기다리십시오.
나는 그것을 영어로 말할 수 있지만 mql4에 대해서는 아직 너무 새롭습니다.
감사해요
아마트레이더
다음 코드 스니펫을 사용할 수 있습니다.
for ( int i = OrdersHistoryTotal() - 1; i >= 0;i-- ) {
if ( ! OrderSelect( i, SELECT_BY_POS, MODE_HISTORY ) ) continue;
if ( OrderCloseTime() >= Time[ 1 ] ) {
last_order_closed_rather_recently = true;
break;
}
}
[/PHP]
after which you have the bool variable "last_order_closed_rather_recently" telling whether there was an order closed after the opening of bar 1. Then somewhere you'd have:
[PHP]if ( last_order_closed_rather_recently ) return( 0 );새로운 거래를 시작하기 전에.
감사합니다 선생님, 대단히 감사합니다.