MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 514

 

안녕하세요, 저는 그런 문제에 봉착했습니다: 저는 어드바이저를 두 기간에만 거래하게 할 수 없습니다. 그것을 하는 방법? 말해 주세요. 코드는 다음과 같지만 마침표 1개만 허용하고 두 번째 마침표는 무시합니다.

 extern string с = "Блок № 3" ;
extern int     Start_H1 = 0 ;
extern int     Start_M1 = 30 ;
extern int     End_H1   = 7 ;
extern int     End_M1   = 59 ;
extern int     Start_H2 = 12 ;
extern int     Start_M2 = 30 ;
extern int     End_H2   = 20 ;
extern int     End_M2   = 10 ;



if ((( Hour ()>=Start_H1 && Minute ()>Start_M1) && ( Hour ()<=End_H1 && Minute ()<=End_M1 )) ||
    (( Hour ()>=Start_H2 && Minute ()>Start_M2) && ( Hour ()<=End_H2 && Minute ()<=End_M2))) 
        {
         открытие ордеров
        }
 
Nikita Chernyshov :

안녕하세요, 저는 그런 문제에 봉착했습니다: 저는 어드바이저를 두 기간에만 거래하게 할 수 없습니다. 그것을 하는 방법? 말해 주세요. 코드는 다음과 같지만 마침표 1개만 허용하고 두 번째 마침표는 무시합니다.

시간과 분을 풀 타임으로 변환하고 현재와 비교하는 것이 좋습니다.

   string startTime_1, startTime_2, endTime_1, endTime_2;
   StringConcatenate (startTime_1, Start_H1, ":" , Start_M1);
   StringConcatenate (endTime_1, End_H1, ":" , End_M1);
   StringConcatenate (startTime_2, Start_H2, ":" , Start_M2);
   StringConcatenate (endTime_2, End_H2, ":" , End_M2);
   datetime startHM_1, startHM_2, endHM_1, endHM_2;
   startHM_1 = StringToTime (startTime_1);
   endHM_1 = StringToTime (endTime_1);
   startHM_2 = StringToTime (startTime_2);
   endHM_2 = StringToTime (endTime_2);
   if (( TimeCurrent () >= startHM_1 && TimeCurrent () <= endHM_1) || ( TimeCurrent () >= startHM_2 && TimeCurrent () <= endHM_2))
 
안녕하세요. 이름이 321fa34, 321fa53, 321fa41인 삼각형이 있습니다. 가장 신선한 삼각형의 최소 가격 을 찾는 방법은 무엇입니까? 속성의 중간에 있는 가격입니다.
 
YanSay :

Добрый день!

Прошу помочь со следующей проблемой:

1) После выполнения некоторых условий, открывается отложенный ордер:

Подскажите пожалуйста, что нужно дописать и куда, чтобы неоткрывшийся отложенный ордер был удален в том случае, если цена уже прошла стоп лосс(этого неоткрывшегося оредра).

Извините за глупый вопрос, заблудился в форумах пока искал ответ.

Заранее благодарю!

식별자

설명

ORDER_TIME_GTC

주문은 취소될 때까지 대기열에 있습니다.

ORDER_TIME_DAY

주문은 현재 거래일에만 유효합니다.

ORDER_TIME_SPECIFIED

주문은 만료일까지 유효합니다

ORDER_TIME_SPECIFIED_DAY

주문은 지정된 날짜의 23:59:59까지 유효합니다. 이 시간이 거래 세션에 속하지 않으면 가장 가까운 거래 시간에 만료됩니다.


다음은 보류 중인 주문을 제거하기 위한 옵션입니다!

주문을 삭제하려면 가격을 제어해야 하며 중지 가격에 도달하면 주문을 삭제합니다. 이 모든 것을 별도의 코드에 작성해야 합니다!

 

신사 숙녀 여러분,

오류를 찾는 데 도움:

(실수)

')' - 프로그램의 예기치 않은 종료

"쉼표 예상

"-세미콜론 예상

'Trade_BY' - 정의되지 않은 기능

'Trade_SELL' - 정의되지 않은 기능

 

친애하는 제발 말해!

스크립트를 사용 하여 차트에서 지표의 설정(특정 변수)을 어떻게 변경합니까!?

이것이 가능하다면 코드 조각이 바람직 할 것입니다 !!!

 
PolarSeaman :
안녕하세요. 이름이 321fa34, 321fa53, 321fa41인 삼각형이 있습니다. 가장 신선한 삼각형의 최소 가격 을 찾는 방법은 무엇입니까? 속성의 중간에 있는 가격입니다.

하나.

OBJPROP_CREATETIME

객체 생성 시간

날짜/시간 r/o

2.

OBJPROP_PRICE

가격 좌표

이중 수정자=앵커 포인트 번호

 
Nikita Chernyshov :

안녕하세요, 저는 그런 문제에 봉착했습니다: 저는 어드바이저를 두 기간에만 거래하게 할 수 없습니다. 그것을 하는 방법? 말해 주세요. 코드는 다음과 같지만 마침표 1개만 허용하고 두 번째 마침표는 무시합니다.

이 접근 방식을 사용하면 두 간격이 모두 무시됩니다. 예를 들어, 현재 시간 은 01:15입니다. 조건이 충족될까요?

( Hour ()>=Start_H1 && Minute ()>Start_M1) && ( Hour ()<=End_H1 && Minute ()<=End_M1 )

아니, 그렇지 않습니다. 결국, 현재 분은 15분으로 시작 30분보다 적습니다. 두 번째 간격과 유사합니다. 하루 시작부터 시간을 분으로 변환하는 것이 가장 좋습니다.

 int nCurDayMinutes = Hour () * 60 + Minute ();
int nStart1DayMinutes = Start_H1 * 60 + Start_M1;
int nEnd1DayMinutes = End_H1 * 60 + End_M1;
if (nCurDayMinutes >= nStart1DayMinutes && nCurDayMinutes < nEnd1DayMinutes)
{
   // внутри интервала
}
 
YanSay :

안녕하세요!

다음 문제를 도와주세요.

1) 특정 조건이 충족되면 보류 중인 주문이 열립니다.

가격이 이미 손절매(이 미개봉 주문의)를 통과한 경우 미개봉 보류 주문이 삭제되도록 추가해야 할 항목과 위치를 알려주십시오.

어리석은 질문에 대해 죄송합니다. 답변을 찾는 동안 포럼에서 길을 잃었습니다.

미리 감사합니다!

주문이 개설되었는지 여부를 알 수 없다는 사실부터 시작하겠습니다. 이와 관련하여 수표가 없습니다. 따라서 개설 사실이 확인되지 않은 주문의 손절매 또는 이익실현 달성 여부를 확인하는 것은 무의미합니다.

 
Игорь :

친애하는 제발 말해!

스크립트를 사용 하여 차트에서 지표의 설정(특정 변수)을 어떻게 변경합니까!?

이것이 가능하다면 코드 조각이 바람직 할 것입니다 !!!

아주 이상한 질문입니다. 이것은 "파일로 의자를 켜는 방법"을 묻는 것과 같습니다.