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

 
sss2019:

C'è un modo per rendere non più di un ordine aperto sulla barra corrente? Cioè, ho bisogno che un ordine sia aperto sul frattale corrente, ma non di più, e su quello successivo, ecc.

Si può fare in qualche modo?

Sì, è possibile. C'è solo una doppia domanda. Se apriamo sulla barra corrente, è la barra zero. E il frattale è formato almeno sul secondo.

Salva il tempo della barra del frattale nella variabile e, se è già stata aperta una posizione per questo frattale con tale tempo, non aprire altre posizioni con esso. Non appena si forma un nuovo frattale, il suo tempo di barra cambierà e quindi aprirà una nuova posizione e, dopo la sua apertura con successo, memorizzerà il nuovo tempo del frattale nella variabile.

 

Non voglio essere invadente. Aiutami con la mia domanda. Non posso chiudere un ordine. Mi dà un errore con il biglietto sbagliato. Il problema è nel biglietto, come posso chiamarlo e chiudere l'ordine? Come faccio a chiudere un biglietto? Grazie.

Sto scrivendo il mio EA in modo che la vendita venga aperta dopo l'acquisto e viceversa, ma per qualche motivo solo il primo ordine viene chiuso e gli altri no.


OrderSend(Symbol(),OP_SELL,1,Bid,3,0,0,NULL,12345,CLR_Blue);

Fa un errore, biglietto sbagliato. Il problema è nel biglietto, come posso chiamarlo e chiudere l'ordine? Grazie.

 

Ciao, nella finestra in cui è allegato l'EA, come faccio a visualizzare il marker rosso Right price del prezzo di apertura di quell'ordine, sulla barra in cui si è aperto?

Ticket=OrderSend(Symb,OP_SELL,Lts,Bid,2,SL,TP);
 
kolaider:

Non voglio essere invadente. Aiutami con la mia domanda. Non posso chiudere un ordine. Mi dà un errore con il biglietto sbagliato. Il problema è nel biglietto, come posso chiamarlo e chiudere l'ordine? Come faccio a chiudere un biglietto? Grazie.

Sto scrivendo il mio EA in modo che la vendita venga aperta dopo l'acquisto e viceversa, ma per qualche motivo solo il primo ordine viene chiuso e gli altri no.


OrderSend(Symbol(),OP_SELL,1,Bid,3,0,0,NULL,12345,CLR_Blue);

Ho ricevuto un errore con un biglietto sbagliato. Il problema è nel ticket, come posso chiamarlo e chiudere l'ordine? Grazie.

OrderSend(Symbol(),OP_SELL,1,Bid,3,0,0,NULL,12345,0,CLR_Blue);

Ti manca un'opzione di scadenza (evidenziata in rosso)

Vuoi aprire una posizione Sell quando chiudi una posizione Buy e viceversa?

Nella lista degli ordini chiusi, trova l'ultimo ordine chiuso, visualizza il suo tipo e apri quello opposto.

Per chiudere un ordine, devi prima selezionarlo, prendere il suo biglietto e chiuderlo.

 
kolyango:

Ciao! Come faccio a visualizzare il marker rosso Right price del prezzo di apertura di quell'ordine, sulla finestra dove è attaccato l'EA, come l'ordine di mercato SELL si è aperto?


bool ObjectCreate( string name, int type, int window, datetime time1, double price1, datetime time2=0, double price2=0, datetime time3=0,double price3=0)

Crea un oggetto con il nome specificato, il tipo e le coordinate iniziali nella sottofinestra specificata del grafico. Il numero di coordinate associate all'oggetto può essere da 1 a 3 a seconda del tipo. La funzione restituisce TRUE se l'oggetto viene creato con successo, altrimenti FALSE. Per ottenere maggiori informazioni sull'errore, chiamate la funzione GetLastError().
Gli oggetti di tipo OBJ_LABEL ignorano le coordinate. Usate ObjectSet() per impostare le proprietà OBJPROP_XDISTANCE e OBJPROP_YDISTANCE.
Note: Le sottofinestre del grafico (se ci sono sottofinestre di indicatori nel grafico) sono numerate a partire da 1. La sottofinestra del grafico principale è sempre presente e ha l'indice 0.
Le coordinate devono essere passate in coppia - tempo e prezzo. Per esempio, l'oggetto OBJ_VLINE ha bisogno solo del tempo, ma anche il prezzo (qualsiasi valore) deve essere passato.
Parametri:
nome - Nome unico dell'oggetto.
tipo - Tipo di oggetto. Può essere qualsiasi tipo di oggetto.
finestra - Indice della finestra a cui verrà aggiunto l'oggetto. L'indice della finestra deve essere maggiore o uguale a 0 e inferiore a WindowsTotal().
tempo1 - Ora della prima coordinata.
prezzo1 - Prezzo del primo coordinato.
tempo2 - Tempo seconda coordinata.
prezzo2 - Prezzo della seconda coordinata.
tempo3 - È il momento della terza coordinata.
prezzo3 - Prezzo della terza coordinata.
Esempio:
 // nuovo oggetto Text if(!ObjectCreate("text_object", OBJ_TEXT, 0, D'2004.02.20 12:30', 1.0045)) { Print("error: can't create text_object! codice #",GetLastError()); return(0); } // nuovo oggetto TextLabel if(!ObjectCreate("label_object", OBJ_LABEL, 0, 0)) { Print("error: can't create label_object! codice #",GetLastError()); return(0); } ObjectSet("label_object", OBJPROP_XDISTANCE, 200); ObjectSet("label_object", OBJPROP_YDISTANCE, 100);
 

artmedia70:


È possibile. Solo che la domanda è duplice. Se si apre sulla barra corrente, è la barra zero. E il frattale è formato almeno sulla seconda barra.

Salva il tempo della barra del frattale nella variabile e, se quel frattale è già stato aperto per una posizione con quel tempo, non aprire altre posizioni con esso. Non appena si forma un nuovo frattale, il suo tempo di barra cambierà e voi aprite una nuova posizione e, dopo la sua apertura con successo, memorizzate il nuovo tempo del frattale nella variabile.


Come posso salvarlo in una variabile globale? Ho creato una semplice variabile, ma sembra che non venga salvata e gli ordini continuano ad aprirsi. Vedere

int start()
  {
  double MyPoint = Point;
  if(Digits == 3 || Digits == 5)
    {
    MyPoint = Point * 10;
    }
  
   double upperfractal;
   int upperi;
//----
   for(upperi=1;upperi<Bars;upperi++)
     {
     upperfractal=iFractals(Symbol(), Period(), MODE_UPPER, upperi); if (upperfractal>0) break;
     }
     
   datetime opentime;
     
   if(upperfractal>0 && upperi > 2 && opentime != Time[upperi])
     {
     if(OrderSend(Symbol(),OP_BUYSTOP,Lot,upperfractal + 10 * Point,3,0,0,"comment",1354453,0,Green) == true)
       {
       opentime = Time[upperi];
       }else
       {
       Alert("",GetLastError());
       }
     }

//----
   return(0);
  }

Opentime variabile

Vorrei chiedere a qualcuno di aiutarmi, per favore.

Ho anche provato a rendere la variabile globale, ma apre ancora molti scambi, come se la variabile venisse resettata ogni volta.

datetime opentime = 0;

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  double MyPoint = Point;
  if(Digits == 3 || Digits == 5)
    {
    MyPoint = Point * 10;
    }
  
   double upperfractal;
   int upperi;
//----
   for(upperi=1;upperi<Bars;upperi++)
     {
     upperfractal=iFractals(Symbol(), Period(), MODE_UPPER, upperi); if (upperfractal>0) break;
     }
     

     
   if(upperfractal>0 && upperi > 2 && opentime != Time[upperi])
     {
     if(OrderSend(Symbol(),OP_BUYSTOP,Lot,upperfractal + 10 * Point,3,0,0,"comment",1354453,0,Green) == true)
       {
       opentime = Time[upperi];
       }else
       {
       Alert("",GetLastError());
       }
     }

//----
   return(0);
 
T-G:

Si prega di consigliare come trattare un problema banale - ho un buco nella storia EUR per giugno 2011 e poi settembre e un po' di settembre è perso

nella cartella \terminal\storia\downloads\EURUSD ci sono questi file

EURUSD_2011_06_81625bcefc91bf488a04d5a1dae0c93f
EURUSD_2011_09_2557787db3eb2fe87073c783f21cdd66

EURUSD_2011_10_15793a4a4f9d001b78a82e248872bc3b

Ho provato diversi terminali di diversi broker, tra cui MQ nativo. Ho anche provato su diverse macchine con XP e Win7. Ho provato a cancellare symbols.raw e symgroups.raw e a scaricarli di nuovo - non ha aiutato.


Mi chiedo se è fondamentale per voi avere una storia di questo particolare periodo?
 
nadya:
Mi chiedo se è fondamentale per lei avere una storia di questo particolare periodo?
Visto che lo chiedo, sì!
 
T-G:
Visto che lo chiedo, sì!
Bene, allora chiedete una storia ai magazzinieri.
 
sss2019:


Come faccio a salvarlo in una variabile globale? Ho fatto una variabile regolare, ma non sembra essere salvata e gli ordini continuano ad aprirsi. Qui c'è

Opentime variabile

Sto cercando di rendere questa variabile globale.

Ho anche provato a rendere la variabile globale, ma apre ancora un sacco di scambi, come se la variabile venisse resettata ogni volta.

OrderSend restituisce un valore intero, non è una funzione booleana, fate attenzione
Motivazione: