[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 828

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
Non esattamente - per un ordine Stop, il prezzo di apertura potrebbe essere, per esempio nel caso di Buy,
massimo di un frattale precedente (=OpenPrice) + Spread
(a condizione che l'Ask sia inferiore al frattale per lo Stop_Level o più). Cioè, l'ordine non è posto sull'Ask, ma su qualche condizione "esterna".
Ma più precisamente vorrei sapere come contabilizzare lo spread in TakeProfit e StopLoss:
- Nel caso di Buy:
OrderSend(Symbol (), OP_BUYSTOP, Lotti, OpenPrice+Spread, Slippage, OpenPrice-StopLoss, OpenPrice+TakeProfit+Spread, ...)
- Vendere:
- Corretto o mi manca qualcosa?
E la differenza tra Asc e Bid è lo spread... È così che facciamo...
Devo premere "rispondi" per scrivere un messaggio? Come posso aggiungere un messaggio a una discussione senza premere "rispondi"?
Nella parte inferiore della finestra dell'editor e il pulsante "Aggiungi commento
Leggo e cerco di capire, ma mi imbatto in abbreviazioni e parole incomprensibili. TK, TF, flotsam, ecc.
C'è qualcosa come un dizionario delle abbreviazioni di base, delle parole poco comprese?
Un uomo saggio una volta disse: "Dai una definizione precisa ad ogni parola e libererai l'umanità dalla metà delle sue idee sbagliate!"
Ai prezzi attuali, non è un ordine pendente, quindi:
Comprate:
Vendere:
Per gli ordini pendenti - dipende dal programmatore, su quali prezzi viene tenuto il conto.
In ogni caso StopLoss e TakeProfit sono conteggiati a partire da un prezzo, e OpenPrice differisce da esso (il prezzo) di uno spread.
Ciao, sono nuovo di MQL4 e della programmazione in generale, quindi ho questa domanda:
Ho scritto del codice che entro una certa ora, diciamo le 21.15, chiude tutte le posizioni aperte da 0 a 3 nella lista:
if((TimeHour(TimeCurrent()) == MyHour)&&(TimeMinute(TimeCurrent())== MyMinute))
{
for(int j=0;j<4;j++)
{
if((OrderSelect(j,SELECT_BY_POS,MODE_TRADES)==true))
{
Print("Order:",OrderTicket());
OrderClose(OrderTicket(),MyLots,Bid,5,color3);
}
else
Print("OrderSelect() vernul oshibku - ",GetLastError());
}
Sul tester succede quanto segue: gli ordini 0 e 1 vengono chiusi all'ora specificata, e gli ordini 2 e 3 vengono chiusi alla stessa ora, ma un giorno dopo.
Ho anche scritto una sezione di codice che modifica lo stop loss per tutti gli ordini da 0 a 3 nella lista:
if(Diff2 <= 0.0012)
{
int pos1;
int total = OrdersTotal();
for(pos1=0; pos<total; pos1++)
{
if(OrderSelect(pos1,SELECT_BY_POS,MODE_TRADES)==true)
{
Print("Order1:",OrderTicket());
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),Ask-Point*TakeProfit,0,color3);
}
else
Print("OrderSelect() vernul oshibku - ",GetLastError());
}
}
Sul tester, succede quanto segue: nella scheda "Risultato", il tester scrive tutti gli ordini, poi si blocca e il
"OrderSelect() vernul oshibku - 0".
Per favore consigliate cosa c'è di sbagliato qui o quale può essere la ragione di questo comportamento?
chief2000:
Voglio solo chiarire una domanda - si tratta di aprire un ordine Stop. ...Grazie a tutti voi!
>>Ho scritto un codice che chiude tutte le posizioni aperte da 0 a 3 nella lista entro una certa ora, diciamo le 21.15:
>>Sul tester succede quanto segue: gli ordini 0 e 1 vengono chiusi all'ora specificata, e gli ordini 2 e 3 vengono chiusi alla stessa ora, ma 24 ore dopo.
OrderClose() chiude solo gli ordini aperti. OrderDelete() è usato per cancellare gli ordini in sospeso. Gli altri due ordini devono essere in sospeso. Dopo un giorno vengono aperti e poi chiusi OrderClose()?
>>La sezione di codice che modifica uno stop loss per tutti gli ordini da 0 a 3 è anche scritta
for(pos1=0; pos<total; pos1++)
Для "pos1" в условии цикла пропустил единицу:
for(pos1=0; pos1<total; pos1++)