Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 512
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
se ((hi-low)<=max_koridor_v_punktah)
{
int buy = OrderSend(Symbol(), OP_BUYSTOP, LotBuy, OpenBuy, 0, StopLossBuy, 0);//aprire ordine Buy.
se (comprare>0)
{
Alert ("L'ordine BuyStop è stato impostato ",buy);
}
int sell= OrderSend(Symbol(), OP_SELLSTOP, LotSell, OpenSell, 0, StopLossSell, 0);//aprire ordine Sell.
se (vendere>0)
{
Alert ("SellStop order set ",sell);
}
if (DayOfWeek()==5 && Hour()==22) //cancella gli ordini pendenti e aperti il venerdì alle 23:00 ora del server
{
se (OrderSelect(sell,SELECT_BY_TICKET)==true)
{
OrderClose(sell,OrderLots(),Bid,3,Green);//(Ticket,lot,Close price, slippage in pips, colore della freccia di chiusura sul grafico) { Chiudi l'ordine di mercato per vendere.
OrderDelete(sell);//chiude il limite di vendita.
}
se (OrderSelect(buy,SELECT_BY_TICKET)==true)
{
OrderClose(buy,OrderLots(),Ask,3,Red);//(Ticket,lot,close price,slippage in punti,colore della freccia di chiusura sul grafico)/close market order to buy.
OrderDelete(buy);//chiude il limite di acquisto.
ritorno(0);
}
}
}
Chi può dirmi perché non chiude gli ordini e non cancella i limiti?
Chiudi l'ordine di acquisto al prezzo Bid, vendi al prezzo Ask.
Chiudi l'ordine di acquisto al prezzo Bid, vendi al prezzo Ask.
Semplice condizione nella funzione init
Metalli, scorte e materie prime non contano.
Grazie. Potete dirmi il modo più semplice. Ho bisogno di capire se ci sono posizioni aperte su questa coppia o no. Se ci sono ordini di vendita e se ci sono ordini di acquisto. Significa che dobbiamo ottenere
0 - se non ci sono ordini aperti
1-Ho ordini di vendita ma nessun ordine di acquisto.
2-ci sono ordini di acquisto ma nessun ordine di vendita
3-ci sono entrambi...
https://docs.mql4.com/ru/series
if(DayOfWeek()==1,2..... && Ora()==1,2....)
{
double hi=iHigh(NULL,0,iBarShift(NULL,0,iTime(NULL,PERIOD_D1,0));//define high
double low=iLow(NULL,0,iBarShift(NULL,0,iTime(NULL,PERIOD_D1,0));//definire low.
/////////////////////////////////////////////////////////////////////////////////////////////////
double op=iOpen(NULL,0,iBarShift(NULL,0,iTime(NULL,PERIOD_D1,0));//definire apertura.
Grazie!
Grazie. Potete dirmi il modo più semplice. Ho bisogno di capire se ci sono posizioni aperte su questa coppia o no. Se ci sono ordini di vendita e se ci sono ordini di acquisto. Significa che dobbiamo ottenere
0 - se non ci sono ordini aperti
1-Ho ordini di vendita ma nessun ordine di acquisto.
2-ci sono ordini di acquisto ma nessun ordine di vendita
3-ci sono entrambi.
Per esempio così:
int i_buy=0;
int i_sell=0;
//--- получим количество открытых и отложенных ордеров
int total=OrdersTotal();
for(int i=0;i<total;i++)
{
//--- выберем i-й ордер из списка торговли
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
//--- если ордер открыт по текущему финансовому инструменту
if(OrderSymbol()==Symbol())
{
switch(OrderType())
{
//--- Бай ордер
case OP_BUY:
i_buy++;
break;
//--- Селл ордер
case OP_SELL:
i_sell++;
break;
case OP_BUYSTOP:
case OP_BUYLIMIT:
case OP_SELLSTOP:
case OP_SELLLIMIT:
//--- пробойники, лимитники
break;
}
}
}
}
if(i_buy==0 && i_sell==0)
{
//--- нет открытых ордеров
}
if(i_buy>0 && i_sell==0)
{
//--- открыты баи
}
if(i_buy==0 && i_sell>0)
{
//--- открыты селы
}
if(i_buy>0 && i_sell>0)
{
//--- открыты и баи и селы
}
Per esempio, così:
Grazie mille. La mia comprensione è che l'asc è il prezzo attuale. Apro un ordine quando non ci sono ordini aperti. Il ciclo va dal primo all'ultimo ordine aperto? Come posso trasmettere in una variabile il lotto dell'ultimo ordine aperto e il suo prezzo?
Grazie mille. La mia comprensione è che l'asc è il prezzo attuale. Apro un ordine quando non ci sono ordini aperti. Il ciclo va dal primo all'ultimo ordine aperto? Come posso impostare il lotto dell'ultimo ordine aperto e il suo prezzo in una variabile?
https://docs.mql4.com/ru/trading/orderselecthttps://docs.mql4.com/ru/trading/orderopenprice https://docs.mql4.com/ru/trading/orderlots
doppio z; //dichiarare una variabile "z".
double y; //dichiarare la variabile "y"
if(OrderSelect(10,SELECT_BY_POS)==true) //se l'ordine (per biglietto) è già selezionato
{
OrderLots()=z //assegnare il lotto di questo ordine alla variabile "z
OrderOpenPrice()=y //assegnare il prezzo aperto alla variabile "y
}
prova questo
https://docs.mql4.com/ru/trading/orderselecthttps://docs.mql4.com/ru/trading/orderopenprice https://docs.mql4.com/ru/trading/orderlots
double z; //dichiarare la variabile "z"
double y; //dichiarare la variabile "y"
if(OrderSelect(10,SELECT_BY_POS)==true) //se l'ordine (per biglietto) è già selezionato
{
OrderLots()=z //assegnare il lotto di questo ordine alla variabile "z
OrderOpenPrice()=y //assegnare il prezzo aperto alla variabile "y
}
prova questo
y = OrderOpenPrice();
Oops, ho capito, ma non capisco. if((i_buy==0 && i_sell==0) || y > Step). Dovrebbe aprire un altro ordine se la distanza dall'ultimo ordine aperto è più di 5 pip. Ma non funziona, domanda.
for(int i=0;i<totale;i++) Va dal primo ordine aperto all'ultimo? Cioè, alla fine dovrei ottenere il prezzo dell'ultimo ordine aperto.
y = OrderOpenPrice();
Non capisco if((i_buy==0 && i_sell==0) || y > Step). Dovrebbe aprire un altro ordine se la distanza dall'ultimo ordine aperto è più di 5 pip. Ma non funziona, domanda.
for(int i=0;i<totale;i++) Va dal primo ordine aperto all'ultimo? In altreparole, dovrei ottenere il prezzo dell'ultimo ordine aperto.
Non lo so, non l'ho mai incontrato.
Salve. Ho visto un post su https://forum.mql4.com/ru/51490/page2 dove c'è uno script che apre la finestra delle impostazioni EA:
Questo porta alla finestra delle impostazioni EA:
È possibile fare in modo che lo script apra la finestra delle impostazioni EA a intervalli di 1 secondo e confermi immediatamente (premere il pulsante ok) e così via?