[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 5. - 페이지 430

 

어제 30분, 오늘 30분, 포럼에서 30분, 올 때까지!!!!!!!! 감사해요!!!!!!!!!!

... 당신은 여전히 이것을 좋아할 수 있습니다 : -글쎄, 네, 감사합니다. 나는 이미 훌륭하고 이해하기 쉽고 간단한 기능을 가지고 있습니다!

 
Trendy :
안녕하세요. 저는 현재 Sergey Kovalev의 MQL4 튜토리얼을 공부하고 있으며 다른 통화 쌍의 시계열 배열에 액세스하는 방법을 아직 찾지 못했습니다. 저것들. 여러 통화 쌍 의 배열-시계열을 하나의 Expert Advisor에 로드해야 합니다. 일부 데이터는 MarketInfo() 함수를 사용하여 액세스할 수 있지만 문제는 요청 식별자에 종가 또는 기타 가격 계열 매개변수가 없다는 것뿐입니다. 배열-시계열 및 여러 도구를 사용하여 작업을 구성하는 방법(있는 경우)을 읽을 수 있는 위치 또는 이 제한을 해결하는 방법을 알려주십시오.
이중 iClose ( 문자열 기호, int timeframe, int shift)
해당 차트( symbol , timeframe )에서 shift 매개변수로 지정된 막대의 종가 값을 반환합니다. 오류가 발생하면 함수는 0을 반환합니다. 오류에 대한 자세한 정보를 얻으려면 GetLastError() 함수를 호출하십시오.
현재 차트의 경우 종가에 대한 정보는 미리 정의된 배열 Close[] 에 있습니다.
옵션:
기호 - 도구의 상징적 이름입니다. NULL은 현재 문자를 의미합니다.
시간대 - 기간. 차트 기간 중 하나일 수 있습니다. 0은 현재 차트의 기간을 의미합니다.
옮기다 - 시계열에서 수신된 값의 인덱스(현재 막대를 기준으로 지정된 기간 전에 지정된 수만큼 이동).
예시:
 Print("USDCHF H1의 현재 막대: ",iTime("USDCHF",PERIOD_H1,i),", ", iOpen("USDCHF",PERIOD_H1,i),", ",
                                      iHigh("USDCHF",PERIOD_H1,i),", ", iLow("USDCHF",PERIOD_H1,i),", ",
                                      iClose("USDCHF",PERIOD_H1,i),", ", iVolume("USDCHF",PERIOD_H1,i));

이 같은.
 

ex4에서 컴파일된 표시기가 있습니다.

구매 또는 판매 신호로 파란색과 빨간색 점 스트립.

히스토그램의 색상이 변경될 때 거래를 입력하려면 조건부 코드가 필요합니다.

스케치라도 매우 감사하겠습니다.

 
안녕하세요 친구. 그런 것을 구현해야 할 필요가 있었습니다. 스토캐스틱은 위에서 아래로 n번 정도 특정 레벨을 교차하고, 이것이 특정 시간 간격 동안 발생한다면 변수에 값(+)이 할당됩니다. 예를 들어, 30분 안에 스토캐스틱이 위에서 아래로 세 번 80을 넘었다면. 미리 감사드립니다)
 

모두를 환영합니다!

이 표시기를 사용하지만 새로 열린 막대마다 고정되는 경향이 있습니다. 재계산된 막대의 숫자가 많다고 생각합니다. 막대 수에 제한을 설정하려고 했지만 작동하지 않습니다. 표시기가 모양을 변경합니다. 누군가 이 기능을 도와줄 수 있습니까? 나는 매우 감사하게 될 것입니다!

파일:
 
Integer :

시험을 마친. mql 및 dll의 EMA.

꽤 눈에.니다. 계산이 더 복잡하면 더 눈에 띌 것입니다.


다시 글을 쓰겠습니다. 거기에도 사이클이 많이 있습니다.
 

안녕하세요! Expert Advisor에서 유일한 수익자는 거래를 효과적으로 마감하는 Trailing Stop입니다. StopLoss와 TakeProfit은 별도로 존재하지 않습니다.

물론 전문가가 한 방향으로 열리고 시장이 다른 방향으로 움직이는 상황이 있습니다.

이 경우 거래는 최소 이익으로 마감되지만 테스트 기간 동안 2건의 거래는 -2.40 및 -2.50의 손실로 마감됩니다.

확인 결과에서 StopLoss는 거래 시작 가격 보다 몇 포인트 높거나 심지어 아래에 배치됩니다.

다음은 아래 MacdSample의 후행 코드입니다. 내가 그것을 알아낼 수 있도록 도와주세요!

 //-------------------------Trailing Stop----------------------------------+
for (cnt= 0 ;cnt<total;cnt++)
     {
       OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES);
       if (OrderType()<=OP_SELL &&   // check for opened position 
         OrderSymbol()== Symbol ())   // check for symbol
        {
         if (OrderType()==OP_BUY)   // long position is opened
           {
             // check for trailing stop
             if (TrailingStop> 0 )  
              {                 
               if (Bid-OrderOpenPrice()> Point *TrailingStop)
                 {
                   if (OrderStopLoss()<Bid- Point *TrailingStop)
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid- Point *TrailingStop,OrderTakeProfit(), 0 ,Green);
                     return ( 0 );
                    }
                 }
              }
           }
         else // go to short position
           {
             // check for trailing stop
             if (TrailingStop> 0 )  
              {                 
               if ((OrderOpenPrice()-Ask)>( Point *TrailingStop))
                 {
                   if ((OrderStopLoss()>(Ask+ Point *TrailingStop)) || (OrderStopLoss()== 0 ))
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Ask+ Point *TrailingStop,OrderTakeProfit(), 0 ,Red);
                     return ( 0 );
                    }
                 }
              }
           }
        }
     }
   return ( 0 );
 
skyjet :

여보세요...


아마도 스왑.
 
Integer :

아마도 스왑.


문제는 가격 이 시가와 반대 방향으로 움직인 후 실제 가격과 시가 사이의 거리가 TS 값을 초과하기 전에 Trailing Stop이 거래를 종료하는 이유를 전혀 알 수 없다는 것입니다. 개봉 가격은?

 
안녕하세요.
$12.93의 계정으로 0.01의 거래량으로 주문을 열고 손실을 중지하고 0에서 이익 을 얻고 싶지만 프로그램이 충분한 자금을 쓰지 않습니다. 이유는 무엇입니까? 무엇이 잘못되었으며 어디에서 수정해야 합니까?
사유: