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

 
Oh, quindi ho capito bene?
 
FAQ 17.03.2012 12:18
Molto probabilmente, al momento dell'apertura avete zero nella variabilepriceBUY, quindi Bid-priceBUY(0)==Bid, e quindi

No, se fosse così, allora anche il SELL sarebbe trainato in modo errato, mentre il SELL funziona bene...... Ho già provato a cambiare il valore iniziale di priceBUY da "0" a "open price".... non funziona, il mio cervello è già fritto(((

 
MIR-ASOV:

No, se lo fosse, anche SELL non funzionerebbe correttamente, ma SELL funziona bene...... Ho già provato a cambiare il valore iniziale di priceBUY da "0" a "open price" .... non funziona, il mio cervello è già fritto(((

Cosa vi impedisce di usare un codice come questo?

   
   extern int ts=25, minp=10;

for(int i = OrdersTotal(); i >= 0; i--)
     {
       OrderSelect(i, SELECT_BY_POS, MODE_TRADES); 
       // check for symbol & magic number
       if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) 
         {
          if(OrderType() == OP_BUY) // long position is opened
            {
               if((Bid-OrderOpenPrice())>Point*(ts+minp)) // trall
                 {
                  if(OrderStopLoss()<Bid-Point*ts)
                    {
                      if(!OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-Point*ts,Digits),0,0,Orange)) {Sleep(11000); prevtime = Time[1];}
                    }
                 }
            } 
           if(OrderType() == OP_SELL) // short position is opened
            {

               if((OrderOpenPrice()-Ask)>Point*(ts+minp))// trall
                {
                 if(OrderStopLoss()>Ask+Point*ts)
                   {
                       if(!OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+Point*ts,Digits),0,0,Orange))
                      {
                        Sleep(11000);
                        prevtime = Time[1];
                      }
                   }
                }

            }
          }
     }
//----

Tutto funziona come dovrebbe.

 

Buon San Patrizio a tutti!

Caro, ti sto chiedendo aiuto. Aiutatemi a portare un segnale da un indicatore in un EA. Cioè se appare una linea blu - compra, se rossa - vendi.

Scritto così in gufo:

double dn_stop_1 = iCustom(NULL,0,"NRTR_ATR_STOP",ATR,Coeficient,0,1); // синий, снизу
double up_stop_1 = iCustom(NULL,0,"NRTR_ATR_STOP",ATR,Coeficient,1,1); // красный, сверху

   if (dn_stop_1!=EMPTY_VALUE)
       return(1);//покупка
   if (up_stop_1!=EMPTY_VALUE)  
       return(-1);//продажа

Non ho ottenuto nulla, sembra che i buffer siano sempre uguali a 0.

File:
 

evillive А что мешает использавать вот такой код?


Se c'è un solo ordine nell'esempio (sia BUY che SELL), ma se ci sono più ordini, allora ho bisogno che tutti gli ordini siano tracciati dal livello di pareggio totale. Ed è importante per me capire qual è la ragione in questo codice, perché l'ordine SELL viene eseguito in modo eccellente, cosa manca a BUY? Perché modifica lo stop subito dopo l'apertura......!?
 
MIR-ASOV:


In questo esempio ho solo un ordine (sia BUY che SELL), ma se ce n'è più di uno, voglio che tutti gli ordini siano presi da Breakeven. Ed è importante per me capire qual è la ragione in questo codice, perché l'ordine SELL viene eseguito in modo buono, cosa manca per BAY? Perché modifica lo stop subito dopo l'apertura......!?


Perché il prezzo da confrontare non è :

1) inizializzato

2) uguale a zero

Azioni:

1) disinizializzare e vedere,

2) inizializzare con un numero grande

3) trappola se il prezzo comparato è uguale a zero

 
Sancho77:

Buon San Patrizio a tutti!

Caro, ti sto chiedendo aiuto. Aiutatemi ad ottenere un segnale da un indicatore in un EA. Cioè se appare una linea blu - compra, se rossa - vendi.

Scritto così in gufo:

Non ho ottenuto nulla, sembra che i buffer siano sempre uguali a 0.



E perché fate il confronto con EMPTY_VALUE. Si sta confrontando con 0.0
 
Perché il prezzo comparabile non è:

1) инициализирована

2) è uguale a zero.

Azioni:

1) staccare la stampante e vedere,

2) inizializzare con un numero grande

3) impostare una trappola se il prezzo confrontato è uguale a zero.

Grazie per il vostro aiuto, grazie a tutti quelli che hanno risposto...... Ha funzionato, ho scambiato il "Breakeven Level Calculation" con il blocco "Position Opening" e tutto ha funzionato come dovrebbe...... Grazie ancora a tutti)))) E mi impiccherò)
 
Vinin:

E perché fate il confronto con EMPTY_VALUE. State facendo un confronto con 0.0.

Ho provato anche in questo modo:

   if (dn_stop_1!=0.0)
       return(1);
   if (up_stop_1!=0.0)  
       return(-1);

Ancora nessuna risposta.

 

Puoi dirmi se c'è qualcosa nel codice MTFindyuka fare che ha calcolato automaticamente e rifatto la storia, idealmente ogni minuto che non risulterebbe qui è tale krakozobraha

Nell'immagine ci sono due МТФindyuk per 5 min, sul grafico di un minuto.

ExtMapBuffer1[i]=iCustom(Symbol(),TimeFrame, "T-Line alert10",0,y);

ExtMapBuffer2[i]=iCustom(Symbol(),TimeFrame, "T-Line alert10",1,y);

Devo ottenere la vista normale, cioè i passi lisci, scegliere le proprietà dell'indicatore e premere "OK" o "aggiorna il grafico".Se uso m1 e MTF5m sono stanco di aggiornarlo manualmente a volte, forse posso semplicemente implementarlo allegando qualche funzione intelligente, non voglio scrivere un codice separato per ogni indicatore.