[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 251

 
Ibiss >> :

메인 라인과 신호 라인의 역 교차점에서 출력을 올바르게 프로그래밍하는 방법은 무엇입니까? 그렇지 않으면 신호가 짧은 시간에 수신되고 .. 상태가 되어야 하는 곳에서 주문이 마감되지 않습니다 ..

이 질문은 오랫동안 나를 괴롭히고 있습니다! 돕다!

다음은 종료 조건입니다.


에이스는 아니지만

 if ( OrderMagicNumber ( ) ! = MAGICMA | | OrderSymbol ( ) ! = Symbol ( ) ) continue ;

if (OMN이 OMN과 같지 않거나 OS가 OS와 같지 않음) {다음 계속}


그러나 이것은 주문이 고문에게 속하지 않음을 의미합니다.

노력하다

 if ( OrderMagicNumber ( ) ! = MAGICMA | | OrderSymbol ( ) ! = Symbol ( ) ) break ;
 
Ibiss >> :

메인 라인과 신호 라인의 역 교차점에서 출력을 올바르게 프로그래밍하는 방법은 무엇입니까? 그렇지 않으면 신호가 짧은 시간에 수신되고 .. 상태가 되어야 하는 곳에서 주문이 마감되지 않습니다 ..

이 질문은 오랫동안 나를 괴롭히고 있습니다! 돕다!

다음은 종료 조건입니다.


Snachala narusyj sebe blok shemy svoego algorutma, chtob tu vuzyalno vudel chto tu delaesh y po kakum yslovuyam y tebya zakruvayutsya ordera, a vse eto delo delo perevestu v kod eto .

 

여러분, 각 주문에 대해 차트에 설명을 표시할 준비가 된 항목이 있는지 말해 주세요. 저것들. 차트의 화살표와 이유 옆의 설명. 그리고 테스터에 그리도록 :)

고맙습니다.

 
AndBar >> :

Snachala narusyj sebe blok shemy svoego algorutma, chtob tu vuzyalno vudel chto tu delaesh y po kakum yslovuyam y tebya zakruvayutsya ordera, a vse eto delo delo perevestu v kod eto .


이봐, 이런 식으로 또는 이렇게 말할 수 있습니다 :) 나는 이미 내 눈을 부러 뜨 렸습니다. :)
 

비용이 많이 드는 , 도움이 되지 않았지만 감사합니다!

아마도 누군가가 횡단 및 역 횡단 시 반대 명령을 열고 닫는 방법을 알고 있을 것입니다!???

뭔가 마법이 필요해... 아아...

얼마나 많은 다른 구매 및 판매가 있어야 하는지 보십니까? 그리고 그들 중 몇 명만 있습니다 ...

이 질병을 어떻게 고칠 수 있습니까?

누가 신경쓰이나요? 코드를 보세요! 제발!

칠면조가 아니라 고문 코드에 관한 것입니다. 제 생각에는 ..

그리고 단점은 .. 당신은 당신의 적을 원하지 않을 것입니다 - 96% ... 누가 상관 :)

이론적으로 다음과 같아야 합니다.


파일:
itrend.mq4  5 kb
 

요컨대, 전역변수와 유레카에 대한 글을 읽고 어드바이저를 리메이크하기로 결정!!

그리고 진드기에 또 다른 문제가있었습니다 ...

거래는 모든 교차로에서 열리지만 하나의 큰 그러나 ..그들은 너무 큰 스택에서 열립니다...

여러분, 이 문제를 어떻게 해결할 수 있습니까? 자비를 베풀다)))

여기 스크린샷이 있습니다:


"스펙타클은 마음이 약한 사람을 위한 것이 아닙니다"

파일:
ggftest.mq4  3 kb
 
Ibiss >> :

비싸고 도움이되지 않았지만 감사합니다!

아마도 누군가가 건널 때와 역으로 건널 때 반대 순서를 열고 닫는 방법을 알고 있을 것입니다!???

마법이 필요해... 아아...

얼마나 많은 다른 구매와 판매가 있어야 하는지 보십니까? 그리고 그들 중 몇 명만 있습니다 ...

이 질병을 어떻게 고칠 수 있습니까?

누가 신경쓰이나요? 코드를 보세요! 제발!

그것은 칠면조가 아니라 고문 코드에 관한 것입니다. 제 생각에는 ..

그리고 단점은 .. 당신은 당신의 적을 원하지 않을 것입니다 - 96% ... 누가 상관 :)

이론적으로 다음과 같아야 합니다.



가장 쉬운 방법:

각 틱에서 4개의 지표 변수를 초기화합니다. 레드 라인에 2개, 그린 라인에 2개. 음, 각각 거래 신호의 두 가지 변수.

이 경우 EA 코드는 다음과 같아야 합니다.

 // ------ Пользовательские переменные -------------------
extern bool CloseObr = true ; // закрывать ли противоположный ордер при возникновении торгового сигнала
// ---------- Вспомогательные переменные ------------
double Green_1 , Green_2 , Red_1 , Red_2 ; // значения индикатора на первой и второй свечках
bool SigBuy , SigSell ; // торговые сигналы
int TICKET ;

int start ( ) {
  Green_1 = iCustom ( * * * * ) ; // зелёная на первой свече
  Green_2 = iCustom ( * * * * ) ; // зелёная на второй свече
  Red_1 = iCustom ( * * * * ) ; // красная на первой свече
  Red_2 = iCustom ( * * * * ) ; // красная на второй свече
  
  // ------- формируем торговые сигналы -------------
  
  SigBuy = false ;
  SigSell = false ;
  
  if ( Green_2 < = Red_2 & & Green_1 > Red_1 ) { // зелёная пересекает красную снизу вверх
    SigBuy = true ;
  }
  if ( Green_2 > = Red_2 & & Green_1 < Red_1 ) { // зелёная пересекает красную сверху вниз
    SigSell = true ;
  }
  
  // ------ Сигналы сформированы. Торгуем ------------------
  if ( SigBuy ) {
    if ( CloseObr ) {
      // то удаляем все Sell-ордера
    }
    // --- противоположные удалены. Открываем позу
    . . . . . .
    TICKET = OrderSend ( тут пишем параметры установки лонга ) ;
  }
  if ( SigSell ) {
    if ( CloseObr ) {
      // то удаляем все Buy-ордера
    }
    // --- противоположные удалены. Открываем позу
    . . . . . .
    TICKET = OrderSend ( тут пишем параметры установки шорта ) ;
  }
}
일반적으로 고문은 이렇게 일해야 합니다. 아마도 이것은 코드 세트의 가장 완벽한 버전은 아니지만 구성의 논리를 잘 보여줍니다.
 

drknn, 아이디어와 코드에 감사드립니다)!


주문 폭주를 처리하는 방법을 알고 있습니까?)

 
Ibiss >> :

요컨대, 전역변수와 유레카에 대한 글을 읽고 어드바이저를 리메이크하기로 결정!!

그리고 진드기에 또 다른 문제가있었습니다 ...

거래는 모든 교차로에서 열리지만 하나의 큰 BUT.. 그들은 큰 스택에서 열립니다...

여러분, 이 문제를 어떻게 해결할 수 있습니까? 자비를 베풀다)))

여기 스크린샷이 있습니다:


"스펙타클은 마음이 약한 사람을 위한 것이 아닙니다"



그럼 다음과 같이 할 수 있습니다.

 // ------ Пользовательские переменные -------------------
extern bool CloseObr = true ; // закрывать ли противоположный ордер при возникновении торгового сигнала
extern int MAGIC = 0 ; // у ордеров открытых вручную магик = 0
// ---------- Вспомогательные переменные ------------
double Green_1 , Green_2 , Red_1 , Red_2 ; // значения индикатора на первой и второй свечках
bool SigBuy , SigSell ; // торговые сигналы
int TICKET ;

int start ( ) {
  Green_1 = iCustom ( * * * * ) ; // зелёная на первой свече
  Green_2 = iCustom ( * * * * ) ; // зелёная на второй свече
  Red_1 = iCustom ( * * * * ) ; // красная на первой свече
  Red_2 = iCustom ( * * * * ) ; // красная на второй свече
  
  // ------- формируем торговые сигналы -------------
  
  SigBuy = false ;
  SigSell = false ;
  
  if ( Green_2 < = Red_2 & & Green_1 > Red_1 ) { // зелёная пересекает красную снизу вверх
    SigBuy = true ;
  }
  if ( Green_2 > = Red_2 & & Green_1 < Red_1 ) { // зелёная пересекает красную сверху вниз
    SigSell = true ;
  }
  
  // ------ Сигналы сформированы. Торгуем ------------------
  if ( SigBuy & & SchBuy ( MAGIC ) = = 0 ) {
    if ( CloseObr & & SchSell ( MAGIC ) > 0 ) {
      // то удаляем все Sell-ордера
    }
    // --- противоположные удалены. Открываем позу
    . . . . . .
    TICKET = OrderSend ( тут пишем параметры установки лонга ) ;
  }
  if ( SigSell & & SchSell ( MAGIC ) = = 0 ) {
    if ( CloseObr & & SchBuy ( MAGIC ) > 0 ) {
      // то удаляем все Buy-ордера
    }
    // --- противоположные удалены. Открываем позу
    . . . . . .
    TICKET = OrderSend ( тут пишем параметры установки шорта ) ;
  }
return ( 0 ) ;
}
// --------- Пользовательские подпрограммы -----------------

// ==========================================================================================================================
// ************************* Счётчики ордеров *******************************************************************************
// ==========================================================================================================================


//=========== SchBuy()  ===============================
//  Функция возвращает количество Buy-ордеров
//   SchBuy      - счётчик Buy ордеров
//-----------------------------------------------------------
int SchBuy ( int MAGIC ) {
  string SMB = Symbol ( ) ;
  int SchBuy = 0 ;
  int i ;
  for ( i = OrdersTotal ( ) - 1 ; i > = 0 ; i - - ) {
    if ( ! OrderSelect ( i , SELECT_BY_POS , MODE_TRADES ) ) { WriteError ( i ) ; }
    else {
      if ( OrderSymbol ( ) ! = SMB | | OrderMagicNumber ( ) ! = MAGIC ) { continue ; }
      if ( OrderType ( ) = = OP_BUY ) { 
        SchBuy + + ;
      }  
    }
  }
  return ( SchBuy ) ;
}                  
//==================================================================================================


//=========== SchSell()  ===============================
//  Функция возвращает количество Sell-ордеров
//  SchSell  - счётчик Sell ордеров
//-----------------------------------------------------------
int SchSell ( int MAGIC ) {
  string SMB = Symbol ( ) ;
  int SchSell = 0 ;
  int i ;
  for ( i = OrdersTotal ( ) - 1 ; i > = 0 ; i - - ) {
    if ( ! OrderSelect ( i , SELECT_BY_POS , MODE_TRADES ) ) { WriteError ( i ) ; }
    else {
      if ( OrderSymbol ( ) ! = SMB | | OrderMagicNumber ( ) ! = MAGIC ) { continue ; } 
      if ( OrderType ( ) = = OP_SELL ) {
        SchSell + + ;
      }
    }
  }
 return ( SchSell ) ;     
}                  
//==================================================================================================
 
Bond >> :

여러분, 각 주문에 대해 차트에 설명을 표시할 준비가 된 항목이 있는지 말해 주세요. 저것들. 차트의 화살표와 이유 옆의 설명. 그리고 테스터에 그리도록 :)

고맙습니다.


테스터에서도 그리려면 손으로 프로그램 코드를 만들어야 합니다.

이 경우 OrderSend() 및 OrderClose() 함수에 화살표를 설정하는 것이 좋습니다.

댓글은 다양한 방식으로 표시될 수 있습니다. 기성품 중 - 이것은 다소 구체적인 작업이라고 말할 수 있습니다. 기성품 코드를 찾을 수 없을 것입니다.

여기 MQL4 데이터베이스에서 차트에 거래 내역을 표시하는 스크립트를 한 번 배치했습니다. 그 후 다른 프로그래머들이 내 아이디어를 "압박"했습니다. 나는 주문을 열고 닫는 포인트를 보여주는 화살표와 선을 가지고 있었습니다. 다른 프로그래머의 스크립트는 주문에 대한 주석을 받고 실행 가격을 표시했습니다. 이것은 아마도 여기에서 찾을 수 있는 것입니다.