[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 387

 
Dimka-novitsek:
Scusa, non riesco a seguire il link, non funziona per me.
int OrdiniStoriaTotale( )
Restituisce il numero di posizioni chiuse e ordini cancellati nella storia del conto corrente, caricato nel terminale del cliente. La dimensione della lista della cronologia dipende dalle impostazioni correnti della scheda "Cronologia account" del terminale.
Esempio:
  // recuperare le informazioni dalla storia commerciale int i,accTotal=OrdersHistoryTotal(); for(i=0;i<accTotal;i++) { //---- controllare il risultato della selezione if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error accessing the history base (",GetLastError(),")"); break; } // lavorare con l'ordine ... }
 
Grazie!!!
 

Potete dirmi come specificare correttamente nella condizione il nome dello strumento dell'ordine già aperto? Se un ordine EURUSD_bay è aperto, allora EURJPY_sell dovrebbe essere aperto. Credo che qui ci sia qualcosa di sbagliato. Se rimuoviamo OrderSymbol()=="EURUSD", l'ordine si aprirà, ma per aprire il terzo ordine, dobbiamo ancora risolvere questo problema.

if((OrdersTotal()==1)&&(OrderType()==OP_BUY && OrderSymbol()=="EURUSD"))
     {
     TimeBar=Time[0];
     OPENORDER2("Sell");
     }
 

Qualcuno può per favore consigliarmi come scrivere un codice che faccia accordi in un certo momento. Ho guardato le FAQ e non ho capito nulla. Sono un programmatore, ma sono in conflitto diretto con questo linguaggio.

Voglio mostrare più dettagli. Dovrei prendere una barra oraria alle 8:00 ogni giorno e aprire ordini pendenti da essa. Per chiudere gli ordini pendenti è necessario o per scadenza di tempo o per TP. e di nuovo alle 8-00 per prendere una barra, ecc. Il codice qui sotto. Questo è un problema con il primo affare che funziona chiaramente secondo i criteri, e poi ottengo qualcosa per niente. Se non è difficile per favore aiutatemi....

//Учет закрытых ордеров-----------------------------------------------
  if (OrderSelect(Ticket,SELECT_BY_TICKET,MODE_HISTORY)==true) or_cl=OrderCloseTime();
   else or_cl=StrToTime(TimeToStr((TimeCurrent()+24*60*60), TIME_DATE)+" "+17+":"+59);
     
   // Предварит.обработка
  
  time_op=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+8+":"+0);
  time_bar=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+7+":"+0);
  Cur_time=StrToTime(TimeToStr(TimeCurrent(), TIME_SECONDS));
 
 if (Cur_time>or_cl)
   {time_op+=24*60*60;
      time_bar+=24*60*60;}
    else {time_op-=24*60*60;
          time_bar-=24*60*60;}  
  
  if (Cur_time<=time_op && Total==0)return;
  // Определяем часовой квадрат--------------------------------------------------------------
   Hit=NormalizeDouble(High[iBarShift(NULL,PERIOD_H1,time_bar)],5);
   Lo=NormalizeDouble(Low[iBarShift(NULL,PERIOD_H1,time_bar)],5); 


 
coolon:

Qualcuno può per favore consigliarmi come scrivere un codice che faccia accordi in un certo momento. Ho guardato le FAQ e non ho capito nulla. Sono un programmatore, ma sono in conflitto diretto con il linguaggio.

Voglio mostrare più dettagli. Dovrei prendere una barra oraria alle 8:00 ogni giorno e aprire ordini pendenti da essa. Per chiudere gli ordini pendenti è necessario o per scadenza di tempo o per TP. e di nuovo alle 8-00 per prendere una barra, ecc. Il codice qui sotto. Questo è un problema con il primo affare che funziona chiaramente secondo i criteri, e poi ottengo qualcosa per niente. Se non è difficile per favore aiutatemi....



h ttps://www.mql5.com/ru/forum/130550

 

Mi dispiace, ho scritto delle sciocchezze qui, se poteste mostrarmi dove sono del tutto peccaminoso.

Le pose sembrano non aprirsi affatto, non succede nulla.

//+------------------------------------------------------------------+
//|per avalanche.mq4 |
//| Copyright © 2011, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#proprietà link "http://www.metaquotes.net"
extern double stoploss=0; extern double takeprofit=20; extern int otstup=20; extern datetime expiration=0;

//+------------------------------------------------------------------+
//| funzione di inizializzazione dell'esperto |
//+------------------------------------------------------------------+
int init()
{
//----

//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di deinizializzazione esperto |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di inizio esperto |
//+------------------------------------------------------------------+
int tiket,tikett;double volume=0.1;int i=0,R1,R2,A=1 ;double price=PRICE_OPEN;
R1=((PRICE_OPEN- stoploss*Point)*stoploss)/stoploss; R2=((PRICE_OPEN+ stoploss*Point)*stoploss)/stoploss;


int start()
{
//----

OrderSelect()tiket,SELECT_BY_TICKET, MODE_TRADES );
se(OrderSymbol()==Symbol()){
if(OrderMagicNumber( )==1000||OrderMagicNumber( )==2000 ){i=OrdersTotal() ;
se (i<2){
tiket= OrderSend( Symbol(), OP_BUYSTOP, volume*A, price+otstup*Point, Point*3, R1, PRICE_OPEN+takeprofit*Point+otstup, "OP_BUYSTOP", 1000, expiration, Red);
Alert ("OP_BUYSTOP", GetLastError( );
tikett= OrderSend( Symbol(), OP_SELLSTOP, volume*A, prezzo -otstup*Point, Point* 3,R2, PRICE_OPEN-takeprofit*Point-otstup, "OP_SELLSTOP", 2000, expiration,C'0,128,255' );
Alert ("OP_SELLSTOP", GetLastError( );
i=OrdiniTotali() ; } } }

//----
ritorno(0);
}
//+------------------------------------------------------------------+

 
double stoploss=0
Non si può dividere per zero.
 
Le brave persone aiutano!!!!!! Ho bisogno di uno script per chiudere le posizioni qualsiasi sulla linea centrale di Bollinger!!!!! Per favore!!!!
 
alexr7:
Le brave persone aiutano!!!!!! Ho bisogno di uno script per chiudere le posizioni qualsiasi sulla linea centrale di Bollinger!!!!! Per favore!!!!
E qual è il vostro criterio perché una posizione sia sulla linea mediana di bollinger?
 
artmedia70:
E qual è il criterio per voi che una posizione è sulla linea mediana di Bollinger?
Grazie mille per la vostra rapida risposta!!!!!!!!!!!!!! Il criterio è un indicatore standard delle Bande di Bollinger con i parametri: periodo 20, spostamento 0, deviazione 2, Weighted Close(HLCC/4)!!!!!!!
Motivazione: