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

 
누가 아는지 알려주십시오. switch 문 내에서 if 사용에 제한이 있습니까?
 
아니요.
 

이상한 현상

안녕하세요, 이상한 문제에 봉착했습니다. 다양한 쌍과 TF에 대해 어드바이저를 테스트했습니다. USDCAD에서 테스트를 시작할 때까지는 모든 것이 적어도 적절하게 잘 작동했습니다. 이 쌍에는 어드바이저(또는 테스터)의 절대적으로 부적절한 행동이 있습니다. 주문은 "공허한" 어딘가에서 열릴 수 있고 실제 생활에서 이 도구에 존재하지 않는 가격으로 마감될 수 있습니다. 이 그림은 일련의 전체 구매 주문이 어떻게 거의 즉시 열리고 엄청난 이익(수천 포인트)으로 마감되는지 보여줍니다. 개폐는 1바(30분) 이내에 이루어집니다. 동시에 테스터의 보고서는 부적절한 그래픽 결과에 해당합니다. 테스터가 다른 도구의 가격을 시뮬레이션하는 것 같습니다. 누군가 이미 비슷한 일을 겪었을 수도 있습니다.

 

Expert Advisor는 문제 없이 컴파일됩니다. 테스터에서 실행합니다 .. 오류가 나타납니다.

2014.07.28 00:36:36.942 EURUSD,H1: 1 tick events (1491 bars, 456560 bar states) processed within 0 ms (total time 4742 ms)
2014.07.28 00:36:36.942 2014.06.24 00:00  BaseTemplate EURUSD,H1: initialization failed (-1)
2014.07.28 00:36:36.942 2014.06.24 00:00  array out of range in 'BaseInfo.mqh' (175,19)
2014.07.28 00:36:36.931 BaseTemplate inputs: id_Lots=0.1; id_SL=0; id_TP=10; ii_Slippage=2; ib_Bootstrap=0; ib_RealTrade=1; ib_VirtualTrade=1; ib_NeedLogs=1; ib_PrintUP=1; ib_CommentUP=1; ii_MaxSpread=50; ii_NumberOfTry=10; ib_LotMoreMaxLot=0; 

나는 로그가 가리키는 라인으로 올라갔고 나는 이것을 보았다:

이게 무슨 상관이야? 지금까지 이런 일은 없었다...

 
hoz :

Expert Advisor는 문제 없이 컴파일됩니다. 테스터에서 실행합니다 .. 오류가 나타납니다.

나는 로그가 가리키는 라인으로 올라갔고 나는 이것을 보았다:

이게 무슨 상관이야? 지금까지 이런 일은 없었다...


포함된 파일의 전체 코드 제공
 
evillive :

포함된 파일의 전체 코드 제공

모든 코드가 깁니다. 나는 jamb가 있는 함수의 코드를 줄 것이다:

 // 1.1 Получение рыночной информации по выбранному инструменту. ===========================================================================
BaseInfo::GetMarkerInfo ( string fs_Symbol,
                         int     fi_Ticket = 0 )
{
   bool lb_CondON = true ;
   //----
   if (fs_Symbol == SPos.gs_Symbol)
   {
       if (fi_Ticket >= 0 )
           lb_CondON = false ;
   }
   
   if (lb_CondON)
   {
       if (fi_Ticket > 0 )
      {
         SPos.gs_Symbol = OrderSymbol();
      }
       else
      {
         SPos.gs_Symbol = fs_Symbol;
      }
      
       if (SPos.gs_Symbol == _Symbol )
      {
         SSym.gi_Digits = _Digits ;
         SSym.gd_Pt = _Point ;
      }
       else
      {
         SSym.gi_Digits = ( int ) MarketInfo (fs_Symbol, MODE_DIGITS);
         SSym.gd_Pt = MarketInfo (fs_Symbol, MODE_POINT);
      }
      
       if (SSym.gd_Pt == 0.0 )
      {
         SSym.gd_Pt = GetPoint (fs_Symbol);
      }
   }
   
   if (fi_Ticket > 0 )
   {
      GetOrderDetails (fi_Ticket);
   }
   //---- Получение текущих цен по инструменту
   RefreshRates();
   SSym.gda_Price [ 0 ] =   ND (GetTradePrice ( 0 , RealTrade, SPos.gs_Symbol));
   SSym.gda_Price [ 1 ] = ND (GetTradePrice ( 1 , RealTrade, SPos.gs_Symbol));
   SSym.gd_Spread = ND (SSym.gda_Price [ 1 ] - SSym.gda_Price [ 0 ]);
   //----
}

