Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 675

 
Falls Sie es wissen: Gibt es irgendeine Einschränkung für die Verwendung von if innerhalb des Switch Operators?
 
Nein.
 

seltsame Phänomene

Hallo, ich bin auf ein unklares Problem gestoßen. Ich habe den EA auf verschiedenen Paaren und Zeitrahmen getestet. Alles funktionierte gut, zumindest angemessen, bis ich einen Test auf USDCAD lief. Auf diesem Paar ist völlig unzureichend Verhalten des Expert Advisor (oder vielmehr der Tester) beobachtet. Aufträge können irgendwo "im Nichts" eröffnet und zu Preisen geschlossen werden, die im realen Handel mit diesem Symbol noch nie gesehen wurden. Wie Sie auf dem Bild sehen können, wird eine ganze Reihe von Kaufaufträgen eröffnet und fast sofort mit einem großen Gewinn (mehrere tausend Punkte) geschlossen. Sie öffnen und schließen innerhalb eines Taktes (30 Minuten). Der Bericht des Testers zeigt jedoch nur unzureichende grafische Ergebnisse. Ich habe den Eindruck, dass die Preise der Testmodelle von einem anderen Symbol stammen. Vielleicht hat jemand ähnliche Erfahrungen gemacht?

 

Expert kompiliert ohne Fragen. Es läuft im Testgerät... Eine Fehlermeldung wird angezeigt:

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; 

Ich bin zu der Zeile gekommen, auf die sich das Journal bezieht und sehe dies:

Womit hat das zu tun? So etwas ist noch nie zuvor passiert...

 
hoz:

Expert kompiliert ohne Fragen. Es läuft im Testgerät... Eine Fehlermeldung wird angezeigt:

Ich bin zu der Zeile gegangen, auf die sich das Protokoll bezieht, und ich sehe dies:

Womit hat das zu tun? So etwas hat es noch nie gegeben...


Bitte geben Sie mir den gesamten Code für die Include-Datei
 
evillive:

Bitte stellen Sie den gesamten Code der Include-Datei zur Verfügung

Der gesamte Code ist ein bisschen lang. Hier ist der Code der Funktion, in der der Fehler auftritt:

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

Der Fehler liegt in der Zeile:

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

Offensichtlich wird das Gleiche unter dem Strich passieren.

Ich gehe davon aus, dass es keine Array-Zelle gibt, in die ich den Wert schreiben möchte. Diese Variable gda_Price[] wird in der Struktur wie folgt deklariert:

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

Es scheint alles in Ordnung zu sein...

 

Ich habe eine Frage.

Ich habe ein funktionierendes Programm, das ganz hervorragend funktioniert, aber zeitkritisch ist, so dass ich manchmal keine Zeit habe, es von Hand auszuführen. Dies erfordert eine automatische Optimierung, die 10.000-15.000 Rubel kostet.

Kann ich einen Investor finden, dass er mir Auto-Optimierung bezahlt hätte, und nach 2-3 Wochen hätte ich es in 2 mal mehr zurückgegeben. Bereit zu skypen, um die Zuverlässigkeit und Funktionsfähigkeit des Programms zu demonstrieren, um alle Nuancen zu diskutieren, die Tatsache, dass es ohne Zweifel funktioniert.

Ich zweifle nicht daran, dass es funktioniert. Ist es überhaupt möglich, dass es Leute gibt, die bereit sind, einen kleinen Betrag zu riskieren?

Die Risiken sind minimal, der Gewinn beträgt 100% in 2-3 Wochen, so lächerlich das auch klingen mag.

 
366366:

Ich habe eine Frage.

Ich habe ein funktionierendes Programm, das ganz hervorragend funktioniert, aber zeitkritisch ist, so dass ich manchmal keine Zeit habe, es von Hand auszuführen. Dies erfordert eine automatische Optimierung, die 10.000-15.000 Rubel kostet.

Kann ich einen Investor finden, dass er mir Auto-Optimierung bezahlt hätte, und nach 2-3 Wochen hätte ich es in 2 mal mehr zurückgegeben. Bereit zu skypen, um die Zuverlässigkeit und Funktionsfähigkeit des Programms zu demonstrieren, um alle Nuancen zu diskutieren, die Tatsache, dass es ohne Zweifel funktioniert.

Ich zweifle nicht daran, dass es funktioniert. Ist es überhaupt möglich, dass es Leute gibt, die bereit sind, einen kleinen Betrag zu riskieren?

Die Risiken sind minimal, der Gewinn beträgt 100% in 2-3 Wochen, so lächerlich das auch klingen mag.

Der beste Investor ist ein Bankinstitut. Mehr als ein "heißer" Kopf hat bereits die drohende Strafe für eine verspätete Kreditrückzahlung abgekühlt.
 
barabashkakvn:
Der beste Investor ist ein Bankinstitut. Mehr als ein "heißer" Kopf hat bereits die drohende Strafe für die verspätete Zahlung des Kredits abgekühlt.


Die Risiken sind minimal)

Ich bin bereit, jedem meine Arbeitsfähigkeit zu beweisen, wenn er nur dazu bereit wäre.

Leider gibt es keine Möglichkeit, einen Kredit aufzunehmen.

 
366366:


Die Risiken sind minimal)

Ich bin bereit, jedem meine Arbeitsfähigkeit zu beweisen, wenn er nur dazu bereit wäre.

Leider gibt es keine Möglichkeit, einen Kredit aufzunehmen.


Wenn die Risiken minimal sind, nehmen Sie eine Hypothek auf die Wohnung auf.)
Grund der Beschwerde: