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

 
skyjet :

안녕하세요! 끈질기게 해서 죄송하지만 어려우시다면 말씀해주세요.

iCustom을 사용하여 EA에서 표시기 신호를 받지만 EA 는 이 부분의 조건에 따라 한 방향으로만 거래를 엽니다.

다른 사람의 코드에서 오류를 찾는 것보다 더 지루한 것은 없습니다. 그리고 저는 프로그래머도 아닙니다.

마스터가 화살표 표시기 로 오프닝 블록을 만든 방법을 참조하십시오. 주문 수에도 제한이 있습니다.

         #property copyright "Integer"
         //..............................  
         double bv= iCustom ( NULL ,TimeFrame,IND,PatternLength,PatternID,UsePatternStr,BuyPatternStr, 0 , 1 );
         double sv= iCustom ( NULL ,TimeFrame,IND,PatternLength,PatternID,UsePatternStr,BuyPatternStr, 1 , 1 );
         
         bool BuySignal=false;
         bool SellSignal=false;
             if (bv!= 0 && bv!= EMPTY_VALUE ){
               BuySignal=true;
            }
             if (sv!= 0 && sv!= EMPTY_VALUE ){
               SellSignal=true;
            }
            
             if (BuySignal || SellSignal){
               if (CloseOnRev)fOrderCloseMarket(SellSignal,BuySignal);
               int BuyCount,SellCount;
               int Total=fMarketOrdersTotal(BuyCount,SellCount);
                   if (Total==- 1 ){
                     return ( 0 );
                  }
                   if (Total<MaxCount || MaxCount==- 1 ){
                     if (BuySignal){
                         if (BuyCount<MaxBuyCount || MaxBuyCount==- 1 ){
                           if (LastBuyTime!= iTime ( NULL ,TimeFrame, 0 )){
                              fOrderOpenBuy();
                           }  
                        }
                     }
                     if (SellSignal){
                         if (SellCount<MaxSellCount || MaxSellCount==- 1 ){
                           if (LastSellTime!= iTime ( NULL ,TimeFrame, 0 )){
                              fOrderOpenSell();
                           }
                        }
                     }
                  }
                  
            }
            
 
skyjet :

안녕하세요! 끈질기게 해서 죄송하지만 어려우시다면 말씀해주세요.

iCustom을 사용하여 EA에서 표시기 신호를 받지만 EA 는 이 부분의 조건에 따라 한 방향으로만 거래를 엽니다.


이러한 조건을 살펴보아야 할 것입니다.
 
Vinin :

그러나 표시기 코드를 전문가에게 전송하지 않는 것이 좋습니다. 브레이크는
어떻게 될 것인가? iCustom을 통해 전문가용 데이터를 수신하시겠습니까?
 
Alexandr24 :
어떻게 될 것인가? iCustom을 통해 전문가용 데이터를 수신하시겠습니까?

물론 표시기 코드가 최적인 경우 가장 좋은 옵션입니다. 그렇지 않으면 처리 속도를 높일 수 있습니다.
 
Vinin :

이러한 조건을 살펴보아야 할 것입니다.

신호를 확인하면서 먼저 매수와 매도가 모두 db/ub == 0이었습니다. 긴 거래만 엽니다 .


신호가 db!=1이 된 후 ub!=0은 숏 포지션만 엽니다.

나는 db!=0을 넣고 ub!=!0은 거래를 전혀 열지 않습니다

 //------ получение сигнала в советнике


double db=iCustom(NULL, 0 , "GetSignal" , 0 ,SignalBar); // Стрелка вниз
double ub=iCustom(NULL, 0 , "GetSignal" , 1 ,SignalBar); // Cтрелка вверх
 
 
 bool BuySignal= false ;
 bool SellSignal= false ;
 
//-----------------------------------------------------------------------------------+
//Проверка на сигнал
if (db!= 1 )
 {
  SellSignal= true ;
 }
if (ub!= 1 )
 {
  BuySignal= true ;
 }
 
skyjet :

신호를 확인하면서 먼저 매수와 매도가 모두 db/ub == 0이었습니다. 긴 거래만 엽니다 .


신호가 db!=1이 된 후 ub!=0은 숏 포지션만 엽니다.

나는 db!=0을 넣고 ub!=!0은 거래를 전혀 열지 않습니다


특히 곡선 표시기가 있는 경우 아무 말도 하지 않습니다.
 
Vinin :

특히 곡선 표시기가 있는 경우 아무 말도 하지 않습니다.

나는 지표의 작업을 따랐고 그 작업에 대한 불만을 눈치 채지 못했습니다.

근데 비뚤어진다고 하면 뭐부터 체크인 하라고?

 
skyjet :
메타에디터
감사하다!
 

좋은 저녁이에요!! 뭐가 다른지 알려주세요

텍스트 및 텍스트 레이블?

OBJ_TEXT 21 텍스트
OBJ_LABEL 23 텍스트 레이블입니다.
 

말해 주겠니...
주어진 간격에서 최대값 검색이 수행됩니다.

buy_stop_level = High[ iHighest ( NULL , 0 ,MODE_HIGH, Bars -bar_start, 1 )];

필수의:
최대값을 찾은 후 새 간격(첫 번째 막대에서 최대값이 정의된 막대까지) 에서 최소값을 찾습니다 .

StopLoseBuy    = Low[ iLowest ( NULL , 0 ,MODE_LOW, Bars -(бар который приходится на максимум), 1 )];