포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 282

 

포럼 회원 여러분 안녕하세요.

지식이 있는 사람들에게 말하십시오. 표시기 신호, 즉 신호 카운터를 프로그래밍 방식으로 등록하는 방법을 기반으로 거래를 시작하는 고문이 있습니다. 이익실현 을 받거나 Teriling Stop으로 주문을 마감한 후 EA는 다음 두 신호를 건너뛰고 거래를 열지 않았습니다.

도움을 주시면 감사하겠습니다.

 void CheckForOpen()
{
   int ticket, STOPLEVEL;
   double Price, SL, TP; 
   STOPLEVEL=MarketInfo( Symbol (),MODE_STOPLEVEL);
   
   
   double AO = iIchimoku ( Symbol (), 0 ,Tenkan,Kijun,Senkou,MODE_SENKOUSPANA, 1 ); // верхняя граница облака 
   double BO = iIchimoku ( Symbol (), 0 ,Tenkan,Kijun,Senkou,MODE_SENKOUSPANB, 1 ); // нижняя граница облака 

      
   if (Volume[ 0 ]> 1 ) return ;

   if (AO>BO) // продажа
   {
   if (Open[ 1 ]>Close[ 1 ] && Close[ 1 ] < BO && Open[ 1 ]>BO) // продажа

     {
     Price = NormalizeDouble (Bid, Digits ); // округляем до нужного нам числа цифр после запятой
     if (StopLoss >= STOPLEVEL)
           if (StopLoss > 0 )
      {
       SL = Price + StopLoss* Point ; // вычисляем стоплос
       SL = NormalizeDouble (SL, Digits ); // округляем до нужного нам числа цифр после запятой
      }
       else SL = 0 ;

       if (TakeProfit > 0 )
      {
       TP = Price - TakeProfit* Point ;
       TP = NormalizeDouble (TP, Digits ); 
      }
       else TP = 0 ;

      { 
      ticket= OrderSend ( Symbol (),OP_SELL,Lots,Bid,Slippage,SL,TP, "Pattern_1" ,Magic, 0 ,Red);
       return ;
      }
    }
    }
 
alexey1979621 :

포럼 회원 여러분 안녕하세요.

지식이 있는 사람들에게 말하십시오. 표시기 신호, 즉 신호 카운터를 프로그래밍 방식으로 등록하는 방법을 기반으로 거래를 시작하는 고문이 있습니다. 이익실현을 받거나 Teriling Stop으로 주문을 마감한 후 EA는 다음 두 신호를 건너뛰고 거래를 시작하지 않았습니다.

도움을 주시면 감사하겠습니다.


무엇을 원하는지 모르겠지만 구현 방법을 알려주세요.

그리고 신호 건너뛰기에서 정확히 무엇을 나타냅니까?:

1) 가상 거래? 우리가 가상의 포지션을 여는 것처럼, 우리는 그것을 따르고, 또한 가상의 포지션을 닫습니다(Ilanim).

2) 특정 시간 이후에 신호가 도착했는지 확인합니까? XXX분 후에 새로운 신호가 도착할 수 있습니다.

3) 특정 수의 막대 이후에 신호가 도착했는지 확인하십시오. 새로운 신호는 XXX 막대를 통해 올 수 있습니다.

..................

또한 소원:

if (Volume[ 0 ]> 1 ) 구문을 return 으로 교체합니다 . 실제 데모는 물론이고 데모에서 항상 작동하는 것은 아닙니다.

조건 하나만 더 붙이면 안되나요?

 if (StopLoss >= STOPLEVEL)         //    if (StopLoss > STOPLEVEL) так не проще?
   if (StopLoss > 0 )

잘못된 논리, 그렇지 않으면 두 번째 조건을 처리합니다 .

 if (StopLoss >= STOPLEVEL)
   if (StopLoss > 0 ){
      SL = Price + StopLoss* Point ; // вычисляем стоплос
      SL = NormalizeDouble (SL, Digits ); // округляем до нужного нам числа цифр после запятой
   }
   else SL = 0 ;

그리고 훨씬 더...

 
ALXIMIKS :


무엇을 원하는지 모르겠지만 구현 방법을 알려주세요.

그리고 신호 건너뛰기에서 정확히 무엇을 나타냅니까?:

1) 가상 거래? 우리가 가상의 포지션을 여는 것처럼, 우리는 그것을 따르고, 또한 가상의 포지션을 닫습니다(Ilanim).

2) 일정 시간이 지난 후 신호가 도착했는지 확인합니까? XXX분 후에 새로운 신호가 도착할 수 있습니다.

3) 특정 수의 막대 이후에 신호가 도착했는지 확인합니까? 새로운 신호는 XXX 막대를 통해 올 수 있습니다.

..................

또한 소원:

( Volume [ 0 ]> 1 ) return ; 실제 데모는 물론이고 데모에서 항상 작동하는 것은 아닙니다.

조건 하나만 더 붙이면 안되나요?

잘못된 논리, 그렇지 않으면 두 번째 조건을 처리합니다 .

그리고 훨씬 더...

저는 작가 지망생입니다. 나는 모든 것에 스스로 도달합니다. 가장 중요한 것은 그것이 작동한다는 것입니다. if (Volume[ 0 ]> 1 ) 실생활과 데모, 테스터 모두에서 잘 작동합니다. 나는 내 소원을 아주 명확하게 썼습니다. 지표의 신호에 따라 거래가 열립니다(코드에 거래를 여는 조건을 첨부했습니다). 이전 거래가 이익실현 및 추적 정지로 마감된 후 표시기에서 1 또는 2 또는 3(구성 가능한 매개변수) 신호를 건너뛸 필요가 있습니다. 거래를 열지 마십시오. 그래서 표시기의 신호 카운터가 필요하고 프로그래밍 방법을 몰라 도움을 요청합니다.
 

모두 좋은 하루 되세요!) 최근 MQL이라는 주제에 푹 빠져 첫 번째 문제에 봉착했습니다. 결론은 기존 Expert Advisor가 기능에 따라 포지션을 열었 지만 닫는 것을 원하지 않기 때문에 이러한 시장 주문은 테스트 세션이 끝날 때까지 멈추지 않고 무게가 나간다는 것입니다. 문제는 내가 관절을 주장한 곳입니다.

다음은 닫는 스니펫입니다.

 if (Level >= 0.000100 && LevelXP>LevelXM && CountSell() > 0 )
          {
               for (i= OrdersTotal ()- 1 ; i >= 0 ; i--)
               {
                   if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES) == true )
                   {
                       if (OrderMagicNumber() == Magic && OrderType() == OP_SELL)
                          OrderClose(OrderTicket(), OrderLots(), Ask, Slippage);
                   }
               }
          }
 
ElhoroS :

모두 좋은 하루 되세요!) 최근 MQL이라는 주제에 푹 빠져 첫 번째 문제에 봉착했습니다. 결론은 기존 Expert Advisor가 기능에 따라 포지션을 열었지만 닫는 것을 원하지 않기 때문에 이러한 시장 주문은 테스트 세션이 끝날 때까지 멈추지 않고 무게가 나간다는 것입니다. 문제는 내가 관절을 주장한 곳입니다.


1) 클로징 조건에 문제가 있을 수 있습니다(암시적으로 부여)

2) 이 코드에서는 OP_SELL만 닫습니다( 구매를 위해 판매하는 것을 잊으셨습니까? 닫기 조건이 올바른지 확인하십시오)

3) 무차별 대입 검사에서 통화 쌍 및 기간에 대한 검사가 없습니다(그런 다음 실행하고 추가하는 이유는 무엇입니까?)

4) requotes에 대한 확인이 없습니다(테스터에서는 모든 것이 정상이어야 하지만 데모 또는 실제에서는 항상 그런 것은 아님).

5) Artemis artmedia70 MarketInfo( Symbol (),MODE_ASK) 언급한 바와 같이 Ask - 더 많은 현재 가격이 제공될 것입니다.

 
ALXIMIKS :


5) Artemis 가 언급했듯이 MarketInfo( Symbol (),MODE_ASK) 가 더 나을 것입니다 Ask - 더 많은 현재 가격이 줄 것입니다

아니 ... 음, 이미 이름을 부르지 마십시오 ...
 
artmedia70 :
아니 ... 음, 이미 이름을 부르지 마십시오 ...


예, 마지막 상황을 기억합니다. Artyom, 죄송합니다. 첨부되었습니다.
 
ALXIMIKS :

예, 마지막 상황을 기억합니다. Artyom, 죄송합니다. 첨부되었습니다.
아르템 + 테미스 = 아르테미스; 자랑스러워, Artyom! 입학입니다! 나는 그것을 유지하고 싶다!
 
borilunad :
아르템 + 테미스 = 아르테미스; 자랑스러워, Artyom! 입학입니다! 나는 그것을 유지하고 싶다!
 
artmedia70 :
사진은 어디에서 가져오고 어떻게 합니까? 사실, 이 캐릭터들은 테미스를 의인화하지 않습니다.
사유: