코딩 도움이 필요합니다 - 페이지 2

 

deVries, 내가 시작한 코드가 왜 그렇게 '나쁜' 것인지 설명할 만큼 충분히 오랫동안 욕설을 멈춘다면 나는 그것을 고칠 수 있는 방법을 이해할 수 있을 것입니다. 귀하의 답변을 다시 읽고 귀하의 답변이 다른 사람에게 어떻게 도움이 될 수 있는지 설명하십시오.

RaptorUK, 마침내 사용할 수 있는 답변 감사합니다.

설명을 돕기 위해 저는 이 EA가 한 번에 한 쌍, 한 거래만 실행하기를 바랍니다. 앞서 말했듯이 '... 그리고 5개의 서로 다른 쌍 차트 각각에 하나씩 배치하고 모두 동일한 MT4 플랫폼에...' 해당 EA가 포함된 5개의 개별(?) 차트를 제공합니다. 이 단계에서는 Magic Numbers를 확인 하거나 확인할 필요가 없습니다.

바에 대한 댓글 다시, 감사합니다.

다시 슬리피지, 4/5 브로커 등은 이 단계에서 중요하지 않습니까? 나는 이것을 같은 브로커 등에서 나 자신을 위해 사용하고 있습니다.

 
추가하는 것을 잊었습니다. 저는 지름길을 찾는 것이 아니라 문제를 극복하는 데 도움이 될 뿐입니다.
 
죄송합니다. 어떻게 든 다른 답변을 놓쳐서 '욕설'댓글에 대해 사과드립니다. 실제 도움에 감사드립니다.

그리고 나는 그것을 테스트했고, 아무 오류도, 경고도 없이 잘 작동합니다. 그렇다면 라이브 차트에서 작동하지 않는 이유는 무엇입니까? (아직 위의 제안을 구현하지 않았습니다)
 
unclebigpete :

1. 이 단계에서 매직넘버를 확인하고 싶지 않거나 확인할 필요가 없습니다.

2. 다시 슬리피지, 4/5 브로커 등은 이 단계에서 문제가 되지 않습니까? 나는 이것을 같은 브로커 등에서 나 자신을 위해 사용하고 있습니다.

1. 동일한 쌍에 수동 거래를 하지 않을 경우 . . . 그러면 Magic Numbers 없이 작업할 수 있습니다. . . 이 EA를 실행 중인 쌍 중 하나에 수동 거래를 하는 것을 잊어버리고 발생하면 EA가 수동 거래도 관리합니다. . . 제대로 코딩하면 문제가 되지 않습니다.

2. 상관없어요. . extern 매개변수 를 올바르게 설정하는 것을 항상 기억하는 한. . 예를 들어 게시한 코드의 Slippage는 3입니다. . . 5자리 브로커에서 이것은 0.3핍 슬리피지와 같습니다. . . 올바르게 코딩하면 3은 항상 4 또는 5자리 브로커 모두에서 3핍을 의미하므로 오류 범위가 줄어듭니다. 올바르게 코딩하지 않으면 장기적으로 시간이 많이 소요되는 지름길입니다. . .

 
unclebigpete :

그리고 나는 그것을 테스트했고, 아무 오류도, 경고도 없이 잘 작동합니다. 그렇다면 라이브 차트에서 작동하지 않는 이유는 무엇입니까? (아직 위의 제안을 구현하지 않았습니다)
당신은 그것을 어디에서 테스트 했습니까? 전략 테스터 에서? 어디에서 오류를 찾았습니까?
 
예, 전략 테스터 에서 테스트하고 컴파일하여 ' 오류 없음, 경고 없음' 응답을 얻었습니다.
 

알 바로 여기 내 것입니다 :

코딩으로 규율을 얻으십시오. iCustom의 첫 번째 매개변수는 <string Symbol>입니다. 0 대신 Symbol() 또는 NULL을 사용하십시오.

MetaEditor > 네비게이터 창(Ctrl + D) > 사전 탭 > 기술 지표 > iCustom

 int QQE_4hr    = iCustom ( Symbol () , 240 , "c_QQEA" ,  SF,     RSI_Period,    DART_Factor,     0 , 1 );
int QQE_4hr_2  = iCustom ( Symbol () , 240 , "c_QQEA" ,  SF,     RSI_Period,    DART_Factor,     0 , 2 );

4시간 차트에서 1교대와 2교대를 사용하면 매우 길어질 것입니다.

앞에서 언급한 주문 선택, 이렇게 씁니다.

