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
Ilan 2.0
Ilan 2.0
Ciao, è possibile.
Buon pomeriggio. Faccio trading con ordini pendenti (sellstops, bystops). Voglio chiedere di scrivere una parte di codice in cui la condizione è soddisfatta - tutti gli ordini pendenti che si trovano a una distanza (x) dal prezzo corrente vengono cancellati. Cioè, un "piccolo insieme" di ordini pendenti "seguirà" costantemente il prezzo corrente.
Naturalmente, questa idea può essere implementata in qualche altro modo, per esempio, per controllare la quantità di stop Sell e Buy e allo stesso tempo tracciarli in modo che quelli più lunghi siano spostati più vicino al prezzo corrente.
Mi sembra che sia lo stesso, ma mi piace la prima variante. Per il primo caso, la distanza x dovrebbe essere variabile nella condizione.
Capisco che questo non è molto codice. Ho cercato di capire cosa e come dovrebbe essere descritto, ho guardato e studiato EA simili, ma non ho abbastanza cervello per questo.
Grazie.
Ciao,@Andrey Kuharev.
State cercando un MT5 o un MT4?
Ciao,@Andrey Kuharev.
State cercando un MT5 o un MT4?
Ho riletto la tua descrizione e mi sono reso conto che probabilmente non capisco esattamente cosa bisogna fare. Sembra che abbiate bisogno di quanto segue:
Correggetemi se mi sbaglio.
Ho riletto la tua descrizione e mi sono reso conto che probabilmente non capisco esattamente cosa bisogna fare. Sembra che abbiate bisogno di quanto segue:
Correggetemi se mi sbaglio.
No no, è molto semplice: sul grafico dove si trova e lì dovrebbe cancellare. Questo è un EA, ho scritto il codice (beh, se si può davvero chiamare un codice - un paio di righe))) che apre gli ordini pendenti di vendita e di acquisto, ho solo bisogno di quelli pendenti che erano lontani dal prezzo (rispettivamente, vendere si ferma dal Bid, comprare si ferma dalla Ask) per cancellare da X numero di punti. Lo farò io stesso, non per distrarre le persone intelligenti con le mie sciocchezze. Per una migliore comprensione, ecco il codice di "Expert Advisor" in cui voglio inserire la funzione di cancellazione. Nel mio EA, ho segnato il parametro X come extern double v_util = 50; // distanza dal prezzo corrente a un ordine pendente da cancellare
//+------------------------------------------------------------------+
//|Ordini in sospeso.mq4 |
//| Copyright 2022, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Software Corp."
#property link"https://www.mql5.com"
#property version "1.00"
#property strict
//------- Parametri esterni -----------------------------------------+
extern double delitel_Equity_lots = 1400000; // Divisore per determinare il lotto di lavoro.
extern double schag = 2; // passo di apertura dell'ordine pendente dal prezzo corrente
extern double v_util = 50;// distanza dal prezzo corrente agli ordini pendenti cancellati
extern int StopLoss = 10000;
extern int TakeProfit = 5;
extern int MagicBuy = 1111111; // MagicNumber per ordini BUY
extern int MagicSell = 2222222; // MagicNumber for SELL orders
// //+------------------------------------------------------------------+
void OnTick()
{double Lots = NormalizeDouble(AccountBalance()/delitel_Equity_lots, 2); // Position volume.
OrderSend(Symbol(),OP_BUYSTOP,Lots,NormalizeDouble(Ask+schag*_Point,_Digits) ,0,NormalizeDouble(Ask-(StopLoss-schag)*_Point,_Digits),
NormalizeDouble(Ask+(TakeProfit+schag)*_Point,_Digits),MagicBuy); // Open BuyStop
Print (GetLastError()); // Messaggio di errore
OrderSend(Symbol(),OP_SELLSTOP,Lots,NormalizeDouble(Bid-schag*_Point,_Digits),0,NormalizeDouble(Bid+(StopLoss-schag)*_Point,_Digits),
NormalizeDouble(Bid-(TakeProfit+schag)*_Point,_Digits),MagicSell;)// Aprire SellStop
Print (GetLastError()); // Messaggio di errore
}
//+------------------------------------------------------------------+
Tutto è semplice, nessuna complicazione. Capisco che si debba pagare per ogni sorta di espedienti, nessuno inventerà super strategie e super codici gratis. Voglio testare il lavoro in questa direzione per ora e chiedere di fare una semplice rimozione, niente di più...l'unica cosa è, se non è troppo lungo e non troppo difficile, si potrebbe aggiungere un parametro - la distanza tra il tappo, allora sarebbe perfetto. Ma capisco che tutto questo lavoro e tempo...quindi almeno la rimozione. Grazie!
Questo è quello che abbiamo ottenuto. Spero che questo aiuti a testare il funzionamento.
Si prega di consigliare, e più 10 qui:
double minOpenPriceBuy = 1e+10;
double maxOpenPriceBuy = 0;
double minOpenPriceSell = 1e+10;
double maxOpenPriceSell = 0;
, questo è il dieci che extern int delta = 10;
No, è una forma diversa di scrivere il numero 10000000000, quindi non devi scriverlo in quel modo
...