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
Molte grazie!!! cockeyedcowboy, è stato davvero fantastico!
Ora il messaggio di errore è sparito!
Ma il 2° indicatore non viene disegnato e non so perché
Buffer_Ma=iMAOnArray(Buffer_Mom,0,Periode_MA_Momentum,0,MODE_SMA,i);
Avete un problema con il secondo buffer perché non ha dati per i calcoli.
Prova a calcolare TUTTI gli elementi in Buffer_Mom, poi in Buffer_Ma.
Esempio:
{
int counted_bars=IndicatorCounted();
int limit=Bars-counted_bars;
if(counted_bars>0) limit++;
for(int i=0; i<limit; i++)
{
Buffer_Mom=iMomentum(NULL,Timeframe_Momentum,Periode_Momentum,PRICE_CLOSE,i);
}
for( i=0; i<limit; i++)
{
Buffer_Ma=iMAOnArray(Buffer_Mom,0,Periode_MA_Momentum,0,MODE_SMA,i);
}
return(0);
}Buona fortuna.
Trovare l'OHLC di una barra specifica
Qualcuno può dirmi come faccio a trovare il prezzo di chiusura di una barra specifica usando il codice MQL? Posso fare riferimento a una barra in base alla sua ora?
Cioè: closing_price_of_bar = Close("04:59:00 AM") ... se solo fosse così facile!
Grazie, grazie...
Salve gente!
ok ho un altro grande problema...
come codificare questa condizione:
entrare long o short solo la prima volta
(quindi se ho molti segnali long che seguono l'ea entra solo la prima volta)
pagherò chiunque possa aiutarmi su questo
Questo è il mio semplice codice per la condizione di acquisto:
//Buy
if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
if(!IsTrade) {
//Check free margin
if (AccountFreeMargin() < (1000 * Lots)) {
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
if (UseStopLoss) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0;
if (UseTakeProfit) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0;
Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue);
if(Ticket > 0) {
if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
Print("BUY order opened : ", OrderOpenPrice());
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy");
} else {
Print("Error opening BUY order : ", GetLastError());
}
}
if (EachTickMode) TickCheck = True;
if (!EachTickMode) BarCount = Bars;
return(0);
}
}Qualcuno può dirmi come faccio a trovare il prezzo di chiusura di una specifica barra usando il codice MQL? Posso fare riferimento a una barra in base alla sua ora?
cioè: closing_price_of_bar = Close("04:59:00 AM") ... se solo fosse così facile!
Grazie a tuttiProvate questo:
closing_price_of_bar = iClose(Symbol(),PERIOD_M1,iBarShift(Symbol(),PERIOD_M1,StrToTime("04:59"));
Comprare o vendere
Ciao a tutti,
Ho il Buy EA e il Sell EA che sono sempre aperti in più di una posizione. Vorrei ricevere un aiuto su come cambiare o modificare il codice che permette solo 1(una) posizione di acquisto e 1(una) posizione di vendita e in 1(un) conto.
Lo SL e il TP useranno il Price Target, cioè se il prezzo di acquisto ha raggiunto il Price Target, si chiuderà la posizione. Lo stesso vale per il prezzo di vendita.
Apprezzo l'aiuto degli esperti di codice di questo forum.
Grazie.
=s21=
Comprare e vendere
Oooops...
Ecco l'EA di acquisto.
Ciao, se hai bisogno di avere un solo ordine aperto, puoi semplicemente aggiungere la prossima condizione: If (OrdersTotal()==0).
Quindi le tue regole per gli ordini BUY saranno qualcosa del genere:
if (Order == SIGNAL_BUY && (OrdersTotal==0) && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))
[/CODE]
So you will not get second-third-... orders opened until you current order open.
hy folks !
ok i have another big problem...
how to code this condition :
enter long or short only first time
(so if i have many following long signal ea enter only at first time)
i'll pay everyone could help me on this
this is my simple code for buy condition:
[CODE]
//Buy
if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
if(!IsTrade) {
//Check free margin
if (AccountFreeMargin() < (1000 * Lots)) {
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
if (UseStopLoss) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0;
if (UseTakeProfit) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0;
Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue);
if(Ticket > 0) {
if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
Print("BUY order opened : ", OrderOpenPrice());
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy");
} else {
Print("Error opening BUY order : ", GetLastError());
}
}
if (EachTickMode) TickCheck = True;
if (!EachTickMode) BarCount = Bars;
return(0);
}
}Provate questo: closing_price_of_bar = iClose(Symbol(),PERIOD_M1,iBarShift(Symbol(),PERIOD_M1,StrToTime("04:59"));
Fab! Ho dovuto aggiungere 1 parentesi di chiusura in più per evitare che l'interprete si lamentasse di un errore, ma ha funzionato benissimo.
Grazie, Roger09
Ciao, se hai bisogno di avere un solo ordine aperto, puoi semplicemente aggiungere la prossima condizione: If (OrdersTotal()==0).
Quindi le vostre regole per gli ordini BUY saranno qualcosa del genere:
if (Order == SIGNAL_BUY && (OrdersTotal==0) && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))
grazie Avalanche,
ma non è una soluzione per me, perché ho un TP, non aspetto fino a condizione opposta
Altre idee? PM me ti pagherò