MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 583

 

안녕하세요, 이해를 도와주세요. 거래 로봇, 고문, 전문가가 작동하지 않습니다. 모든 것이 어떻게 작동하는지 확인하기 위해 가능한 모든 것을 다운로드했습니다. 결과는 미소이고 로봇은 거래하지 않습니다. 입금액이 작은 줄 알았는데 데모 계정 은 그대로입니다. 미리 감사합니다

 
Lilia.solomko :

안녕하세요, 이해를 도와주세요. 거래 로봇, 고문, 전문가가 작동하지 않습니다. 모든 것이 어떻게 작동하는지 확인하기 위해 가능한 모든 것을 다운로드했습니다. 결과는 미소이고 로봇은 거래하지 않습니다. 입금액이 작은 줄 알았는데 데모 계정 은 그대로입니다. 미리 감사합니다

로봇이 거래하지 않는다는 것을 어떻게 결정했습니까? 거래를 열기 위해 거래 전략을 충족하는 모든 조건이 충족되었는지 확인했습니까? 아니면 그냥 로봇을 넣었지만 그는 즉시 거래를 열지 않았습니까?

 
Lilia.solomko :

안녕하세요, 이해를 도와주세요. 거래 로봇, 고문, 전문가가 작동하지 않습니다. 모든 것이 어떻게 작동하는지 확인하기 위해 가능한 모든 것을 다운로드했습니다. 결과는 미소이고 로봇은 거래하지 않습니다. 입금액이 작은 줄 알았는데 데모 계정 은 그대로입니다. 미리 감사합니다

그는 이 두 탭에 무엇을 썼습니까?


 
함수 작성을 도와주세요: 더 큰 로트에서 더 작은 로트로 주문을 마감합니다(문자열 Symbol , int type, bool 핸드 오더, int Magic)
즉, 수작업을 고려하는지 여부, 매직넘버와 같은 기호의 선택이다.
 
Tigerfreerun :
함수 작성을 도와주세요: 더 큰 로트에서 더 작은 로트로 주문을 마감합니다(문자열 Symbol, int type, bool 손 주문, int Magic)
즉, 수작업을 고려하는지 여부, 매직넘버와 같은 기호의 선택이다.

준비되어 있습니다.

 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 11.12.2008                                                     |
//|  Описание : Закрытие позиций в порядке сортировки по размерам лотов.       |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента        (    ""       - любой символ,      |
//|                                             NULL      - текущий символ)    |
//|    op - операция                        (    -1       - любая позиция)     |
//|    mn - MagicNumber                     (    -1       - любой магик)       |
//|    sd - Направление сортировки лотов    (MODE_ASCEND  - возрастание,       |
//|                                          MODE_DESCEND - убывание)          |
//+----------------------------------------------------------------------------+
void ClosePosBySortLots( string sy= "" , int op=- 1 , int mn=- 1 , int sd= MODE_DESCEND ) {
   double a[][ 2 ];                   // Массив лотов и тикетов
   int     i, k= OrdersTotal ();       // Счётчик и количество ордеров
   int     p= 0 ;                     // Количество позиций

   if (sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )) {
       if (( OrderSymbol ()==sy || sy== "" ) && (op< 0 || OrderType ()==op)) {
         if ( OrderType ()== OP_BUY || OrderType ()== OP_SELL ) {
           if (mn< 0 || OrderMagicNumber ()==mn) {
            p++;
             ArrayResize (a, p);
            a[p- 1 ][ 0 ]= OrderLots ();
            a[p- 1 ][ 1 ]= OrderTicket ();
          }
        }
      }
    }
  }

   // вдруг позиций нету, тогда и закрывать нечего
   if (p> 0 ) {
     ArraySort (a, WHOLE_ARRAY , 0 , sd);
     for (i= 0 ; i<p; i++) {
       if ( OrderSelect (a[i][ 1 ], SELECT_BY_TICKET )) {
         // проверим незакрытость на всякий случай,
         // может какая-то позиция уже закрылась по стопу/тейку
         if ( OrderCloseTime ()== 0 ) ClosePosBySelect();
      }
    }
  }
}
 
Alekseu Fedotov :

준비되어 있습니다.

어떤 이유로 사용하려고 하면 작동하지 않습니다.
내가 볼 수 있는 한 다른 함수에 대한 참조가 있는 한 이 함수에서 클로저 자체는 어디에 있습니까?
 
Tigerfreerun :
어떤 이유로 사용하려고 하면 작동하지 않습니다.
내가 볼 수 있는 한 다른 함수에 대한 참조가 있는 한 이 함수에서 클로저 자체는 어디에 있습니까?

네, 단순히 상태와 결과를 확인하지 않고 거래 요청 을 보내는 것이 아니라 본격적인 ClosePosBySelect() 함수로 마감이 됩니다.

사이트를 검색하면 Kimov의 ClosePosBySelect() 함수에 대한 링크가 제공됩니다.

 
Tigerfreerun :
어떤 이유로 사용하려고 하면 작동하지 않습니다.
내가 볼 수 있는 한 다른 함수에 대한 참조가 있는 한 이 함수에서 클로저 자체는 어디에 있습니까?

이 함수의 헤더에는 사이트 주소가 있습니다. 모든 라이브러리를 다운로드하고,

쾅하고 일하십시오.

 

나는 수평선을 만듭니다. 표시기는 좌표에 따라 선을 올바르게 배치하지만 어느 시점에서 선은 서로 겹쳐진 길이가 다른 많은 세그먼트로 구성된 임의의 가격으로 새 막대 에 배치됩니다. "낯선 사람"을 설치하는 대가는 어떤 조건에도 맞지 않습니다. 그들은 어디에서 왔으며 어떻게 예방할 수 있습니까?

 if (Line)
  {
   n_++;
   Setline(n_, Time [b_u_pbu], High [b_u_pbu], Time [b_u_pbu1], High [b_u_pbu], clrLime );
  }
//
void Setline( int sh, datetime tm, double pr, datetime tm1, double pr1, color clr)
  {
   ObjectCreate ( "-" +sh, OBJ_TREND , 0 ,tm,pr,tm1,pr1,clr);
   ObjectSet ( "-" +sh, 7 , STYLE_SOLID );
   ObjectSet ( "-" +sh, 10 , false );
   ObjectSet ( "-" +sh, 6 ,clr);
   ObjectSet ( "-" +sh, 8 , 2 );
  }
 
bij :

나는 수평선을 만듭니다. 표시기는 좌표에 따라 선을 올바르게 배치하지만 어느 시점에서 선은 서로 겹쳐진 길이가 다른 많은 세그먼트로 구성된 임의의 가격으로 새 막대 에 배치됩니다. "낯선 사람"을 설치하는 대가는 어떤 조건에도 맞지 않습니다. 그들은 어디에서 왔으며 어떻게 예방할 수 있습니까?

라인 이름이 변경되어 많은 라인이 변경됩니다.

이러한 경우에는 라인명에 바 오픈 시간을 포함하는 것이 가장 좋습니다.