MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1216 1...120912101211121212131214121512161217121812191220122112221223...1953 새 코멘트 AIGUL SALMANOVA 2020.07.15 13:23 #12151 Valeriy Yastremskiy : 주문 유형 수의 플래그 또는 제어 또는 티켓이 시장 주문 마감 시간의 제어인 경우 0이 아니면 주문이 마감되고 주문을 열기 위한 플래그가 false입니다. 프로그래밍 방식은 어떻습니까? Valeriy Yastremskiy 2020.07.15 13:33 #12152 AIGUL SALMANOVA : 프로그래밍 방식은 어떻습니까? if ( OrderSelect (Ticket, SELECT_BY_TICKET)== true ) { if (OrderCloseTime()== 0 ) // Если наш рыночный ордер не закрыт { if (flagAlert == true ) Alert ( "Наш рыночный ордер жив, Модифицируем его если нужно " , Text,Ticket, ". Ждём ответ.." ); ModifyTral(); // Модифицируем если нужно } if (OrderCloseTime()!= 0 ) // Если наш рыночный ордер закрылся { OpnOr= false ; // Флаг открытия рыночного ордера после его закрытия делаем ЛОЖЬ Ticket= 0 ; // Тикет ордера рыночного, он может быть только один Alert ( "Наш рыночный ордер закрылся. Работа Советника продолжается " , "Прибыль/убыток = " ,OrderProfit(), " Своп = " , OrderSwap(), " Комиссия = " , OrderCommission()); return ; } } else { Alert ( "OrderSelect() нашего рыночного ордера вернул ошибку - " , GetLastError ()); return ;} } 티켓 계산용. 주문을 열 때 티켓을 기억해야 합니다. Alert ( "Попытка открыть Buy Ожидание ответа.." , "SL = " ,SL, "TP = " ,TP, "Lts = " ,Lts); Ticket= OrderSend (Symb,OP_BUY,Lts,Ask,slippage,SL,TP, "QstrBuy" ,Magic, 0 ,Blue); //Открытие Buy if (Ticket> 0 ) // Получилось :) { Alert ( Symbol (), "Открыт ордер Buy по цене " ,Ask, "Ticket = " ,Ticket);} prom18 2020.07.15 18:56 #12153 Valeriy Yastremskiy : 솔직히 말해 무엇이 필요한지 명확하지 않습니다. 표시되는 내용과 필요한 내용을 이해하는 방법을 공식으로 작성하십시오. 마지막 4틱 사이에 밀리초 단위의 시간이 필요합니다. 새 눈금이 나타나면 값을 업데이트합니다. 표시기는 마지막 틱( GetTickCount() )의 시간을 버퍼에 씁니다. EA는 표시기에서 값을 가져와 시차를 계산합니다. double buf1= iCustom ( Symbol (), 0 , "time" , 0 , 1 ); double buf2= iCustom ( Symbol (), 0 , "time" , 0 , 2 ); double buf3= iCustom ( Symbol (), 0 , "time" , 0 , 3 ); double buf4= iCustom ( Symbol (), 0 , "time" , 0 , 4 ); double delta1=buf1-buf2; double delta2=buf2-buf3; double delta3=buf3-buf4; Alert (delta1, " " ,delta2, " " ,delta3); 모든 것을 고려한 것 같지만 Alert는 그림과 같이 하나씩 값을 내준다. 이유를 이해하지 못합니다. Maxim Kuznetsov 2020.07.15 19:07 #12154 prom18 : 마지막 4틱 사이에 밀리초 단위의 시간이 필요합니다. 새 눈금이 나타나면 값을 업데이트합니다. 표시기는 마지막 틱(GetTickCount())의 시간을 버퍼에 씁니다. EA는 표시기에서 값을 가져와 시차를 계산합니다. 모든 것을 고려한 것 같지만 Alert는 그림과 같이 하나씩 값을 내준다. 이유를 이해하지 마십시오. 문서를 읽지 않기 때문에 GetTickCount 에 대한 도움말에는 이에 대해 기록되어 있습니다. 이것은 카운터의 정수 오버플로입니다. prom18 2020.07.15 19:39 #12155 Maxim Kuznetsov : 문서를 읽지 않기 때문에 GetTickCount에 대한 도움말에는 이에 대해 기록되어 있습니다. 이것은 카운터의 정수 오버플로입니다. 유니트 말씀하시는건가요? 경고창에 왜 뜨나요? 나는 그것을 거기에 쓰지 않았다. Maxim Kuznetsov 2020.07.15 20:48 #12156 prom18 : 유니트 말씀하시는건가요? 경고창에 왜 뜨나요? 나는 그것을 거기에 쓰지 않았다. 첫 번째 경고 에서 계산된 차이를 잘못 표시합니다(오버플로를 고려하지 않고). 코드에 큰 정수 값이 있는 두 번째 경고는 제공한 조각에 없습니다 :-) prom18 2020.07.16 04:23 #12157 그것이 바로 요점입니다. 코드에는 존재하지 않습니다. 표시기의 전체 코드입니다. #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 Aqua double x[]; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int init() { IndicatorBuffers( 1 ); SetIndexStyle( 0 , DRAW_LINE ); SetIndexBuffer ( 0 ,x); SetIndexDrawBegin( 0 , 0 ); SetIndexLabel( 0 , "x" ); SetIndexShift( 0 , 0 ); return ( 0 ); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { uint b= GetTickCount (); x[ 0 ]=b; Alert (b); for ( int j= ArraySize (x)- 1 ;j>= 1 ;j--){x[j]=x[j- 1 ];} return ( 0 ); } //+------------------------------------------------------------------+ 고문의 전체 코드. #property copyright "" #property link "" #property version "1.00" #property strict //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit () { //--- //--- return ( INIT_SUCCEEDED ); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit ( const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick () { uint buf1= iCustom ( Symbol (), 0 , "time" , 0 , 1 ); uint buf2= iCustom ( Symbol (), 0 , "time" , 0 , 2 ); uint buf3= iCustom ( Symbol (), 0 , "time" , 0 , 3 ); uint buf4= iCustom ( Symbol (), 0 , "time" , 0 , 4 ); uint delta1=buf1-buf2; uint delta2=buf2-buf3; uint delta3=buf3-buf4; Alert (delta1, " " ,delta2, " " ,delta3); } //+------------------------------------------------------------------+ Документация по MQL5: Константы, перечисления и структуры / Именованные константы / Предопределенные макроподстановки www.mql5.com //| Expert initialization function | //| Expert deinitialization function | //| Expert tick function | //| test1 |... Maxim Kuznetsov 2020.07.16 04:34 #12158 prom18 : 그것이 바로 요점입니다. 코드에는 존재하지 않습니다. 표시기의 전체 코드입니다. 고문의 전체 코드. 당신이 뒤에 무엇을 남겼는지보십시오. time.mq4를 살펴보십시오 - 아마도 경고를 보낼 것입니다. Valeriy Yastremskiy 2020.07.16 07:01 #12159 prom18 : 그것이 바로 요점입니다. 코드에는 존재하지 않습니다. 표시기의 전체 코드입니다. 고문의 전체 코드. 경고 구조의 표시기에서. 경보 (b) 아래 5행; uint b= GetTickCount (); x[ 0 ]=b; Alert (b); 분명히 이것은 시스템이 시작된 후 경과 한 밀리초 수입니다 ) Adilzhan Zhumakhan 2020.07.16 15:11 #12160 빠른 거래 버튼의 상태를 추적하는 방법은 무엇입니까? 즉, 차트에 있는지 여부입니다. 프롬프트 기능 또는 기타 방법 무엇. 1...120912101211121212131214121512161217121812191220122112221223...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
주문 유형 수의 플래그 또는 제어 또는 티켓이 시장 주문 마감 시간의 제어인 경우 0이 아니면 주문이 마감되고 주문을 열기 위한 플래그가 false입니다.
프로그래밍 방식은 어떻습니까?
티켓 계산용.
주문을 열 때 티켓을 기억해야 합니다.
솔직히 말해 무엇이 필요한지 명확하지 않습니다. 표시되는 내용과 필요한 내용을 이해하는 방법을 공식으로 작성하십시오.
마지막 4틱 사이에 밀리초 단위의 시간이 필요합니다. 새 눈금이 나타나면 값을 업데이트합니다.
표시기는 마지막 틱( GetTickCount() )의 시간을 버퍼에 씁니다.
EA는 표시기에서 값을 가져와 시차를 계산합니다.
모든 것을 고려한 것 같지만 Alert는 그림과 같이 하나씩 값을 내준다.
이유를 이해하지 못합니다.
마지막 4틱 사이에 밀리초 단위의 시간이 필요합니다. 새 눈금이 나타나면 값을 업데이트합니다.
표시기는 마지막 틱(GetTickCount())의 시간을 버퍼에 씁니다.
EA는 표시기에서 값을 가져와 시차를 계산합니다.
모든 것을 고려한 것 같지만 Alert는 그림과 같이 하나씩 값을 내준다.
이유를 이해하지 마십시오.
문서를 읽지 않기 때문에
GetTickCount 에 대한 도움말에는 이에 대해 기록되어 있습니다. 이것은 카운터의 정수 오버플로입니다.
문서를 읽지 않기 때문에
GetTickCount에 대한 도움말에는 이에 대해 기록되어 있습니다. 이것은 카운터의 정수 오버플로입니다.
유니트 말씀하시는건가요? 경고창에 왜 뜨나요? 나는 그것을 거기에 쓰지 않았다.
유니트 말씀하시는건가요? 경고창에 왜 뜨나요? 나는 그것을 거기에 쓰지 않았다.
첫 번째 경고 에서 계산된 차이를 잘못 표시합니다(오버플로를 고려하지 않고).
코드에 큰 정수 값이 있는 두 번째 경고는 제공한 조각에 없습니다 :-)
그것이 바로 요점입니다. 코드에는 존재하지 않습니다.
표시기의 전체 코드입니다.
고문의 전체 코드.
그것이 바로 요점입니다. 코드에는 존재하지 않습니다.
표시기의 전체 코드입니다.
고문의 전체 코드.
당신이 뒤에 무엇을 남겼는지보십시오.
time.mq4를 살펴보십시오 - 아마도 경고를 보낼 것입니다.
그것이 바로 요점입니다. 코드에는 존재하지 않습니다.
표시기의 전체 코드입니다.
고문의 전체 코드.
경고 구조의 표시기에서. 경보 (b) 아래 5행;
분명히 이것은 시스템이 시작된 후 경과 한 밀리초 수입니다 )
빠른 거래 버튼의 상태를 추적하는 방법은 무엇입니까?
즉, 차트에 있는지 여부입니다.
프롬프트 기능 또는 기타 방법 무엇.