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

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
Buona giornata a tutti. L'idea è di piazzare un ordine pendente nella direzione opposta per ogni ordine di mercato aperto (cioè take profit e stop loss) quando lo stop loss scatta (se ordine di acquisto, allora invia ordine pendente). Non riesco a trovare nessuna sequenza di sintassi per scrivere uno script che cancelli l'ordine pendente quando quello corrente chiude su take profit? Forse c'è uno script scritto tra quelli gratuiti, ma la ricerca non ha successo ( . Vorrei scriverne uno io stesso per poterlo trattare, ma non riesco a capire la sequenza di sintassi. Lasciatemi spiegare su un altro esempio - voglio un gelato - la sequenza della sintassi - 1) - scendere dal divano 2) vestirsi 3) andare al negozio 4) comprare il gelato. È possibile fare lo stesso per il mio compito?
quando il corrente è chiuso, il numero di ordini di acquisto diminuirà, o saranno assenti del tutto (dipende dall'algoritmo), si fa questo controllo e si cancellano gli ordini pendenti
qualcosa del genere (in questo caso, al contrario, gli ordini pendenti vengono cancellati se un acquisto precedente ha chiuso in profitto):
Quindi questo è corretto?
se (OrderOpenTime()+7200+15*60 <=TimeCurrent()) Cls_Buy=true;
se (OrderOpenTime()+7200+900 <=TimeCurrent()) Cls_Buy=true;
e finire così?
se (OrderOpenTime()+8100 <=TimeCurrent()) Cls_Buy=true;
quando il corrente è chiuso, il numero di ordini di acquisto diminuirà, o saranno assenti del tutto (dipende dall'algoritmo), si fa questo controllo e si cancellano gli ordini pendenti
qualcosa del genere (in questo caso, al contrario, gli ordini pendenti vengono cancellati se un acquisto precedente ha chiuso in profitto):
Se questo accade - aumento lo Stop Loss alla dimensione richiesta. Non imposto la soglia, ma la lascio virtuale nel programma e apro un ordine. Come risultato, si apre solo uno dei 15-20 ordini. Cosa devo fare per aprire ogni ordine?
RefreshRates();
double bid = MarketInfo(symbol,MODE_BID);double ask = MarketInfo(symbol,MODE_ASK);
double stoplevel = NormalizeDouble(stoplevelTemp * tickTemp,digitsTemp)+tickTemp;
if(digitsTemp == 5 )stoplevel+=(700 * tickTemp);
if(spreadOrdDangBr < stoplevel) //если спред меньше стоплевела - перебиваем
spreadOrdDangBr=stoplevel;
double lotDB = calculationLot(spreadOrdDangBr,0.0025); //расчитываем лот - четверть процента свободных денег
slODB=ask-spreadOrdDangBr;
tpODB= ask+ spreadOrdDangBr;
orderTicketODB=OrderSend(symbol,OP_BUY,lotDB,ask,3,slODB,0,("dangBr" +spreadOrdDangBr));
e come risultato nel terminale
Aiuto, per favore! Voglio aprire una posizione Buy, e se il prezzo sale del 100
pips, il mio stop loss diventerà uguale a zero rispetto allo stop loss precedente.
Lo sto facendo correttamente?
se(Bid-OrderOpenPrice()>Point*100)
{
OrderModify(OrderTicket(),OrderOpenPrice(), 0,TakeProfit,0,);
ritorno(0);
}
Grazie!
Ciao a tutti) come determinare il prezzo massimo di una barra selezionata (ad esempio 100°)
Ho trovato una funzione che definisce il prezzo massimo e minimo per 100 barre e disegna linee orizzontali (per favore aiutatemi a far passare le prime 15 barre e solo dopo controllare per 100 (come faccio a fare questo spostamento?) e un altro problema con le linee - disegna solo 1 volta - cioè - se andiamo altri 100 punti con nuovi massimi e minimi - le linee non vengono disegnate) qualcuno sa per favore scrivere - ecco il codice
extern inttern Quant_Bars=100; // Numero di barre
//--------------------------------------------------------------------
int start() // Funzione speciale start
{
int i; // numero della barra
double Minimum=Bid; // Prezzo minimo
Maximum=Bid; // Prezzo massimo
for(i=0;i<=Quant_Bars-1;i++) // Da zero (!) a
{ // ...Quant_Bars-1 (!)
if (Low[i]<Minimum) // Se < noto
Minimum=Low[i]; // questo sarà il Min
se (Alto[i]> Massimo) // se > noto
Maximum=High[i]; // sarà il massimo.
}
Alert("Per l'ultimo ",Quant_Bars, // Visualizzazione
"Min= ",Minimo," Max= ",Massimo);
double linia1=ObjectCreate("highLine",OBJ_HLINE,0,0,0,Maximum);
double linia2=ObjectCreate("lowLine",OBJ_HLINE,0,0,Minimum);
return(0); //exit start()
}