Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 675

 
Si vous le savez : Y a-t-il une restriction sur l'utilisation de if au sein de l'opérateur de commutation ?
 
non.
 

phénomènes étranges

Bonjour, j'ai rencontré un problème peu clair. J'ai testé l'EA sur différentes paires et échelles de temps. Tout a bien fonctionné, du moins de manière adéquate, jusqu'à ce que je fasse un test sur USDCAD. Sur cette paire est observé un comportement complètement inadéquat du Conseiller Expert (ou plutôt du testeur). Les ordres peuvent s'ouvrir quelque part "dans le vide" et se fermer à des prix qui n'ont jamais été vus dans des transactions réelles sur ce symbole. Vous pouvez voir sur l'image que toute une série d'ordres d'achat sont ouverts et presque immédiatement fermés avec un énorme profit (plusieurs milliers de points). Ils s'ouvrent et se ferment en l'espace d'une barre (30 minutes). Cela dit, le rapport du testeur présente des résultats graphiques insuffisants. J'ai l'impression que le testeur modélise les prix à partir d'un autre symbole. Peut-être que quelqu'un a rencontré quelque chose de similaire ?

 

Expert compile sans aucune question. Je l'utilise dans le testeur... Une erreur s'affiche :

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; 

Je suis arrivé à la ligne à laquelle le journal fait référence et je vois ceci :

Qu'est-ce que ça a à voir ? Rien de tel n'est jamais arrivé avant...

 
hoz:

Expert compile sans aucune question. Je l'utilise dans le testeur... Une erreur s'affiche :

Je suis allé à la ligne à laquelle le journal se réfère et je vois ceci :

Qu'est-ce que ça a à voir ? Rien de tel n'est jamais arrivé avant...


S'il vous plaît donnez-moi tout le code pour le fichier include
 
evillive:

Veuillez fournir tout le code du fichier d'inclusion

Le code entier est un peu long. Voici le code de la fonction où se trouve le bug :

// 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]);
   //----
}

Le problème est dans la ligne :

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

Apparemment, la même chose se produira en dessous de la ligne.

Je suppose qu'il n'y a pas de cellule de tableau où je veux écrire la valeur. Cette variable gda_Price[] est déclarée dans la structure comme suit :

// =================================================_______ СВОЙСТВА СИМВОЛА _______=======================================================
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) {
}

Tout semble aller bien...

 

J'ai une question.

J'ai un programme qui fonctionne très bien, mais le temps presse et je n'ai pas toujours le temps de l'exécuter à la main. Cela nécessite une auto-optimisation, qui coûte 10 000 à 15 000 roubles.

Puis-je trouver un investisseur qu'il m'aurait payé en auto-optimisation, et après 2-3 semaines je l'aurais rendu en 2 fois plus. Prêt à Skype pour démontrer la fiabilité et la facilité d'utilisation du programme, pour discuter de toutes les nuances, le fait qu'il fonctionne ne fait aucun doute.

Je n'ai aucun doute sur le fait que cela fonctionne. Est-il même possible qu'il y ait des personnes prêtes à risquer une petite somme ?

Les risques sont minimes, le bénéfice est de 100% en 2-3 semaines, aussi ridicule que cela puisse paraître.

 
366366:

J'ai une question.

J'ai un programme qui fonctionne très bien, mais le temps presse et je n'ai pas toujours le temps de l'exécuter à la main. Cela nécessite une auto-optimisation, qui coûte 10 000 à 15 000 roubles.

Puis-je trouver un investisseur qu'il m'aurait payé en auto-optimisation, et après 2-3 semaines je l'aurais rendu en 2 fois plus. Prêt à Skype pour démontrer la fiabilité et la facilité d'utilisation du programme, pour discuter de toutes les nuances, le fait qu'il fonctionne ne fait aucun doute.

Je n'ai aucun doute sur le fait que cela fonctionne. Est-il même possible qu'il y ait des personnes prêtes à risquer une petite somme ?

Les risques sont minimes, le bénéfice est de 100% en 2-3 semaines, aussi ridicule que cela puisse paraître.

Le meilleur investisseur est une institution bancaire. Plus d'une tête "chaude" a déjà refroidi l'imminence d'une sanction pour un retard de paiement d'un prêt.
 
barabashkakvn:
Le meilleur investisseur est une institution bancaire. Plus d'une tête "chaude" a déjà refroidi l'imminence d'une sanction en cas de retard de paiement du prêt.


Les risques sont minimes)

Je suis prêt à prouver mon efficacité à quiconque, si seulement ils étaient disposés à le faire.

Malheureusement, il n'y a aucun moyen de contracter un prêt.

 
366366:


Les risques sont minimes)

Je suis prêt à prouver que je peux travailler à quiconque le souhaite.

Malheureusement, il n'y a aucun moyen de contracter un prêt.


Si les risques sont minimes, hypothéquer l'appartement)
Raison: