[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 347
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Salve, ecco una domanda. Come posso scrivere nel codice per eseguire un'operazione solo su un frattale fisso?
Se il frattale è fisso, è ....
il mio frattale
Hmm. Sì, nessun problema a trovare l'ordine pendente appropriato in questo modo, se il numero di ordini pendenti in ogni direzione è lo stesso. E se è diverso, allora questo non funzionerà, come ho capito.
Quindi determinare il fatto dell'innesco di un ordine pendente e cancellare quello opposto più lontano.
Tutto questo viene fatto solo per un fatto e un ordine pendente in un momento. Non c'è bisogno di creare un numero di attivati e un numero di cancellati, come stai cercando di fare tu. Si coglie il fatto della trasformazione degli ordini pendenti in un tick. Tutti gli altri trigger (se ce ne sono) saranno determinati dal prossimo tick.
berezhnuy a causa della diffusione, che è diverse volte più grande nei fine settimana.
Cari programmatori, ecco il codice per contare gli ordini di acquisto e di vendita per aprire un solo ordine di acquisto o di vendita:
int CountBuy()
{
int count = 0;
for(int trade = OrdersTotal()-1; trade >= 0; trade--)
{
OrderSelect(trade, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == Symbol() && OrderMagicNumber() == magic)
{
if(OrderType() == OP_BUY)
count++;
}
}
return(count)
}
//+------------------------------------------------------------------+
int CountSell()
{
int count = 0;
for(int trade = OrdersTotal()-1; trade >= 0; trade--)
{
OrderSelect(trade, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == Symbol() && OrderMagicNumber() == magic)
{
if(OrderType() == OP_SELL)
count++;
}
}
return(count);
}
E tutto sembra funzionare, ma nel mio EA, ci sono condizioni per comprare e vendere su alcuni modelli di candela usando TP e SL. Ma quando questa condizione è soddisfatta e il TP è attivato, allora alla formazione della candela 0 le condizioni per l'apertura dell'ordine rimangono ancora vere e vengono aperti nuovi ordini, cosa che non dovrebbe essere fatta in quel momento. Potresti dirci quale codice usare per disabilitare ulteriori aperture di ordini? L'EA stesso è allegato.
Quindi determinare il fatto di un ordine pendente innescato e cancellare il più lontano opposto.
Tutto questo viene fatto solo per un fatto e per una volta. Non c'è bisogno di creare un numero di attivati e un numero di cancellati, come stai cercando di fare tu. Si coglie il fatto della trasformazione degli ordini pendenti in un tick. Tutti gli altri trigger (se ce ne sono) saranno determinati dal prossimo tick.
E se ce ne fossero di più per ogni zecca? Se, diciamo, il passo tra gli ordini è molto piccolo, allora può scattare più di un ordine. Naturalmente, non saremo in grado di eseguire le azioni necessarie in tempo.
E se ne passano di più in una zecca? Se, diciamo, il passo tra gli ordini è molto piccolo, allora più di un ordine può essere attivato. Naturalmente, non saremo in grado di eseguire le azioni richieste in tempo.
Il ciclo sulle posizioni aperte alla ricerca di ordini attivati sulla barra corrente e la cancellazione delle posizioni nello stesso ciclo.
Bene, questo ciclo sarà ripetuto e tutto sarà cancellato di nuovo. Ho anche una condizione nella variante che ho al momento:
Cioè dovrebbe cancellare fino a quandoordersToDelete è zero. Ma distrugge tutto. Sembra elementare, ma succede qualche scandalo. Non c'è assolutamente nulla di questi momenti in un tutorial senza valore. Ho già provato in entrambi i modi e l'ho riscritto in modi diversi, non ha funzionato come avrei dovuto.
Riscritto in modo diverso:
Kim, anche alla ricerca dello stesso modo. Ha trovato un ordine con un prezzo di apertura minimo, ha definito la sua posizione e ha selezionato questo ordine, ha definito il suo ticket e lo ha cancellato. Ma non viene cancellato.