[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 388

 
Chiripaha:
Mi chiedo cosa succederà. : )) Di solito questi buchi si formano solo sul server del broker stesso e in tentativi simili di ripararli non ho avuto successo. Se il broker non lo aggiusta, non c'è niente da pompare.
Ma su un altro MT4 sulla Demo dello stesso broker non c'è nessun buco!
 
borilunad:
Ma su un altro MT4 in demo dello stesso broker non c'è nessun buco!

la parola chiave è demo.

Ho avuto decine di casi simili con diversi broker... Questa è una situazione comune.

 
Ascoltate, professionisti. Non siete abbastanza e vi state scontrando, si arriva al punto del corpo a corpo. Apprezzate anche tutto il contenuto locale? Volete che vi mostri dei forum dove non ci sono affatto questi professionisti?Integer ha le mani calde, ho già combattuto, lo conosco. Capisco quello che abbiamo e piango per quello che non abbiamo. Ma battere un'intera persona per il fatto che ha sbagliato in una cosa, anche se ognuno di voi ha lavoro, e abbastanza buono - almeno irragionevole, se non dire peggio.
 
sdm:
Bisogno di aiuto 1 come conoscere il prezzo del primo ordine di vendita aperto o in sospeso 2 come controllare se c'è un ordine di vendita aperto o in sospeso al prezzo che ho specificato



Solo passando attraverso tutti gli ordini. Per esempio così:

#property copyright "Copyright 2013, Mikhail <Sepulca> Kozhemyako"
#property link      "ua3xcm@obninsk.com"
extern int MAGIC=1234;
int init()
 {
  return(0);
 }
int deinit()
 {
  return(0);
 }
int start()
 {
  int NoL,NoS,NoBS,NoSS,NoBL,NoSL,n,i;
  double MaxSellOpenPrice,MaxSellStopOpenPrice,MaxSellLimitOpenPrice,MinBuyOpenPrice,MinBuyLimitOpenPrice,MinBuyStopOpenPrice;
  NoL=0;NoS=0;NoBS=0;NoSS=0;NoBL=0;NoSL=0;
  MaxSellOpenPrice=0.0;MaxSellStopOpenPrice=0.0;MaxSellLimitOpenPrice=0; MinBuyOpenPrice=99999999.9;MinBuyStopOpenPrice=9999999.9;MinBuyLimitOpenPrice=9999999.9;
// Перебираем все ордера
  n=OrdersTotal();
  for (i=n-1; i>=0; i--)
   {
    if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
     {
      if(OrderMagicNumber()==MAGIC && OrderSymbol()==Symbol())
       {
        if(OrderType()==OP_BUY) 
         {
          NoL++;MinBuyOpenPrice=MathMin(MinBuyOpenPrice,OrderOpenPrice());
         }
        if(OrderType()==OP_SELL)
         {
          NoS++;MaxSellOpenPrice=MathMax(MaxSellOpenPrice,OrderOpenPrice());
         }
        if(OrderType()==OP_BUYSTOP) 
         {
          NoBS++;MinBuyStopOpenPrice=MathMin(MinBuyStopOpenPrice,OrderOpenPrice());
         }
        if(OrderType()==OP_SELLSTOP)
         {
          NoSS++;MaxSellStopOpenPrice=MathMax(MaxSellStopOpenPrice,OrderOpenPrice());
         }
        if(OrderType()==OP_BUYLIMIT) 
         {
          NoBL++;MinBuyLimitOpenPrice=MathMin(MinBuyLimitOpenPrice,OrderOpenPrice());
         }
        if(OrderType()==OP_SELLLIMIT)
         {
          NoSL++;MaxSellLimitOpenPrice=MathMax(MaxSellLimitOpenPrice,OrderOpenPrice());
         }
       }
     }
   }
// Смотрим чего есть в наличии
  if(NoL>0)// Если есть активные лонги
   {
   }
  if(NoS>0)// Если есть активные шорты
   {
   }
  if(NoBL>0)// Если есть лонги-отложеннники лимитники
   {
   }
  if(NoSL>0)// Если есть шорты отложенники лимитники
   {
   }
  if(NoBS>0)// Если есть лонги-отложенники стоповые
   {
   }
  if(NoSS>0)// Если есть шорты отложенники стоповые
   {
   }
// Соответственно в  переменных получаете мин/макс цену.
  return(0);
 }
 
borilunad:

Grazie! Ma ci sono posizioni aperte, o va bene così?! Ora lo proverò!

Scusa, come posso cancellare solo dall'inizio del buco? Si può cancellare tutto in F2, ma appena premo M1, tutte le citazioni appaiono immediatamente con lo stesso buco! Quindi come si fa a cancellare solo dall'inizio del buco?


Non succederà nulla alle posizioni. Dall'inizio del foro - vedere a che ora iniziano i fori, nella tabella della storia c'è una colonna con la data, usatela per guardare verso l'alto dalla data desiderata (usando il tasto Shift). L'archivio citazioni è Menu principale - Strumenti - Archivio citazioni.
 
Integer:

Non succederà nulla alle posizioni. Dall'inizio del foro - vedere a che ora iniziano i fori, nella tabella della storia c'è una colonna con la data, usatela per guardare verso l'alto dalla data desiderata (usando il tasto Shift). L'archivio delle citazioni è nel menu principale - Strumenti - Archivio citazioni.
Grazie Dmitriy, ho già ringraziato sopra e riferito quello che ho ottenuto! Non so come, ma la cosa principale è che ci sono 0 errori e tutte le citazioni sono a posto. Ma questi volumi causano errori in continuazione! Che ne dite di non usarli? Non li uso nel mio codice! Grazie ancora!
 

Ho nomi di tipo stringa - h0 h1 h2 ecc. A seconda del nome trovato, devo fare un'enumerazione swith(Name).

Come farlo correttamente?

Ho provato a usare il preprocessore, ma non ha funzionato. : (

#define h0   0
#define h1   1
#define h2   2
#define h3   3      

      string Имя_Остатке;

      switch (Имя_Остатке)
         {
          case h0:  break;
          case h1:  break;
          case h2:  break;
          case h3:  break;
         }
 
Non puoi, l'interruttore funziona solo con gli ints. metti i nomi in una matrice e operala con gli indici.
 
FAQ:
Non funzionerà, l'interruttore funziona solo con gli ints. mettete i nomi in un array e operatelo con gli indici.

Grazie mille!

Capito! : )))) Voglio dire, attraverso un array.

 

Sfortunatamente, gli 1minuti sono spariti del tutto, solo lì sul grafico, e nel diario di bordo sta scarabocchiando ogni decimo di secondo:

15:55:39 Gestore della memoria: impossibile allocare 206924212 byte di memoria
15:55:39 HistoryBase: non abbastanza memoria 'EURUSD1' [4702734 barre]
15:55:39 Gestore della memoria: impossibile allocare 206924212 byte di memoria
15:55:39 HistoryBase: non abbastanza memoria 'EURUSD1' [4702734 barre]
15:55:39 Gestore della memoria: impossibile allocare 206924212 byte di memoria
15:55:39 HistoryBase: non abbastanza memoria 'EURUSD1' [4702734 barre]

500й!