초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 442 1...435436437438439440441442443444445446447448449...1503 새 코멘트 Victor345 2015.09.19 14:44 #4411 모두 좋은 저녁, 하나. 전략 - 바가 나타났습니다. 손절매와 이익실현(sl, tp) 으로 보류 주문을 하는 것 외에는 아무 것도 없습니다. 현재 막대에서 잠시 후 주문이 작동하기 위해 가격이 표시되고 나중에 가격 sl 이 올 것이고 그 다음 가격 tp 가 올 것이라고 가정해 보겠습니다. 명확히 하십시오 - 개시 가격으로 테스트할 때: 새로운 바의 개시 가격 = sl 및 tp 경계에서 멀리 떨어진 어딘가에 있다고 가정해 봅시다. 계산은 어떻게 이루어지나요? 논리적으로, 안 돼요, 테스터에게는 다음 바 시작 가격만 있기 때문인가요? 하지만 미결제 주문 개시 조건에 명시된 가격과 일치하지 않아 해당 주문을 건드리면 안 된다. 그러나 테스터에서 실행될 때 거래가 어떻게 든 이루어지고 중지가 트리거됩니다. 어떤 방법으로? 2. 테스터는 시작할 때마다 fxt를 생성합니다. 그리고 지금이 시간입니다. 나는 이것을 피하는 것을 암시하는 설정을 찾지 못했습니다 ... 이론상: 한 번 만들고 아무것도 변경하지 않으면 이 파일을 사용하지만 아니요, 터미널에서 덮어씁니다. 포럼을 어지럽히 지 않도록 [경고, 주제 닫힘!] 포럼을 MQL4 및 MQL5에 대한 Aleksey Vyazmikin 2015.09.19 16:15 #4412 말해 주세요. EA가 init()를 처리하기 위해 틱이 필요합니까? Vladimir Karputov 2015.09.19 16:21 #4413 -Aleks- : 말해 주세요. EA가 init()를 처리하기 위해 틱이 필요합니까? 아니요. 필요하지 않습니다. 볼 수 있도록 도와주는 코드는 다음과 같습니다. //+------------------------------------------------------------------+ //| test_expert.mq5 | //| Copyright 2015, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2015, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit () { //--- Print ( __FUNCTION__ ); return ( INIT_FAILED ); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit ( const int reason) { //--- Print ( __FUNCTION__ ); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick () { Print ( __FUNCTION__ ); } //+------------------------------------------------------------------+ 차트에 첨부하고 주말에 어떤 기능이 작동하는지 확인하십시오. [삭제] 2015.09.19 16:21 #4414 -Aleks- : 말해 주세요. EA가 init()를 처리하기 위해 틱이 필요합니까? 그렇지 않은 것 같다. Aleksey Vyazmikin 2015.09.19 16:24 #4415 Karputov Vladimir : 아니요. 필요하지 않습니다. 볼 수 있도록 도와주는 코드는 다음과 같습니다. 차트에 첨부하고 주말에 어떤 기능이 작동하는지 확인하십시오. 타포춘 : 그렇지 않은 것 같다. 귀하의 신속한 응답에 감사드립니다. 그런 다음 작동하지 않는 이유를 이해할 수 없습니다. 인쇄가 필요하지 않습니다. Vladimir Karputov 2015.09.19 16:27 #4416 -Aleks- : 귀하의 신속한 응답에 감사드립니다. 그런 다음 작동하지 않는 이유를 이해할 수 없습니다. 인쇄가 필요하지 않습니다. 당신의 지문은 어디에 있습니까? 재현할 코드가 있습니까? Aleksey Vyazmikin 2015.09.19 16:32 #4417 Karputov Vladimir : 당신의 지문은 어디에 있습니까? 재현할 코드가 있습니까? 초기화는 단말이 로드될 때 발생하는 것이 아니라 시간대가 변경될 때 발생하는 것으로 밝혀졌습니다. 10명의 Expert Advisors가 초기 초기화 과정에서 하나의 파일을 읽을 때 문제가 없는지 확인해야 하는데... 클래스를 사용하고 있습니다. int init() { //Автоматическая настройка if (Use_SetupLoad== true ) { CSVReader FileLoads(FileLoadSetup); FileLoads.SetDelimiter( ';' ); FileLoads.SetCommon( true ); int StrokaSetup= 0 ; if (FileLoads.Load( 1 )) { PrintFormat ( "File %s loaded. Total rows=%d, Total columns=%d" ,FileLoads.FileName(),FileLoads.TotalRows(),FileLoads.TotalColumns()); for ( int i= 1 ;i< 30 ; i++) //for (int i=1; i<100 || StrokaSetup!=0; i++) { if (Magic==FileLoads.GetIntValue(i, 13 )) { StrokaSetup=i ; Print ( "StrokaSetup=" ,StrokaSetup); break ; } // if (i==100) i=1; // Print (FileLoads.GetIntValue(i,13)); } /* for (int i=1; i<30; i++) { Print (FileLoads.GetIntValue(i,13)); } */ if (StrokaSetup!= 0 ) { pipsXH=FileLoads.GetIntValue(StrokaSetup, 4 )/ 10 ; if (pipsXH> 0 ) { pMAH=FileLoads.GetIntValue(StrokaSetup, 3 ); // typeMAH=FileLoads.GetIntValue(StrokaSetup,3); // priceMAH=FileLoads.GetIntValue(StrokaSetup,2); // if (pipsXH<0) // PrintFormat("pMAH=%d",pMAH,"typeMAH=%d",typeMAH,"priceMAH=%d",priceMAH,"pipsXH=%d",pipsXH); } else pipsXH=(- 1 ); pipsXL=FileLoads.GetIntValue(StrokaSetup, 7 )/ 10 *(- 1 ); if (pipsXL> 0 ) { pMAL=FileLoads.GetIntValue(StrokaSetup, 6 ); // typeMAL=FileLoads.GetIntValue(StrokaSetup,3); // priceMAL=FileLoads.GetIntValue(StrokaSetup,2); // PrintFormat("pMAL=%d",pMAL,"typeMAL=%d",typeMAL,"priceMAL=%d",priceMAL,"pipsXL=%d",pipsXL); } else pipsXL=(- 1 ); pMAT=FileLoads.GetIntValue(StrokaSetup, 9 ); // typeMAT=FileLoads.GetIntValue(StrokaSetup,3); // priceMAT=FileLoads.GetIntValue(StrokaSetup,2); // PrintFormat("pMAT=%d",pMAT,"typeMAT=%d",typeMAT,"priceMAT=%d",priceMAT); lot=FileLoads.GetDoubleValue(StrokaSetup, 11 ); // PrintFormat("pMAH=%d",pMAH,"pipsXH=%d",pipsXH,"pMAL=%d",pMAL,"pipsXL=%d",pipsXL,"lot=%d",lot); Print ( "Magic=" ,Magic, " pMAH=" ,pMAH, " pipsXH=" ,pipsXH, " pMAL=" ,pMAL, " pipsXL=" ,pipsXL, " lot=" ,lot); } } else PrintFormat ( "Error in loading data from %s" ,FileLoads.FileName()); } ///Конец автоматической настройки/// return ( INIT_SUCCEEDED ); } 파일 읽기를 담당하는 클래스의 일부 //+------------------------------------------------------------------+ //| Load | //+------------------------------------------------------------------+ bool CSVReader::Load( int start_line) { int filehandle= FileOpen (m_filename, FILE_CSV | FILE_READ | FILE_ANSI | FILE_SHARE_READ , '\n' ); if (filehandle== INVALID_HANDLE ) { Alert ( "Error in open of file " ,m_filename, ", error" , GetLastError ()); return ( false ); } //--- int line_index= 0 ; while (! FileIsEnding (filehandle)) { string str= FileReadString (filehandle); //--- skip 0th row if (line_index>=start_line) if (str!= "" ) { if (line_index== 1 ) AddData(str, true ); else AddData(str, false ); } line_index++; } //--- FileClose (filehandle); return ( true ); } Vladimir Karputov 2015.09.19 16:43 #4418 -Aleks- : 초기화는 단말이 로드될 때 발생하는 것이 아니라 시간대가 변경될 때 발생하는 것으로 밝혀졌습니다. 10명의 Expert Advisors가 초기 초기화 과정에서 하나의 파일을 읽을 때 문제가 없는지 확인해야 하는데... 클래스를 사용하고 있습니다. 파일 읽기를 담당하는 클래스의 일부 따라서 인쇄하기 전에 코드에 많은 검사와 조건이 있습니다. 디버그 모드 로 들어가서 정확히 무엇이 작동하지 않는지 확인하십시오. Aleksey Vyazmikin 2015.09.19 16:53 #4419 Karputov Vladimir : 따라서 인쇄하기 전에 코드에 많은 검사와 조건이 있습니다. 디버그 모드 로 들어가서 정확히 무엇이 작동하지 않는지 확인하십시오. 테스터에서 모든 것이 작동하지만 터미널을 로드할 때 인쇄가 표시되지 않습니다. 이것은 저를 혼란스럽게 했습니다. Vladimir Karputov 2015.09.19 16:54 #4420 -Aleks- : 테스터에서 모든 것이 작동하지만 터미널을 로드할 때 인쇄가 표시되지 않습니다. 이것은 저를 혼란스럽게 했습니다. 따라서 더 많은 인쇄물을 추가하고 알고리즘이 이동하는 위치를 추적할 가치가 있습니다. 1...435436437438439440441442443444445446447448449...1503 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
모두 좋은 저녁,
하나.
전략 - 바가 나타났습니다. 손절매와 이익실현(sl, tp) 으로 보류 주문을 하는 것 외에는 아무 것도 없습니다.
현재 막대에서 잠시 후 주문이 작동하기 위해 가격이 표시되고 나중에 가격 sl 이 올 것이고 그 다음 가격 tp 가 올 것이라고 가정해 보겠습니다.
명확히 하십시오 - 개시 가격으로 테스트할 때: 새로운 바의 개시 가격 = sl 및 tp 경계에서 멀리 떨어진 어딘가에 있다고 가정해 봅시다. 계산은 어떻게 이루어지나요?
논리적으로, 안 돼요, 테스터에게는 다음 바 시작 가격만 있기 때문인가요? 하지만 미결제 주문 개시 조건에 명시된 가격과 일치하지 않아 해당 주문을 건드리면 안 된다.
그러나 테스터에서 실행될 때 거래가 어떻게 든 이루어지고 중지가 트리거됩니다. 어떤 방법으로?
2.
테스터는 시작할 때마다 fxt를 생성합니다. 그리고 지금이 시간입니다. 나는 이것을 피하는 것을 암시하는 설정을 찾지 못했습니다 ... 이론상: 한 번 만들고 아무것도 변경하지 않으면 이 파일을 사용하지만 아니요, 터미널에서 덮어씁니다.
말해 주세요. EA가 init()를 처리하기 위해 틱이 필요합니까?
아니요. 필요하지 않습니다. 볼 수 있도록 도와주는 코드는 다음과 같습니다.
차트에 첨부하고 주말에 어떤 기능이 작동하는지 확인하십시오.말해 주세요. EA가 init()를 처리하기 위해 틱이 필요합니까?
아니요. 필요하지 않습니다. 볼 수 있도록 도와주는 코드는 다음과 같습니다.
차트에 첨부하고 주말에 어떤 기능이 작동하는지 확인하십시오.그렇지 않은 것 같다.
귀하의 신속한 응답에 감사드립니다. 그런 다음 작동하지 않는 이유를 이해할 수 없습니다. 인쇄가 필요하지 않습니다.
당신의 지문은 어디에 있습니까? 재현할 코드가 있습니까?
초기화는 단말이 로드될 때 발생하는 것이 아니라 시간대가 변경될 때 발생하는 것으로 밝혀졌습니다.
10명의 Expert Advisors가 초기 초기화 과정에서 하나의 파일을 읽을 때 문제가 없는지 확인해야 하는데...
클래스를 사용하고 있습니다.
파일 읽기를 담당하는 클래스의 일부
초기화는 단말이 로드될 때 발생하는 것이 아니라 시간대가 변경될 때 발생하는 것으로 밝혀졌습니다.
10명의 Expert Advisors가 초기 초기화 과정에서 하나의 파일을 읽을 때 문제가 없는지 확인해야 하는데...
클래스를 사용하고 있습니다.
파일 읽기를 담당하는 클래스의 일부
따라서 인쇄하기 전에 코드에 많은 검사와 조건이 있습니다. 디버그 모드 로 들어가서 정확히 무엇이 작동하지 않는지 확인하십시오.
테스터에서 모든 것이 작동하지만 터미널을 로드할 때 인쇄가 표시되지 않습니다. 이것은 저를 혼란스럽게 했습니다.