Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 430

 

Trader7777:

evillive:

Se cambi l'ordine, sarà dal vecchio al nuovo. Ma nel frattempo, dal nuovo al vecchio, e anche attraverso uno a volte può succedere.


se fate for (int i = OrdersTotal()-1; i>0; i--) chiuderà dal nuovo al vecchio!

Trader7777:

Non capisco, se sei troppo pigro per dirmi cosa c'è che non va, perché mi imponi una funzione che non mi serve secondo il mio TS?

Se un ordine con il numero OrdersTotal() -1 è il più recente per voi e l'ordine con il numero 0 è il più vecchio, non ho altro da dire. Quando gli occhi di una persona sono chiusi, si aprono solo di propria volontà, nessuno può forzarli.

for (int i =0; i<OrdersTotal();i++) //i++ кто будет писать, Пушкин? Зачем сочинять химеру FOR + WHILE???

A proposito, quale funzione vi ho inavvertitamente "imposto"?

 
Beh, la chimera non è cruciale, in generale dovrebbe funzionare, ho solo una domanda sul conteggio, viene incrementato a baie e vendite, ma c'è un controllo di quantità legato ad esso.
 
splxgf:

Perché k e n sono paragonati al numero totale di ordini chiusi?

Ilnumero di ordini sarà contato solo per gli ordini del tipo otype:
Beh, quella chimera non è cruciale, in generale dovrebbe funzionare, ho solo una domanda sul conteggio, viene incrementato durante i banchi e le vendite, ma c'è un controllo sulla quantità legata ad esso.

Il parametro otype è passato alla funzione, e per questa particolare chiamata il conteggio sarà contato solo per gli ordini di otype.

 
Mr.Profit:

Il parametro otype è passato alla funzione, e per questo particolare conteggio delle chiamate sarà contato solo per gli ordini di otype.


La funzione può essere compressa un paio di volte. Lo abbiamo già implementato sul nostro sito e lo abbiamo già registrato sul nostro sito. (per davvero abbiamo bisogno di una funzione separata per chiudere gli ordini con RefreshRate e altre cose).

double n = NormalizeDouble (CTbuy/2,1);

if (count<n) 

Per esempio, quattro ordini CTbuy saranno aperti, divisi per due, saranno due. La condizione di confronto ne chiuderà solo una.

P.S. Anche se, no, non lo sono. ma la questione di ciò che non ci piace rimane aperta.

 
splxgf:

ma la questione di ciò che non ti piace rimane aperta.


Anche la mia opzione nella pagina precedente?
 

Gente, perché preoccuparsi del problema di cancellare una parte della griglia:

Array dei valori dei biglietti nella prima ricerca senza cancellare, e poi basta passare attraverso l'array e cancellare tutto per biglietto - e niente salterà da nessuna parte e ci sarà il giusto ordine.

 
Mr.Profit:

Anche la mia versione nella pagina precedente?

void CloseHalfOrders(int otype) {
  if (otype!=OP_BUY || otype!=OP_SELL) return;
  int count = CountTrades(otype)/2; 
  for (int i =0; i<OrdersTotal();i++) 
    if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES))
       if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && OrderType() == otype){
         if (otype == OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,0,Lime); 
            else OrderClose(OrderTicket(),OrderLots(),Ask,0,Lime);
         count--; i--;
         if (count<1) return;
         Sleep(1000);
       }
}
Puoi ottimizzare per sempre.
 
splxgf:

L'ottimizzazione può richiedere molto tempo.

if (otype!=OP_BUY ||&& otype!=OP_SELL) return;
;-)
 

Buon pomeriggio. Sono un principiante. È successo qualcosa di strano al mio account. Per favore, aiutatemi con dei consigli.

Lo stop loss non si è attivato nella demo. La perdita sul set SL dovrebbe essere di circa 50, ma in realtà ha morso 158. Come è successo?

 
moloko:

Buon pomeriggio. Sono un principiante. È successo qualcosa di strano al mio account. Per favore, aiutatemi con dei consigli.

Lo stop loss non si è attivato nella demo. La perdita sul set SL dovrebbe essere di circa 50, ma in realtà ha morso 158. Come è successo?

È bene che sia una demo, ma è più una domanda per la società di intermediazione, è più un forum di codifica.
Motivazione: