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

 
alsu:
Il biglietto rimane com'era


????

Come posso controllare se l'ordine è chiuso o no?

 
Cruc:

Grazie mille per la raccomandazione, l'ho quasi capito, solo non riesco a ricordare se l'ordine viene attivato, il biglietto prende un valore di -10?
Il biglietto non cambia. Solo l'OrderCloseTime diventa maggiore di zero
 
ilunga:
Il biglietto non cambia. Solo l'OrderCloseTime diventa maggiore di zero


E se scatta uno stop o un profitto, diventa anche meno di zero, se non sbaglio -1 ?

Come faccio a impostare correttamente la condizione? Si prega di avvisare.

 
Cruc:


E se scatta uno stop o un profitto, sarà inferiore a zero, se non mi sbaglio -1 ?

Come faccio a impostare correttamente la condizione? Per favore, datemi un suggerimento.

Non diventerà diverso, rimane lo stesso. Le posizioni chiuse vanno nell'elenco della cronologia delle operazioni con gli stessi biglietti.

Passate attraverso questa stessa lista della cronologia delle transazioni e cercate lì l'ordine.

 
artmedia70:

Perché? Emettere tutte le bandiere in una volta sola in un Comment`.

Proprio lì:




non c'è stato nessun aumento sull'ADX, il che significa che la condizione

// controlla se l'ADX è in aumento > 20, o solo l'ADX in aumento ---- controlla la forza del movimento.
se (x<20 && x0>20) {f3 = 1; }

non è soddisfatta, ma lo scambio è aperto

 
Ivn:


non c'è stato nessun aumento sull'ADX, cioè la condizione

// controlla se l'ADX è in aumento > 20, o solo l'ADX in aumento ---- controlla la forza.
se (x<20 && x0>20) {f3 = 1; }

non è soddisfatta e lo scambio è aperto.

A giudicare dal commento nello screenshot - stai controllando la barra zero per prendere decisioni.

Questo non è buono... Su una barra zero gli indicatori possono andare avanti e indietro molte volte durante la formazione della barra, creando così falsi segnali (chatter).

Per evitare questo, controllate la prima barra già formata.

 
Ci sto lavorando da molto tempo ormai. Spesso noto sul grafico che il prezzo sembra colpire un certo livello, di regola il massimo o il minimo delle candele sono quasi uguali tra loro. Ma non so come farlo matematicamente. Ho scavato il forum e il database per 3 giorni ma non ho trovato niente del genere.
 

Saluti!

Sto cercando di visualizzare informazioni su una candela precedente (barra non zero) - candela rialzista o ribassista, dimensione del suo corpo e delle ombre e rapporto delle ombre rispetto al corpo della candela.

Ma non produce un fiore di pietra. Emette valori sbagliati.

int start()
  {
   int counted_bars=IndicatorCounted();
   if (counted_bars<0) return(-1);        //---- check for possible errors
   if (counted_bars>0) counted_bars--;    //---- last counted bar will be recounted
   int limit=Bars-counted_bars;
   
   double kerzen_typ;                  //тип свечи
   string kerzen_name;                 //наименование свечи
   double kerzen_body;                 //размер тела свечи
   double kerzen_shadow_up;            //размер верхней тени
   double kerzen_shadow_down;          //размер нижней тени
   double kerzen_shadow2body_up;       //отношение верхней тени к размеру тела
   double kerzen_shadow2body_down;     //отношение нижней тени к размеру тела

//---- main loop
   for(int bar=0; bar<limit; bar++)
      {
//определение контрольной свечки - белая, черная или додж и сбор информации
   if (Close[bar]>Open[bar])
      {
         kerzen_typ=1;
         kerzen_name="бычья или белая свеча";
         kerzen_shadow_up=High[bar]-Close[bar];
         kerzen_shadow_down=Open[bar]-Low[bar];
         kerzen_body=Close[bar]-Open[bar];
      }
   if (Open[bar]>Close[bar])
      {
         kerzen_typ=-1;
         kerzen_name="медвежья или черная свеча";
         kerzen_shadow_up=High[bar]-Open[bar];
         kerzen_shadow_down=Close[bar]-Low[bar];
         kerzen_body=(Open[bar]-Close[bar]);
      }
   if (Open[bar]==Close[bar])
      {
         kerzen_typ=0;
         kerzen_name="додж";}  
         kerzen_shadow_up=High[bar]-Open[bar];
         kerzen_shadow_down=Close[bar]-Low[bar];
      }
//определение соотношения тени к телу свечки      
if (kerzen_body==0)
      {
         kerzen_shadow2body_up=kerzen_shadow_up;
         kerzen_shadow2body_down=kerzen_shadow_down;
         }
if (kerzen_body!=0)
      {
         kerzen_shadow2body_up=kerzen_shadow_up/kerzen_body;
         kerzen_shadow2body_down=kerzen_shadow_down/kerzen_body;
      }     
 
//---- done
   Comment  (
               "Контрольный бар типа ",kerzen_name,"\n",
               "Верхняя тень - ",kerzen_shadow_up*10000," в ",kerzen_shadow2body_up, " раз больше","\n",
               "Тело - ",kerzen_body*10000,"\n", 
               "Нижняя тень - ",kerzen_shadow_down*10000," в ",kerzen_shadow2body_down, " раз больше"
            );
   return(0);
  }
 
gabba:

Saluti!

Sto cercando di visualizzare informazioni su una candela precedente (barra non zero) - candela rialzista o ribassista, dimensione del suo corpo e delle ombre e rapporto delle ombre rispetto al corpo della candela.

Ma non produce un fiore di pietra. Emette valori sbagliati.


Perché usare un ciclo se si prende solo 1 barra? Basta usare 1 invece di "barra". Controlla solo le nuove barre in modo da non dover ricalcolare tutto ad ogni tick.
 
Cruc:


E se scatta uno stop o un profitto, andrà sotto zero, se non sbaglio - -1 ?

Come faccio a impostare correttamente la condizione? Puoi darmi un suggerimento?

un'altra volta.

La variante più semplice (schematica)

if (ticket > 0)
{
   OrderSelect(ticket, SELECT_BY_TICKET);
   if (OrderCloseTime() > 0)
   {
      // ордер закрылся
   }
   else
   {
      // ордер пока еще открыт
   }
}
else
{
   //первый запуск советника 
}