[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 479

 
costy_:

Come si fa a rispondere senza sapere che NumTimeFrames TimeFrames[i] è vuoto o cosa?

Scrivere più completo, come, o meglio, cosa leggere attentamente se non c'è nulla. Scrivete il codice completo, altrimenti molto probabilmente "rosicchierete il granito della scienza",,,,)) if(true)continue; else return("Sleep("+7*1000*60*60+")");

Hai capito bene.


int TimeFrames[]={5,15,30,60}; 
int NumTimeFrames=ArraySize(TimeFrames);
int total_bars[]; ArrayResize(total_bars,NumTimeFrames);
string instrument = Symbol();

// пробегаем по задданым периодам
for(i=0; i<NumTimeFrames; i++)
  {
    // пробегаем по всем барам выбранного периода, ЕСЛИ на нем появились новые бары 
    if(total_bars[i]!=iBars(instrument,TimeFrames[i]))
     {


        // тут вычисления индиктора

        total_bars[i]=iBars(instrument,TimeFrames[i]); // запоминаем число баров на данном периоде
     }


Fondamentalmente, come ho capito, possiamo saltare il controllo della comparsa di nuove barre.

In realtà si può ridurre a una semplice domanda: "su quali comandi e in quale momento MT scarica le quotazioni dalle società di intermediazione?

 
palladin:

potrebbe citare il codice che ha usato per testare la sua affermazione?


//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   Print(iBars(Symbol(), PERIOD_D1));
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
Reshetov:

Come presumevo, non hai capito la domanda.

Prova questo:


int start()
  {
//----
   Print(iBars(Symbol(), PERIOD_M1));
//----
   return(0);
  }
//+------------------------------------------------------------------+


Запустите на периоде М5 и подождите минуту, в логе вы обнаружите, что с каждой минутой отображается одно и то же число! Хотя оно, очевидно, должно увеличиваться с каждой минутой)

 
palladin:

Come presumevo, non hai capito la domanda.

Prova questo:



Запустите на периоде М5 и подождите минуту, в логе вы обнаружите, что с каждой минутой отображается одно и то же число! Хотя оно, очевидно, должно увеличиваться с каждой минутой)



Che numero stai visualizzando?

qual è il tempo di questa barra iBars?

c'è una storia sulla M1?
 

Reshetov ,sergeev ,costy_

grazie


Ho ricontrollato, sembra funzionare dopo tutto, e mi sbagliavo nella mia supposizione.

iBars sembra davvero funzionare correttamente, nemmeno sul grafico corrente


 
for(i=0;i<=OrdersTotal();i++)
    {
    if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false) break;
    if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)
      {
      if(OrderType() == OP_BUYSTOP)
        {
        if(OrderOpenPrice() > priceBuy)
          {
          priceBuy = OrderOpenPrice();
          }
        }
      }
    } 
  if(TakePrices1 == false)
    {  
    bTakeProfit = priceBuy + (10*2)*Point;
    TakePrices1 = true;
    }
Questo pezzo seleziona l'ordine di acquisto più alto e aggiunge 20 pip al suo prezzo, e sposta il take profit a quel livello. Ma in realtà non sono 20 pips, sono 13 pips. Perché 13, non 10, non 30, ma 13. Da dove viene questo numero?
 
sss2019:
Questo pezzo seleziona l'ordine di acquisto più alto e aggiunge 20 pip al suo prezzo, e sposta il take profit a quel livello. Ma in realtà non sono 20 pips, sono 13 pips. Perché 13, non 10, non 30, ma 13. Da dove viene questo numero?


20-Spredito

Aprire a Bid, chiudere a Ask

 
Vinin:


20-Spredito

Aprire a Bid, chiudere a Ask


No, il take profit non è ancora scattato. Questo codice trova l'ordine di acquisto pendente più alto e sottrae 20 punti dal suo prezzo aperto. Il profitto viene semplicemente spostato a 20 punti in più. Sembra che lo spread non debba essere preso in considerazione qui. Inoltre, lo spread è fissato a 2 punti e ci mancano 7 punti.
 
Non capisco quale sia il problema. Sembra che quando stampo i valori, il prezzo è al livello giusto, ma quando metto questo valore nell'ordine, il suo take profit si muove ancora solo di 13 pip.
 

Tra ta ta