[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 423
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
bene allora la funzione OrderLots.
Non riesco a capire questa funzione, per favore aiutatemi con un esempio :)
dice "L'ordine deve essere preselezionato utilizzando la funzione OrderSelect()" come faccio a selezionare tutti gli ordini aperti della stessa direzione?
Non riesco a capire questa funzione, per favore aiutatemi con un esempio:)
dice "L'ordine deve essere preselezionato con OrderSelect()" come faccio a selezionare tutti gli ordini aperti della stessa direzione?
Non c'è modo. Solo in un ciclo che passa uno per uno con OrderSelect().
Puoi dirmi se c'è uno script di stop loss che deve essere inserito in questo EA?
Come posso ridurre il numero di cifre decimali senza arrotondare?
(DoubleToStr(NormalizeDouble(0.109,2),2)); = 0.11 e 0.10
Come posso ridurre il numero di cifre decimali senza arrotondare?
(DoubleToStr(NormalizeDouble(0.109,2),2)); = 0.11 e 0.10
Ci sono un milione di modi, come usare le funzioni di stringa per trovare la posizione di un punto e troncare la stringa un carattere oltre. Ma se c'è una soluzione pronta all'uso, già pronta, perché inventarsi dei problemi?
per favore suggerite una soluzione già pronta:)
per favore ditemi se questa è una soluzione già pronta:)
Se non è arrotondato, solo questo :
Reshetov с помощью строковых функций найти местоположение точки и обрезать строку на один символ далее нее
Per favore, aiutatemi a capire cosa c'è che non va:
//+------------------------------------------------------------------+
//| AAAA.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#proprietà copyright ""
#proprietà link ""
extern string TimeStart = "00:00"; //ora di inizio del periodo di controllo
extern string TimeEnd = "00:00"; //timer della fine del periodo di controllo.
extern double LOT = 0.01; // lotto
extern int Magic = 777; // magia
double marga,Lot,SL,TP; // inserito margine, lotto, stop loss e take profit variabili
int Total,Orders,tipOrders,TradeDey; // inserito tipo di variabili, tipo di ordini, giorno di trading.
//+---------------------------------------------------------------------------------------------------------------------------------------+
//| funzione dell'Expert Advisor |
//+---------------------------------------------------------------------------------------------------------------------------------------+
int start() // Funzione di inizializzazione start
{
datetime Time_Start = StrToTime(StringConcatenate(Day(),".",Month(),".",Year()," ",TimeStart, ":00")); // parametri di inizio //
datetime Time_End = StrToTime(StringConcatenate(Day(),".",Month(),".",Year()," ",TimeEnd, ":00")); // parametri finali//
Total=0; // Se non ci sono ordini
for(int i=1; i<=OrdersTotal(); i++) // ciclo degli ordini
{
if (OrderSelect(i-1,SELECT_BY_POS)==false) // Se non ci sono ordini a mercato
{
se //Se:
{
int BarStart = iBarShift(NULL,PERIOD_M1,Time_Start,false); // cerca la barra all'inizio del periodo di controllo su m1
int BarEnd = iBarShift(NULL,PERIOD_M1,Time_End,false); //ricerca la fine della barra del periodo di controllo a m1
double Max_Price=iHigh(NULL,0,iHighest(NULL,PERIOD_M1,MODE_HIGH,BarStart-BarEnd,BarEnd)); //il valore più alto del prezzo nel periodo
double Min_Price=iLow (NULL,0,iLowest (NULL,PERIOD_M1,MODE_LOW,BarStart-BarEnd,BarEnd)); //il valore più basso del prezzo nel periodo
}
if (TimeCurrent()>Time_End && ObjectFind("bar0"+Time_End)==-1) // Impostazioni di visualizzazione grafica
{
ObjectCreate("bar0"+Time_End, OBJ_RECTANGLE, 0, 0,0,0, 0,0);
ObjectSet("bar0"+Time_End, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet ("bar0"+Time_End, OBJPROP_COLOR, Blue);
ObjectSet ("bar0"+Time_End, OBJPROP_BACK, true);
ObjectSet ("bar0"+Time_End, OBJPROP_TIME1,Time_Start);
ObjectSet ("bar0"+Time_End, OBJPROP_PRICE1,Max_Price);
ObjectSet ("bar0"+Time_End, OBJPROP_TIME2,Time_End);
ObjectSet ("bar0"+Time_End, OBJPROP_PRICE2,Min_Price);
}
if (Bid<Max_Price) OrderSend(Symbol(),OP_BUYSTOP,LOT,Ask,3,Min_Price, //condizioni per piazzare un ordine pendente BUY
NormalizeDouble(Ask + Max_Price - Min_Price,Digits), "UPDD",Magic,Blue);
se (Bid>Max_Price)
Comment("L'ordine in sospeso non può essere piazzato su BAY");
if (Bid>Min_Price) OrderSend(Symbol(),OP_SELLSTOP,LOT,Bid,3,Min_Price, //condizioni per piazzare un ordine pendente SELL
NormalizeDouble(Ask + Max_Price-Min_Price,Digits), "UPDD",Magic,Blue);
se (Bid<Max_Price)
Comment("L'ordine in sospeso non può essere piazzato su SELL");
}
ritorno;
}
Non può compilare. altrimenti dovrebbe piazzare due ordini pendenti su e giù dal range.