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

 

perché nessuna voce di vendita?

condizioni di ingresso

f2=iForce(NULL, 0, 13,MODE_SMA,PRICE_CLOSE,1);
if (f2>0) // buy

{

Opn_B=true; // Критерий откр. Buy
}

if (f2<0) // sell

{

Opn_S=true; // Критерий откр. Sell }

se si imposta

rsi >50 comprare

rsi<50 vendere

funziona come dovrebbe, quindi ci sono sia la vendita che l'acquisto

 
Dimka-novitsek:
L'Expert Advisor ha iniziato a funzionare quando ho rimosso gli stop a 20 pips dal prezzo, non più vicino!!! Mi chiedevo da dove viene l'errore 130, dal server di intermediazione?

Sì, server... La dimensione fissa è buona, ma è meglio guardare MarketInfo, ha solo il livello di stop al momento, può cambiare. https://docs.mql4.com/ru/constants/marketinfo

MODE_STOPLEVEL14Livello minimo di stop loss/stake profit in pip
 
Me ne ricorderò! (probabilmente)
 

Ragazzi ditemi per favore .... Il problema è che ho 5 decimali nel terminale e ho 5 operazioni aperte, uso un ciclo per chiudere tutti gli ordini

Il problema è che questo ciclo chiude gli ordini a prezzi diversi! Se ho 5 ordini allora solo 3 o 2 di loro sono chiusi ad un prezzo e gli altri a prezzi diversi ... Come far chiudere tutti gli ordini allo stesso prezzo?????

if (сумма по профиту всех сделок >= заданная сумма)

{

for (цикл перебора ордеров)

{

if (проверка на символ)

{

if (ордертип==бай)

{

закрыть ордера по БИД цене 

} 

if (ордертип==сел)

{

закрыть ордера по Аск цене 

}  

} 

} 

} 
 
SeALALex:

Grazie mille, ti ho detto che sto imparando, posso fare una domanda LotsInitial - a che scopo? perché costruisce gli ordini correttamente, non capisco quale principio apre un ordine con una tale dimensione del lotto?

Un dizionario risponderà alla tua domanda. E hai controllato il codice? Per quanto tempo? Se è il vostro codice, non ci metterete molto a capire il significato delle 10 linee aggiunte.


vilard:

perché non c'è un login di vendita?

condizioni di ingresso

f2=iForce(NULL, 0, 13,MODE_SMA,PRICE_CLOSE,1);
if (f2>0) // buy

{

Opn_B=true; // Критерий откр. Buy
}

if (f2<0) // sell

{

Opn_B=true; // Критерий откр. Buy
}

se si imposta

rsi >50 comprare

rsi<50 vendere

funziona come dovrebbe, quindi c'è sia la vendita che l'acquisto

Dove vedi SELL? :((


VOLDEMAR:

Ragazzi, per favore ditemi .... Ho un problema con 5 posizioni decimali nel mio terminale client. 5 operazioni aperte su una coppia e uso un ciclo per chiudere tutti gli ordini

Il problema è che questo ciclo chiude gli ordini a prezzi diversi! Se ho 5 ordini allora solo 3 o 2 di loro sono chiusi ad un prezzo e gli altri a prezzi diversi ... Come far chiudere tutti gli ordini a un prezzo ?????

Ci vuole tempo per chiudere un ordine. Durante questo periodo, il prezzo può facilmente cambiare. La risposta è ovvia.


Gente, una domanda:

C'è un terminale in esecuzione su due computer con lo stesso account. Supponiamo che si cerchi di chiudere contemporaneamente due ordini diversi da computer diversi, quale sarà la reazione del terminale? :)) "Commercio poi occupato"?

Anche se mi sembra che sia lo stesso se apri due terminali su un computer e ti connetti a un conto, ma non puoi chiudere gli ordini in modo sincrono...

 

Mi scuso se ripeto la domanda, perché non l'ho trovata nella cronologia del thread.

Ho bisogno che l'Expert Advisor registri sempre i dati sui profitti degli ordini.

Sarebbe meglio in una tabella.

Per cominciare, ecco il codice:

int h=FileOpen("test.txt",FILE_BIN|FILE_WRITE);
   for (int j=0; j<OrdersTotal(); j++)         // По всем ордерам
  {
   if(OrderSelect(j,SELECT_BY_POS)==true)  // Если есть следующ.
     {                                     
      double ТР =    OrderTakeProfit();     // TakeProfit ордера
      double Profit= OrderProfit();         // Прибыль по ордеру
      double Lots  = OrderLots();           // Количество лотов
      //......Использование значений ТР и Profit в программе..... 
      FileWriteInteger(h,Profit,LONG_VALUE);
      FileWrite(h,"\n");
      FileClose(h);
     }
  }     
Вопрос, а где создать файл? как лучше это все реализовать?
 
Max7, mi interessa sapere perché l'indicatore non funziona come dovrebbe, quelli di incrocio "0", ripeto ancora una volta, che con il criterio rsi<>50 tutto funziona bene!
 
nuan:

Mi scuso se ripeto la domanda, dato che non l'ho trovata nella storia dell'argomento.

Ho bisogno che registri i dati di profitto dell'ordine per tutto il tempo.

Sarebbe meglio in una tabella.

Per cominciare, ecco il codice:

Creare un file prima di volerci scrivere qualcosa.

Chiudete il file dopo che tutto è stato scritto al suo interno.

Nel vostro caso le funzioni init() e deinit() funzioneranno.


vilard:
Max7, mi interessa sapere perché l'indicatore non funziona come dovrebbe, quelli di incrocio "0", ripeto ancora una volta che con il criterio rsi<>50 tutto funziona bene!

Max7... Divertente! :DD


L'indicatore Force Index funziona bene. Faresti meglio a controllare il tuo codice scritto prima.

 
Ci sono stato, puoi darmi un esempio o una funzione.
 
nuan:
Ci sono stato, puoi darmi un esempio o una funzione.

Sì, non ho letto attentamente la tua domanda! :)) La risposta è sopra...

Secondo il vostro codice, il file sarà creato una volta, ma sarà chiuso tante volte quanti sono gli ordini che il ciclo trova.

E se questo codice è nella funzione start(), allora questo problema accadrà ad ogni tick! E ogni volta dopo l'esecuzione di FileOpen, il vostro file sarà cancellato...

Fareste anche bene a scrivere OrderSymbol(), OrderTicket(), OrderType() e altre informazioni opzionali nel file. Altrimenti come potete distinguere OrderProfit() l'uno dall'altro? Per questo scopo sarebbe meglio entrare in un file sotto forma di tabella(FILE_CSV), che si apre facilmente in Excel.