Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 675

 
Se lo sapete: c'è qualche restrizione sull'uso di se all'interno dell'operatore di commutazione?
 
no.
 

strani fenomeni

Ciao, ho incontrato un problema poco chiaro. Ho testato l'EA su diverse coppie e timeframe. Tutto ha funzionato bene, almeno adeguatamente, fino a quando ho eseguito un test su USDCAD. Su questa coppia si osserva un comportamento completamente inadeguato dell'Expert Advisor (o meglio del tester). Gli ordini possono aprirsi da qualche parte "nel vuoto" e chiudersi a prezzi che non sono mai stati visti nel trading reale di questo simbolo. Potete vedere nell'immagine tutta una serie di ordini di acquisto aperti e quasi immediatamente chiusi con un enorme profitto (diverse migliaia di punti). Si aprono e si chiudono entro una barra (30 minuti). Detto questo, il rapporto del tester mostra risultati grafici inadeguati. Ho l'impressione che i modelli tester abbiano prezzi da qualche altro simbolo. Forse qualcuno ha incontrato qualcosa di simile?

 

L'esperto compila senza alcuna domanda. Facendolo funzionare nel tester... Appare un errore:

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; 

Sono arrivato alla linea a cui si riferisce il diario e vedo questo:

Con che cosa ha a che fare? Non è mai successo niente del genere prima d'ora...

 
hoz:

L'esperto compila senza alcuna domanda. Facendolo funzionare nel tester... Appare un errore:

Sono andato alla linea a cui si riferisce il log e vedo questo:

Con che cosa ha a che fare? Non è mai successo niente del genere prima d'ora...


Per favore datemi tutto il codice per il file include
 
evillive:

Si prega di fornire tutto il codice del file include

L'intero codice è un po' lungo. Ecco il codice della funzione in cui si trova il 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]);
   //----
}

Il bug è nella linea:

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

A quanto pare, la stessa cosa accadrà sotto la linea.

Immagino che non ci sia una cella dell'array dove voglio scrivere il valore. Questa variabile gda_Price[] è dichiarata nella struttura in questo modo:

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

Tutto sembra andare bene...

 

Ho una domanda.

Ho un programma funzionante che commercia abbastanza superbamente, ma è sensibile al tempo, quindi a volte non ho il tempo di eseguirlo a mano. Questo richiede l'auto-ottimizzazione, che costa 10.000-15.000 rubli.

Posso trovare un investitore che mi avrebbe pagato auto-ottimizzazione, e dopo 2-3 settimane avrei restituito in 2 volte di più. Pronto su Skype per dimostrare l'affidabilità e la funzionalità del programma, per discutere tutte le sfumature, il fatto che funziona senza dubbio.

Non ho dubbi che funzioni, ma è possibile che ci siano persone disposte a rischiare una piccola somma?

I rischi sono minimi, il profitto è del 100% in 2-3 settimane, per quanto ridicolo possa sembrare.

 
366366:

Ho una domanda.

Ho un programma funzionante che commercia abbastanza superbamente, ma è sensibile al tempo, quindi a volte non ho il tempo di eseguirlo a mano. Questo richiede l'auto-ottimizzazione, che costa 10.000-15.000 rubli.

Posso trovare un investitore che mi avrebbe pagato auto-ottimizzazione, e dopo 2-3 settimane avrei restituito in 2 volte di più. Pronto su Skype per dimostrare l'affidabilità e la funzionalità del programma, per discutere tutte le sfumature, il fatto che funziona senza dubbio.

Non ho dubbi che funzioni, ma è possibile che ci siano persone disposte a rischiare una piccola somma?

I rischi sono minimi, il profitto è del 100% in 2-3 settimane, per quanto ridicolo possa sembrare.

Il miglior investitore è un istituto bancario. Più di una testa "calda" ha già raffreddato l'imminenza della punizione per un ritardo nel pagamento del prestito.
 
barabashkakvn:
Il miglior investitore è un istituto bancario. Più di una testa "calda" ha già raffreddato l'imminenza della punizione per il ritardo nel pagamento del prestito.


I rischi sono minimi)

Sono disposto a dimostrare la mia capacità di lavoro a chiunque, se solo fosse disposto.

Sfortunatamente, non c'è modo di prendere un prestito.

 
366366:


I rischi sono minimi)

Sono disposto a dimostrare che posso lavorare a chiunque voglia farlo.

Sfortunatamente, non c'è modo di prendere un prestito.


Se i rischi sono minimi, ipotecare l'appartamento)
Motivazione: