Expert Advisor, script, indicatore non sono accessibili, ma lavorano nella finestra corrente. E le variabili globali di diverse finestre/carte non si sovrappongono. Pertanto, dovrebbe funzionare)
string AUDUSD; // Questa è una variabile di testo, oltre ad essere inizialmente vuota, cioè uguale a ""
(Symbol() == AUDUSD) // questa stringa non ha niente a che fare con la variabile AUDUSD.
Ma i criteri di apertura degli ordini non dovrebbero essere gli stessi per diversi strumenti/finestre. Se sono uguali, si aprirà effettivamente in tutte le finestre.
Grazie!
Ho implementato la logica in modo che l'Expert Advisor non ricevesse il segnale di apertura degli ordini quando si aprono in diverse finestre e capisse che il segnale di acquisto è stato dato per tale simbolo in modo che l'EA non interferisse con altri.
Il problema non è nei valori della variabile a mio parere. ho solo nel mio codice uulsovii ricalcolo al verificarsi di una nuova ora. e si scopre che il simbolo corrente nuova barra appare e calcolato il valore di bar = 1, ma il simbolo di segnale è una nuova barra non è ancora stato formato o ciò che è il valore per una barra = 2
Il problema è risolto facilmente - ho appena tracciato l'inizio di una nuova barra dal simbolo del segnale
È possibile passare diversi parametri di switch case dal corpo della funzione? Ho dei tipi di ordini da aprire in caso di switch e sono riuscito a passare solo 1 parametro per aprire un ordine dalla funzione che definisce il punto di entrata nel mercato, come ho già capito è impossibile, quindi non so come implementarlo anche sequenzialmente
È possibile passare diversi parametri di switch case dal corpo della funzione? Ho dei tipi di ordini da aprire in caso di switch e sono riuscito a passare solo 1 parametro per aprire un ordine dalla funzione che definisce il punto di entrata nel mercato, come ho già capito è impossibile, quindi non so ancora come implementarlo anche sequenzialmente
Per favore, mostratemi nel codice cosa vi interessa esattamente
È possibile passare diversi parametri di switch case dal corpo della funzione? Ho dei tipi di ordini da aprire in caso di switch e sono riuscito a passare solo 1 parametro per aprire un ordine dalla funzione che definisce il punto di entrata nel mercato, come ho già capito è impossibile, quindi non so come implementarlo anche sequenzialmente
int OpenOrder()
{
switch(AUDUSD_Analizing)
{
case0 : Alert("Нет условий для открытия ордера. Выход"); break;
case1 : // кейс для открытия Buy по AUD/USDif(TimeServer() == true)
{
if(Symbol() == AUDUSD)
{
RefreshRates();
Open_Order = OrderSend("AUDUSD",OP_BUY,lot,Ask,0,0,0);
Alert("Тикет открытого ордера ", Open_Order, GetLastError());
case2 : // кейс для открытия Sell по AUD/USDif(TimeServer() == true)
{
if(Symbol() == AUDUSD)
{
RefreshRates();
Open_Order = OrderSend("AUDUSD",OP_SELL,lot,Bid,0,0,0);
Alert("Тикет открытого ордера ", Open_Order, GetLastError());
//-------------------------------------------------------------------------------------------------------------// другая функция//-------------------------------------------------------------------------------------------------------------int AUDUSD_Analizing()
{
if(AUDUSD_Prices_new > AUDUSD_Prices_old)
{
s1 = AUDUSD_Prices1;
s2 = AUDUSD_Prices2;
s3 = s1 - s2;
if(raznica > s5)
{
Alert("--- ВРЕМЯ ОТКРЫВАТЬ ОРДЕР НА ПОКУПКУ ---");
и вот тут я могу либо прописать конкретное открытие ордера или несколько их штук(чем и решил заняться так
как не нашел решения), либо вернуть номер кейса в первую функцию(что сократило бы код).
Но мне нужно по условиям открывать сразу несколько сделок. К примеру нужно 2 на бай разом открыть,
а возвращается только одно значение и исполняется один кейс и дальше уже на новый круг все идет,
а мне нужно сразу несколько кейсов, допустим 5 выполнить, поставить 5 отложек и вот как передать не пойму,
или как вызвать срабатывание кейсов в последовательности. Если с кейсами можно как-то придумать, то по
факту код влезет в рамку 400-600 строк, а так полагаю все 1000+ выйдет в лучшем случае
(разбитые по 100-200 строк на .mqh, но и из файлов тоже помойка сложится)
stringa AUDUSD = "AUDUSD";
Almeno così.
Questo è tutto!!! È stato così per me))), cancellato e dimenticato))
Grazie mille!!! Pace in casa tua!
Expert Advisor, script, indicatore non sono accessibili, ma lavorano nella finestra corrente. E le variabili globali di diverse finestre/carte non si sovrappongono. Pertanto, dovrebbe funzionare)
string AUDUSD; // Questa è una variabile di testo, oltre ad essere inizialmente vuota, cioè uguale a ""
(Symbol() == AUDUSD) // questa stringa non ha niente a che fare con la variabile AUDUSD.
Ma i criteri di apertura degli ordini non dovrebbero essere gli stessi per diversi strumenti/finestre. Se sono uguali, si aprirà effettivamente in tutte le finestre.
Grazie!
Ho implementato la logica in modo che l'Expert Advisor non ricevesse il segnale di apertura degli ordini quando si aprono in diverse finestre e capisse che il segnale di acquisto è stato dato per tale simbolo in modo che l'EA non interferisse con altri.
Eccolo!!! È stato così per me))), cancellato e dimenticato))
Grazie mille!!! La pace nella tua casa!
O come questo a livello di variabile globale
O come questo a livello di variabile globale
In realtà è figo)) Ora il robot riceve un segnale e apre ordini su diverse coppie in diverse finestre contemporaneamente))
Grazie ancora!
Il problema non è nei valori della variabile a mio parere. ho solo nel mio codice uulsovii ricalcolo al verificarsi di una nuova ora. e si scopre che il simbolo corrente nuova barra appare e calcolato il valore di bar = 1, ma il simbolo di segnale è una nuova barra non è ancora stato formato o ciò che è il valore per una barra = 2
Il problema è risolto facilmente - ho appena tracciato l'inizio di una nuova barra dal simbolo del segnale
Si prega di avvisare.
Per favore, mostratemi nel codice cosa vi interessa esattamente
Si prega di avvisare.
Si riferisce a una gamma di valori?
Mostra al codice esattamente ciò che ti interessa
Intende una gamma di valori?
No, per esempio passare prima il caso 1, poi il caso 2, ecc.
i casi eseguono l'apertura degli ordini