[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 424
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
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; // tipo di variabili, tipo di ordine, 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: - rimuovere
{
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 - gli ordini pendenti non possono essere piazzati da Ask o Bid
NormalizeDouble(Ask + Max_Price - Min_Price,Digits), "UPDD",Magic,Blue);
se (Bid>Max_Price)
Comment("L'ordine in sospeso non può essere piazzato su Bid");
if (Bid>Min_Price) OrderSend(Symbol(),OP_SELLSTOP,LOT,Bid,3,Min_Price, //condizioni per piazzare un ordine pendente SELL - stesso
NormalizeDouble(Ask + Max_Price-Min_Price,Digits), "UPDD",Magic,Blue);
if (Bid<Max_Price) - ci deve essere un errore qui
Comment("L'ordine in sospeso non può essere piazzato su SELL");
}
} - aggiungere
ritorno;
}
Non riesco a compilarlo. In realtà, dovrebbe piazzare due ordini pendenti su e giù dalla gamma.
Se sei esperto, potresti dirci come impostare il tempo di esistenza dell'ordine pendente alle 23.59, cioè se l'ordine è piazzato da un EA, esisterebbe fino alle 23.59 del giorno corrente
Grazie mille! Puoi dirmi quanti EAs possono lavorare in un terminale, ho aperto 5 grafici EURUSD, ho lanciato 5 diversi EAs su di essi, ma il giornale mostra solo il primo che lavora...anche se tutte le mie facce stanno sorridendo
Qual è il modo più intelligente per fare una MM, alla condizione di 0,1 lotto per ogni 1000 di saldo.
Cosa è più ragionevole usare, AccountBalance o AccountEquity?
Buon pomeriggio,
C'è un comando che potrebbe essere aggiunto allo script (il cui codice è "OrderSend(Symbol(),OP_BUYSTOP...") per far eseguire lo script su tutti i grafici aperti?
Qual è il modo più intelligente per fare una MM, alla condizione di 0,1 lotto per ogni 1000 di saldo.
Cosa è più ragionevole usare, AccountBalance o AccountEquity?
Non fa differenza. Se aprite un solo ordine, sono uguali al momento dell'apertura, ma se ne avete molti, una formula non è sufficiente.
Grazie mille! Puoi dirmi quanti EAs possono lavorare in un terminale, ho aperto 5 grafici EURUSD, ho lanciato 5 diversi EAs su di essi, ma il giornale mostra solo il primo che lavora...anche se tutte le mie facce stanno sorridendo
Su diverse coppie di valute funzionerà, anche se si tratta dello stesso Expert Advisor. In un grafico, solo uno funzionerà. Ma su diversi grafici della stessa coppia di valute non so nemmeno.....
Non fa differenza, se aprite un solo ordine, sono uguali al momento dell'apertura, e se ne avete molti, allora una formula non è sufficiente.
Stavo solo pensando che se ho già diversi ordini aperti e sono in drawdown, allora il lotto dovrebbe essere calcolato con il capitale, altrimenti se lo si calcola con il saldo, allora il lotto potrebbe essere troppo grande e non abbastanza denaro per aprire.
Per favore, mostratemi un esempio di calcolo come questo per un deposito di 1000 lotti di 0,1 lotti.