라인에 캔트:

SSym.gda_Price [ 0 ] =   ND (GetTradePrice ( 0 , RealTrade, SPos.gs_Symbol));

분명히 아래 라인도 마찬가지일 것입니다.

제가 알기로는 배열 셀의 종류가 없다는 사실에 난리가 났습니다. 값을 어디에 쓰고 싶습니까? 이 변수 gda_Price[] 는 다음과 같은 구조로 선언됩니다.

 // =================================================_______ СВОЙСТВА СИМВОЛА _______=======================================================
struct Symbol_Properties
{
   datetime     gdt_Quote;           // Время поступления последней котировки
   double       gda_Price[];         // Текущие рыночные цены (0 - Bid, 1- Ask)
   double       gd_Spread;           // Размер спреда в пунктах
   double       gd_Swap;             // Своп
   double       gd_Comission;         // Комиссия
   double       gd_Pt;               // Величина одного пункта
   int          gi_Digits;           // Количество знаков в цене после запятой
   int          gi_StopLevel;         // Минимально-допустимый уровень стоп-лосса/тейк-профита в пунктах
   int          gi_FreezLevel;       // Уровень заморозки ордеров в пунктах
   //---- Конструктор и деструктор
   Symbol_Properties ( void );
  ~Symbol_Properties ( void );
};
//---- Создадим объект структуре Symbol_Properties
Symbol_Properties SSym;
//=========================================================================================================================================
// Конструктор структуры. =================================================================================================================
Symbol_Properties::Symbol_Properties ( void ) {
   gd_Pt = _Point ;
   gi_Digits = _Digits ;
}
//=========================================================================================================================================
// Деструктор структуры. ==================================================================================================================
Symbol_Properties::~Symbol_Properties ( void ) {
}

기분좋다...

 

질문이 있습니다.

나는 꽤 훌륭하게 거래되는 작업 프로그램을 가지고 있지만 시작 시간에 민감하기 때문에 때때로 어리석게도 내 손으로 시작할 시간이 없습니다. 이를 위해서는 자동 최적화 가 필요하며 비용은 10,000-15,000 루블입니다.

자동 최적화 비용을 지불하고 2-3주 안에 2배 더 돌려줄 투자자를 찾을 수 있습니까? Skype에서 프로그램의 신뢰성과 운용성을 시연하고 모든 뉘앙스를 논의할 준비가 되었으며 작동하고 있다는 데는 의심의 여지가 없습니다.

그것이 가능합니까, 그들을 위해 약간의 위험을 감수 할 준비가 된 사람들이 있습니까?

위험은 최소화되며 아무리 우스꽝스럽게 들리더라도 2-3주 안에 수익은 100%입니다.

 
366366 :

질문이 있습니다.

나는 꽤 훌륭하게 거래되는 작업 프로그램을 가지고 있지만 시작 시간에 민감하기 때문에 때때로 어리석게도 내 손으로 시작할 시간이 없습니다. 이를 위해서는 자동 최적화가 필요하며 비용은 10,000-15,000 루블입니다.

자동 최적화 비용을 지불하고 2-3주 안에 2배 더 돌려줄 투자자를 찾을 수 있습니까? Skype에서 프로그램의 신뢰성과 운용성을 시연하고 모든 뉘앙스를 논의할 준비가 되었으며 작동하고 있다는 데는 의심의 여지가 없습니다.

그것이 가능합니까, 그들을 위해 약간의 위험을 감수 할 준비가 된 사람들이 있습니까?

위험은 최소화되며 아무리 우스꽝스럽게 들리더라도 2-3주 안에 수익은 100%입니다.

최고의 투자자는 은행입니다. 하나 이상의 "뜨거운"머리가 이미 대출 지연에 대한 처벌의 불가피성을 냉각했습니다.
 
barabashkakvn :
최고의 투자자는 은행입니다. 하나 이상의 "뜨거운"머리가 이미 대출 지연에 대한 처벌의 불가피성을 냉각했습니다.


위험이 최소화됨)

효율성은 원하는 모든 사람에게 증명할 준비가 되어 있습니다.

안타깝게도 대출을 받을 방법이 없습니다.

 
366366 :


위험이 최소화됨)

효율성은 원하는 모든 사람에게 증명할 준비가 되어 있습니다.

안타깝게도 대출을 받을 방법이 없습니다.


위험이 최소화되므로 아파트를 놓으십시오)