if(iTime(NULL,PERIOD_D1,i+1)!=iTime(NULL,PERIOD_D1,i)&& come posso scrivere questo? )
È necessario estrarre la data da time[i] e confrontarla con time[i+1]. Se non sono uguali, allora estrai il tempo da time[i] e confrontalo con il tempo dato. Se sono uguali, mettete una linea.
Vi ho mostrato come estrarre tutto questo nello script. Non resta che pensarci.
È necessario estrarre la data da time[i] e confrontarla con time[i+1]. Se non è uguale, estrae il tempo da time[i] e lo confronta con il tempo dato. Se sono uguali, tracciate una linea.
Come si estrae il tutto - l'ho mostrato nello script. Non resta che pensarci.
Venerdì sera, pensando male) Non si costruisce niente. Perché?
Domanda stupida ma comunque, per favore aiutatemi)
Sono entrato in un trade ad un certo prezzo, io sempre lungo) E confronto ilprezzo del trade con l'offerta attuale, se siamo aumentati dello 0,5% chiudo.Maledetto all'offerta(((
if(MA1_buf[1]>Close_buf[1] && MA1_buf[0]<Close_buf[0]) //если значение индикатора были выше цены закрытия и стали ниже
{
if(m_Position.Select(my_symbol)) //если уже существует позиция по этому символу
{
if((m_Position.PositionType()==POSITION_TYPE_BUY) && (fabs(DEAL_PRICE-Bid[0])/DEAL_PRICE)>= 0.005) m_Trade.PositionClose(my_symbol); //и тип этой позиции Buy, то закрываем ееreturn;
}
m_Trade.Buy(0.1,my_symbol); //если дошли сюда, значит позиции нет, открываем ее
}
Sono entrato in un trade ad un certo prezzo, sono sempre longing)E confronto il prezzo del trade con l'offerta attuale, se siamo saliti dello 0,5% chiudo.Giura al bid(((
Probabilmente perché questo è MQL5. Non c'è nessuna "offerta" qui maSymbolInfoDouble(_Symbol, SYMBOL_BID)
Domanda stupida ma comunque, per favore aiutatemi)
Sono entrato in un trade ad un certo prezzo, sempre long) E confronto ilprezzo del trade con l'offerta attuale, se siamo saliti dello 0,5% chiudo.Giura al bid(((
Hai ragione a giurare. Non c'è una tale matrice con i prezzi delle offerte in MQL5.
Sostituiscilo con
m_symbol.Bid()
e prima del ciclo non dimenticare di aggiornare i prezzi:
E ha ragione di giurare. Non c'è una tale matrice con i prezzi delle offerte in MQL5.
Sostituiscilo con
e prima del ciclo non dimenticare di aggiornare i prezzi:
L'ho fatto in due modi diversi:
1) Expert Advisor funziona, ma purtroppo non mi dà l'idea. È semplice, compro quando la candela precedente ha chiuso sotto e quella successiva ha chiuso sopra. E chiudo solo se il prezzo è aumentato dello 0,5%.
Fa strani accordi(((
if(MA1_buf[1]>Close_buf[1] && MA1_buf[0]<Close_buf[0]) //если значение индикатора были выше цены закрытия и стали ниже
{
if(m_Position.Select(my_symbol)) //если уже существует позиция по этому символу
{
if((m_Position.PositionType()==POSITION_TYPE_BUY) && (SymbolInfoDouble(_Symbol,SYMBOL_BID)-DEAL_PRICE)/DEAL_PRICE>= 0.005) m_Trade.PositionClose(my_symbol); //и тип этой позиции Buy, то закрываем ееreturn;
}
m_Trade.Buy(0.1,my_symbol); //если дошли сюда, значит позиции нет, открываем ее
}
2) Il mio metodo è il seguente:
if(!RefreshRates())
return;
if(MA1_buf[1]>Close_buf[1] && MA1_buf[0]<Close_buf[0]) //если значение индикатора были выше цены закрытия и стали ниже
{
if(m_Position.Select(my_symbol)) //если уже существует позиция по этому символу
{
if((m_Position.PositionType()==POSITION_TYPE_BUY) && (m_symbol.Bid())-DEAL_PRICE)/DEAL_PRICE>= 0.005) m_Trade.PositionClose(my_symbol); //и тип этой позиции Buy, то закрываем ееreturn;
}
m_Trade.Buy(0.1,my_symbol); //если дошли сюда, значит позиции нет, открываем ее
}
1) L'Expert Advisor funziona, ma purtroppo non implementa l'idea. È semplice, compro quando la candela precedente chiude più in basso e quella successiva chiude più in alto. E chiudo solo se il prezzo sale dello 0,5%.
Fa strani accordi(((
2) Il mio metodo è il seguente:
Penso di aver fatto un casino((((.
Dà un errore:
Aprite qualsiasi mio codice e vedrete sia m_symbol che RefreshRates.
Aprite qualsiasi mio codice e vedrete sia m_symbol che RefreshRates.
Grazie. L'ho letto e l'ho fatto.
Ora non riesco a capire perché l'algoritmo non funziona.
if(!RefreshRates())
return;
1) if(MA1_buf[1]>Close_buf[1] && MA1_buf[0]<Close_buf[0]) //если значение индикатора были выше цены закрытия и стали ниже
{
2) if(m_Position.Select(Symbol())) //если уже существует позиция по этому символу
{
return;
}
2*) m_Trade.Buy(0.1,Symbol()); //если дошли сюда, значит позиции нет, открываем ее
}
3) if
((m_Position.PositionType()==POSITION_TYPE_BUY) && (((m_symbol.Bid()-DEAL_PRICE)/DEAL_PRICE)>= 0.1))
{
m_Trade.PositionClose(Symbol()); //и тип этой позиции Buy, то закрываем ее
}
Quello che succede è il seguente: l'acquisto è fatto sotto la condizione
1) Se la condizione è soddisfatta;
2) Controllo se c'è già una posizione aperta, se c'è, vado al punto 3), se no, apro una 2*)
3) Se la posizione è buy, e la condizione è soddisfatta che il prezzo è aumentato del 10% dal prezzo di entrata, allora la chiudo.
Nel test, succede quanto segue, la posizione si apre e si chiude, non sulle condizioni (( Di nuovo, per favore aiutatemi!
Ora non riesco a capire perché l'algoritmo non funziona.
Quello che succede è il seguente: l'acquisto è fatto sotto la condizione
1) Se la condizione è soddisfatta;
2) Controllo se c'è già una posizione aperta, se c'è, vado al punto 3), se no, apro una 2*)
3) Se la posizione è buy, e la condizione è soddisfatta che il prezzo è aumentato del 10% dal prezzo di entrata, allora la chiudo.
Durante i test succede quanto segue, la posizione si apre e si chiude, non sulle condizioni (( Di nuovo, per favore aiutatemi!
Propongo il seguente algoritmo:
if(!RefreshRates())
return;
if(MA1_buf[1]>Close_buf[1] && MA1_buf[0]<Close_buf[0]) //если значение индикатора были выше цены закрытия и стали ниже
{
if(m_Position.Select(Symbol())) //если уже существует позиция по этому символу
{
if(m_Position.PositionType()==POSITION_TYPE_BUY && (m_symbol.Bid()-m_Position.PriceOpen())/m_Position.PriceOpen()>=0.1)
{
m_Trade.PositionClose(Symbol()); //и тип этой позиции Buy, то закрываем ееreturn;
}
}
else
m_Trade.Buy(0.1,Symbol()); //если дошли сюда, значит позиции нет, открываем ее
}
if(iTime(NULL,PERIOD_D1,i+1)!=iTime(NULL,PERIOD_D1,i)&& come posso scrivere questo? )
È necessario estrarre la data da time[i] e confrontarla con time[i+1]. Se non sono uguali, allora estrai il tempo da time[i] e confrontalo con il tempo dato. Se sono uguali, mettete una linea.
Vi ho mostrato come estrarre tutto questo nello script. Non resta che pensarci.
È necessario estrarre la data da time[i] e confrontarla con time[i+1]. Se non è uguale, estrae il tempo da time[i] e lo confronta con il tempo dato. Se sono uguali, tracciate una linea.
Come si estrae il tutto - l'ho mostrato nello script. Non resta che pensarci.
Venerdì sera, pensando male) Non si costruisce niente. Perché?
poi estrarre il tempo da time[i] e confrontarlo con il tempo impostato.
Probabilmente time[i+1], ho bisogno di mettere la linea al giorno precedente dopo la chiusura del giorno.
Salve.
Domanda stupida ma comunque, per favore aiutatemi)
Sono entrato in un trade ad un certo prezzo, io sempre lungo) E confronto il prezzo del trade con l'offerta attuale, se siamo aumentati dello 0,5% chiudo.Maledetto all'offerta(((
Sono entrato in un trade ad un certo prezzo, sono sempre longing)E confronto il prezzo del trade con l'offerta attuale, se siamo saliti dello 0,5% chiudo.Giura al bid(((
Probabilmente perché questo è MQL5. Non c'è nessuna "offerta" qui maSymbolInfoDouble(_Symbol, SYMBOL_BID)
Salve.
Domanda stupida ma comunque, per favore aiutatemi)
Sono entrato in un trade ad un certo prezzo, sempre long) E confronto il prezzo del trade con l'offerta attuale, se siamo saliti dello 0,5% chiudo.Giura al bid(((
Hai ragione a giurare. Non c'è una tale matrice con i prezzi delle offerte in MQL5.
Sostituiscilo con
m_symbol.Bid()e prima del ciclo non dimenticare di aggiornare i prezzi:
E ha ragione di giurare. Non c'è una tale matrice con i prezzi delle offerte in MQL5.
Sostituiscilo con
e prima del ciclo non dimenticare di aggiornare i prezzi:
L'ho fatto in due modi diversi:
1) Expert Advisor funziona, ma purtroppo non mi dà l'idea. È semplice, compro quando la candela precedente ha chiuso sotto e quella successiva ha chiuso sopra. E chiudo solo se il prezzo è aumentato dello 0,5%.
Fa strani accordi(((
2) Il mio metodo è il seguente:
Penso di aver fatto un casino((((.
Genera un errore:
L'ha fatto in due modi diversi:
1) L'Expert Advisor funziona, ma purtroppo non implementa l'idea. È semplice, compro quando la candela precedente chiude più in basso e quella successiva chiude più in alto. E chiudo solo se il prezzo sale dello 0,5%.
Fa strani accordi(((
2) Il mio metodo è il seguente:
Penso di aver fatto un casino((((.
Dà un errore:
Aprite qualsiasi mio codice e vedrete sia m_symbol che RefreshRates.
Aprite qualsiasi mio codice e vedrete sia m_symbol che RefreshRates.
Grazie. L'ho letto e l'ho fatto.
Ora non riesco a capire perché l'algoritmo non funziona.
Quello che succede è il seguente: l'acquisto è fatto sotto la condizione
1) Se la condizione è soddisfatta;
2) Controllo se c'è già una posizione aperta, se c'è, vado al punto 3), se no, apro una 2*)
3) Se la posizione è buy, e la condizione è soddisfatta che il prezzo è aumentato del 10% dal prezzo di entrata, allora la chiudo.
Nel test, succede quanto segue, la posizione si apre e si chiude, non sulle condizioni (( Di nuovo, per favore aiutatemi!
Grazie. Ho fatto la lettura.
Ora non riesco a capire perché l'algoritmo non funziona.
Quello che succede è il seguente: l'acquisto è fatto sotto la condizione
1) Se la condizione è soddisfatta;
2) Controllo se c'è già una posizione aperta, se c'è, vado al punto 3), se no, apro una 2*)
3) Se la posizione è buy, e la condizione è soddisfatta che il prezzo è aumentato del 10% dal prezzo di entrata, allora la chiudo.
Durante i test succede quanto segue, la posizione si apre e si chiude, non sulle condizioni (( Di nuovo, per favore aiutatemi!
Propongo il seguente algoritmo:
Fate attenzione a m_Position.PrezzoAprire()