MetaEditor > 네비게이터 창(Ctrl + D) > 사전 탭 > 거래 기능 > OrderSelect()

 for ( int i= 0 ; i<Total; i++)
     {
       if (! OrderSelect (i,SELECT_BY_POS,MODE_TRADES)) continue ;
       if ( OrderType ()<=OP_SELL && OrderSymbol ()== Symbol ())
        {

나는 그 OrderSelect()에 대해 더 많이 쓸 것입니다.

2개의 주문 마감이 있습니다. 이렇게 작성하세요. 둘 다

MetaEditor > 네비게이터 창(Ctrl + D) > 사전 탭 > 거래 기능 > OrderClose()

 OrderClose ( OrderTicket (),
           OrderLots (),
           OrderClosePrice (), //Bid,
           Slippage,
           MediumSeaGreen );

그리고 나는 RaptorUK와 다른 접근 방식을 가지고 있지만 동일한 결과를 제공합니다. 이 중 2개가 있으며 둘 다 변경했습니다.

 if (Ticket > 0 )
  {
   if ( OrderSelect (Ticket,SELECT_BY_TICKET,MODE_TRADES))
     {
       Print ( "SELL order opened : " ,
             OrderOpenPrice ());
             if (SignalMail)
                 SendMail ( "[Signal Alert]" ,
                         "["
                         + Symbol ()
                         + "] "
                         + DoubleToStr (Bid, Digits )
                         + " Open Sell" );
       } // if(Order... // ==>> moved from below 
     } // if(Ticket...   
     else
     {
     Print ( "Error opening SELL order : " ,
           GetLastError ());
     } // else
   } ==>> move this parenthesis up there

즐거운 시간 보내세요

:)

 
unclebigpete :
예, 전략 테스터에서 테스트하고 컴파일하여 ' 오류 없음, 경고 없음' 응답을 얻었습니다.
좋습니다. 컴파일할 때 오류가 없습니다. . . Strategy Tester 에서 실행했을 때의 오류는 어떻습니까? 다시 실행하고 Journal 탭을 살펴보십시오. . .
 

2005년 5월 17일부터 22일까지 audnzd에서 방금 실행했고 3개의 거래, 중단된 2개의 구매, 테스트 종료 시 마감된 1개의 판매를 열었습니다.

여기 저널 정보가 있습니다. 맨 윗줄이 먼저입니다.

2012.05.22 21:38:51 QQE-4hr_15min- testing-2205: 성공적으로 로드됨

2012.05.22 21:38:53 QQE-4hr_15min- 테스트-2205 입력: MagicNumber=0; 로트=1; 미끄러짐=3; 손절매=300; 테이크프로핏=1000; TrailingStop=300; Nbr_Period=10; 승수=3;

2012.05.22 21:38:53 2012.05.17 00:00 c_QQEA AUDNZD,H4: 성공적으로 로드됨

2012.05.22 21:38:53 2012.05.17 00:00 c_QQEA AUDNZD,M15: 성공적으로 로드됨

2012.05.22 21:39:13 2012.05.17 16:00 QQE-4hr_15min- testing-2205 AUDNZD,H4: 오픈 #1 매수 1.00 AUDNZD에서 1.29960 sl: 1.29660 확인

2012.05.22 21:39:13 2012.05.17 16:00 QQE-4hr_15min- testing-2205 AUDNZD,H4: BUY 주문 개시 : 1.2996

2012.05.22 21:39:13 2012.05.17 18:32 테스터: 손절매 #1 at 1.29660 (1.29660 / 1.29698)

2012.05.22 21:39:15 2012.05.18 20:00 QQE-4hr_15min- testing-2205 AUDNZD,H4: 오픈 #2 매수 1.00 AUDNZD에서 1.30386 sl: 1.30086 ok

2012.05.22 21:39:15 2012.05.18 20:00 QQE-4hr_15min- testing-2205 AUDNZD,H4: BUY 주문 개시 : 1.3039

2012.05.22 21:39:15 2012.05.18 23:09 테스터: 손절매 #2 at 1.30086 (1.30083 / 1.30121)

2012.05.22 21:39:16 2012.05.21 16:00 QQE-4hr_15min- testing-2205 AUDNZD,H4: 오픈 #3 매도 1.00 AUDNZD에서 1.29739 sl: 1.30039 ok

2012.05.22 21:39:16 2012.05.21 16:00 QQE-4hr_15min- testing-2205 AUDNZD,H4: SELL 주문 개시 : 1.2974

2012.05.22 21:39:17 2012.05.21 23:59 테스터: 3번 주문 마감

2012.05.22 21:39:17 2012.05.21 23:59 c_QQEA AUDNZD,M15: 삭제됨

 
당신의 미끄러짐이 문제일 수 있습니다. 백테스팅은 절대 미끄러짐을 사용하지 않습니다. MetaTrder4 https://www.mql5.com/en/articles/1512 의 테스트 기능 및 제한 읽기