[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 457
if (Bid > MA1 || Bid < MA2) // Проверка прохода диапазона { Alert("Цена находится за пределами диапазона.");// Сообщение }
то если цена находится выше советник то и дело сигналит. а если я делаю так:
segnalerà perché avete una condizione o ( || )
devi mettere AND ( && ).
// Проверка прохода диапазона с возможным размещением МА друг относительно другаif(Bid> MA1 &&Bid< MA2)||(Bid< MA1 &&Bid> MA2)){
e qui
if (Bid > MA1 && Fact_Up==true) // Controlla il passaggio al rialzo { Fact_Dn=true; // Segnala un prezzo sopra MA1 Fact_Up=false; // Non segnalare il prezzo sotto la MA1 Alert("Il prezzo è sopra l'intervallo.");// Messaggio } //-------------------------------------------------------------------- if (Bid < MA2 && Fact_Dn==true) // Controlla un movimento al ribasso { Fact_Up=true; // Segnala un prezzo sotto MA2 Fact_Dn=false; // Non segnalare un prezzo sopra MA2 Alert("Il prezzo è sotto l'intervallo.");// Messaggio }
L'autore voleva dire che il segnale dovrebbe essere dato solo una volta. E poi la bandiera viene immediatamente reimpostata su False, e fino a quando il prezzo è sotto MA2 il segnale al lato passato non apparirà.
quello che l'autore intendeva dire è che si deve dare il segnale solo una volta. E poi la bandiera viene immediatamente resettata a False e fino a quando il prezzo è inferiore a MA2 il segnale al lato passato non apparirà più.
Grazie per la risposta. l'unica cosa che mi confonde è questa: se(Bid> MA1 &&Bid< MA2)||(Bid< MA1 &&Bid> MA2))
Ho due MA, una (MA1) è tracciata lungo High, l'altra (MA2) lungo Low. Ma qui risulta che la condizione è soddisfatta quando il prezzo è superiore a High e contemporaneamente inferiore a Low se è impostato &&.
Forse mi sto sbagliando, ma la mia lettura di questa linea è: se il prezzo è sopra МА1 e sotto МА2 o sotto МА1 e sopra МА2, allora...
Ora l'ho scritto così:
if (Bid > MA1 && Open < MA1) // Проверка прохода диапазона вверх { Alert("Цена находится выше диапазона.");// Сообщение } else { if (Bid < MA2 && Open > MA2) // Проверка прохода диапазона вниз { Alert("Цена находится ниже диапазона.");// Сообщение } }
In questo caso, non appena la barra aperta all'interno del range incrocia la MA, l'EA dà un segnale, ma continua a darlo ogni volta che arriva un nuovo tick. e cerco di fare in modo che non lo dia sui prossimi tick dopo che il segnale è apparso. (Non giudicare, non sono molto bravo a farlo)
Se voglio ottenere una posizione inversa sul mio conto, invece di vendere - comprare, invece di TP - SL, invece di SL - TP, con scambi in sospeso secondo lo stesso schema, sarò molto grato, ma entro limiti ragionevoli.
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Buon pomeriggio a tutti.
Potete descrivere nel codice come piazzare ordini su un conto di lavoro dal terminale "investitore" in parallelo.
Non dovrei trasferirli manualmente.
Il codice non dovrebbe essere trasferito manualmente.
Добрый день всем.
Вопрос на засыпку.Можно описать в коде, чтобы параллельно выставлялись ордера на рабочем счете, с терминала "инвестор".
Что-бы не переносить в ручную.
Спасибо.
il copiatore di accordi si chiama. ce n'è uno sul sito web nel codebase.if (Bid > MA1 || Bid < MA2) // Проверка прохода диапазона
{
Alert("Цена находится за пределами диапазона.");// Сообщение
}
то если цена находится выше советник то и дело сигналит. а если я делаю так:
segnalerà perché avete una condizione o ( || )
devi mettere AND ( && ).
e qui
if (Bid > MA1 && Fact_Up==true) // Controlla il passaggio al rialzo
{
Fact_Dn=true; // Segnala un prezzo sopra MA1
Fact_Up=false; // Non segnalare il prezzo sotto la MA1
Alert("Il prezzo è sopra l'intervallo.");// Messaggio
}
//--------------------------------------------------------------------
if (Bid < MA2 && Fact_Dn==true) // Controlla un movimento al ribasso
{
Fact_Up=true; // Segnala un prezzo sotto MA2
Fact_Dn=false; // Non segnalare un prezzo sopra MA2
Alert("Il prezzo è sotto l'intervallo.");// Messaggio
}
L'autore voleva dire che il segnale dovrebbe essere dato solo una volta. E poi la bandiera viene immediatamente reimpostata su False, e fino a quando il prezzo è sotto MA2 il segnale al lato passato non apparirà.
копировщик сделок назвывается. на сайте в кодебазе есть.Grazie.
segnalerà perché avete una condizione o ( || )
devi mettere AND ( && ).
e qui
quello che l'autore intendeva dire è che si deve dare il segnale solo una volta. E poi la bandiera viene immediatamente resettata a False e fino a quando il prezzo è inferiore a MA2 il segnale al lato passato non apparirà più.
Grazie per la risposta. l'unica cosa che mi confonde è questa: se (Bid> MA1 && Bid< MA2) || (Bid< MA1 && Bid> MA2))
Ho due MA, una (MA1) è tracciata lungo High, l'altra (MA2) lungo Low. Ma qui risulta che la condizione è soddisfatta quando il prezzo è superiore a High e contemporaneamente inferiore a Low se è impostato &&.
Forse mi sto sbagliando, ma la mia lettura di questa linea è: se il prezzo è sopra МА1 e sotto МА2 o sotto МА1 e sopra МА2, allora...
Ora l'ho scritto così:
if (Bid > MA1 && Open < MA1) // Проверка прохода диапазона вверх
{
Alert("Цена находится выше диапазона.");// Сообщение
}
else
{
if (Bid < MA2 && Open > MA2) // Проверка прохода диапазона вниз
{
Alert("Цена находится ниже диапазона.");// Сообщение
}
}
Gente, aiuto con OrderType(), si rifiuta di funzionare dopo di esso, va bene senza di esso. Quale può essere l'errore?
if(z==1){
OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
double pbt=OrderOpenPrice();
OrderSelect(1, SELECT_BY_POS, MODE_TRADES);
double pst=OrderOpenPrice();
double veha1=(pbt-pst+kon)*10000;
OrderSelect(1, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_SELL && c==0){ <--------------------------------------------------------------------------------------------
Print("Work ", veha1);
b11=OrderSend(Symbol(),OP_BUYSTOP,Lots,pbt+Point*10,3,0,0, "b11",1,0,Blue);
s2=OrderSend(Symbol(),OP_SELLSTOP,Lots,pst-Point*10,3,0,0, "s2",2,0,Rosso);
OrderSelect(1, SELECT_BY_POS, MODE_TRADES);
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*40,Ask-Point*veha1,0,Rosso);
c=1;
}
Grazie in anticipo!
{ <--------------------------------------------------------------------------------------------
Questo, che diavolo è?
Sì, apro un ciondolo. quando va sul mercato, se ne apre un altro e cambiano quelli esistenti sul mercato.
{ <--------------------------------------------------------------------------------------------
Questo, che diavolo è questo?
mi ha appena mostrato dov'è il problema=)