Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1017

 
Buon pomeriggio Amici, attualmente sto facendo trading con l'aiuto di un EA,
Potete consigliarmi se posso usare questi parametri per scrivere il mio EA?
------------------------------------------------------------------------------
GridA=true
GridB=true
GridC=true
OrdersSideOptimize=true
StopTradeAfter_GridA_TP=falso
StopTradeAfter_GridB_TP=falso
StopTradeAfter_GridC_TP=falso
MaxTrades_GridA=15
MaxTrades_GridB=15
MaxTrades_GridC=15
MagicNumber_GridA=7771
MagicNumber_GridB=7772
MagicNumber_GridC=7773
MaxLots=100.0
AutoMM=3.0
T6="Impostazioni dei lotti"
BaseOrderLevel=1
LotExponent=1.33
T7="Impostazioni TakeProfit".
TakeProfit=125.0
Scivolamento=3.0
T10="Impostazioni dei passi"
Passo_GrigliaA=170.0
Passo_GrigliaB=170.0
Passo_GridC=200.0
DistanceExponent=1.18
BaseDistanceOrder=10

Saluti a te Noble Savage
 

Buon pomeriggio. Puoi dirmi qualcosa?


Durante la compilazione, viene lanciato un errore.

if(flag_Cl_Buy = "on" && Ask>=BB)

'&&' - uso di operazioni illegali

Questo personaggio è un AND logico. La traduzione di '&&' è un uso illegale dell'operazione. )))

Cosa c'è che non va? ))

Ramificazione standard. Fare ciò che è nella condizione 1(flag_Cl_Buy = "on") e il valore del prezzo è superiore a quello specificato. Cosa c'è di sbagliato in questo E??


 
Gilmor:

Buon pomeriggio. Puoi dirmi qualcosa?


Durante la compilazione, viene lanciato un errore.

'&&' - uso di operazioni illegali

Questo personaggio è un AND logico. La traduzione di '&&' è un uso illegale dell'operazione. )))

Cosa c'è che non va? ))

Ramificazione standard. Fare ciò che è nella condizione 1(flag_Cl_Buy = "on") e il valore del prezzo è superiore a quello specificato. Cosa c'è di sbagliato in questo E??


==

Quindi il confronto è "==", hai mancato un segno.

 
Gilmor:

Buon pomeriggio. Puoi dirmi qualcosa?


Durante la compilazione, viene lanciato un errore.

'&&' - uso di operazioni illegali

Questo personaggio è un AND logico. La traduzione di '&&' è un uso illegale dell'operazione. )))

Cosa c'è che non va? ))

Ramificazione standard. Fare ciò che è nella condizione 1(flag_Cl_Buy = "on") e il valore del prezzo è superiore a quello specificato. Cosa c'è di sbagliato in questo E??


Non state confrontando, state assegnando.

if(flag_Cl_Buy = "on" && Ask>=BB)

Il confronto è così:

if(flag_Cl_Buy == "on" && Ask>=BB)
 
dodon_:
Buon pomeriggio Cari amici, attualmente sto facendo trading con l'aiuto del mio Expert Advisor,
Potete dirmi se posso scrivere il mio EA basato su questi parametri?

In base a quel poco di risposte che ho visto, puoi scrivere qualsiasi cosa, e anche le persone brave ti diranno dove sono le domande e gli errori. Ma, nessuno vi scriverà semplicemente e con domande così vaghe il più delle volte vi mandano in borsa.

https://www.mql5.com/ru/job

Торговые приложения для MetaTrader 5 на заказ
Торговые приложения для MetaTrader 5 на заказ
  • www.mql5.com
Добрый день. Нужно написать советника на основе мартингейла работающего в обе стороны с усреднениями на ТФ м1/м5/м15/Н1/Н4/D1 , с тейк профитом но без стоп лоса, для центового счета, с функцией привязки советника на определенные счета. Требуются данные входные параметры для управления советником: Стратегия GridA: включить/выключить стратегию...
 
Vladimir Karputov:

Non state confrontando, state assegnando.

Il confronto è così:

Grazie mille. =)

 

Mi scuso in anticipo. Solo un altro paio di domande.

Per favore, consigliatemi dove non riesco a capire. MQL4


void OnTick()
  {
//---
............
тело самого советника
.........
return;
  }

Quali sono gli errori? Genera.

OnTick' - le dichiarazioni di funzione sono consentite solo nello scopo globale, nello spazio dei nomi o nella classe

OnTick' - funzione già definita e con corpo

vedere la dichiarazione precedente della funzione 'OnTick'.

'}' - Il seguente è un errore alla fine del programma

Dato che evidenzia le parentesi, ho ricontrollato. È la parentesi di chiusura della funzione 'OnTick'.

Prima di questa funzione c'è solo la dichiarazione della variabile e int OnInit(), void OnDeinit(const int reason)

-----------------------------

Ho rubato una soluzione semplice da questo forum per chiudere tutti gli ordini.

for(z=OrdersTotal()-1; z>=0; z--)    // закрытие всех ордеров.
        {
         if(OrderSelect(z,SELECT_BY_POS)==true && OrderSymbol() == Symbol())
           {
            OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,Red);
           }
        }

Mi dà un'icona gialla e mi chiede di ricontrollare il valore restituito. Non ho bisogno di controllare il valore di ritorno. A cosa allude?

------------------------------

Operatore di commutazione

Bella cosa dell'interruttore. Espressione fatta

switch(flag_1)

Come il nome dice la bandiera. Passa a 1 dei valori delle bandiere durante il calcolo a seconda della soluzione. Marcatori. I valori di questa bandiera sono 3. Questi sono "zero", "COMPRA", "VENDI".

string flag_1 = "zero";

void OnTick()
  {
switch(flag_1)
     {

      case "zero":
  .............
...............
break;
     case "BUY":
 .............
...............
 break;
    case "SELL":
 .............
...............
 break;
return;
}
}

E non gli piace tutto. Néflag_1 stessoné i suoi valori. Come possiamo rimediare? Non voglio essere costretto a fare numeri. Visivamente, è più difficile capire se ci saranno solo cifre x = 1, 2 o 3. :( Le etichette di testo non sono permesse?

-------------------------------

// Удалить старую отложку
            OrderDelete(OrderBufer_B[i].ticket,clrRed);
            if(OrderSelect(OrderBufer_B[i].ticket,SELECT_BY_TICKET,MODE_TRADES) = true)
              {
               OrderDelete(OrderBufer_B[i].ticket,clrRed);
              }  // повторить

Errori

il valore di ritorno di 'OrderDelete' dovrebbe essere controllato

'OrderSelect' - l-value richiesto

'=' - l-valore richiesto

Questo processo ha un senso? È necessario mettere tutte le mie azioni collegate agli ordini in un ciclo fino a quando non sono state fatte? O il server, anche se è occupato in questo momento, elaborerà comunque la vostra richiesta?

Capisco che se stiamo parlando di ordini sul mercato per comprare/vendere ora, poi al momento della notizia quando il server sarà libero, il prezzo può già andare lontano e quindi l'ordine non sarà eseguito.




 
Gilmor:

Mi scuso in anticipo. Solo un altro paio di domande.

Per favore, consigliatemi dove non riesco a capire. MQL4


Quali sono gli errori? Genera.

OnTick' - le dichiarazioni di funzione sono consentite solo nello scopo globale, nello spazio dei nomi o nella classe

OnTick' - funzione già definita e con corpo

vedere la dichiarazione precedente della funzione 'OnTick'.

'}' - Il seguente è un errore alla fine del programma

Dato che evidenzia le parentesi, ho ricontrollato. È la parentesi di chiusura della funzione 'OnTick'.

Prima di questa funzione c'è solo la dichiarazione della variabile e int OnInit(), void OnDeinit(const int reason)

-----------------------------

Ho rubato una soluzione semplice da questo forum per chiudere tutti gli ordini.

Mi dà un'icona gialla e mi chiede di ricontrollare il valore restituito. Non ho bisogno di controllare il valore di ritorno. A cosa allude?

------------------------------

Operatore di commutazione

Bella cosa dell'interruttore. Espressione fatta

Come il nome dice la bandiera. Passa a 1 dei valori delle bandiere durante il calcolo a seconda della soluzione. Marcatori. I valori di questa bandiera sono 3. Questi sono "zero", "COMPRA", "VENDI".

E non gli piace tutto. Néflag_1 stessoné i suoi valori. Come possiamo rimediare? Non voglio essere costretto a fare numeri. Visivamente, è più difficile capire se ci saranno solo cifre x = 1, 2 o 3. :( Le etichette di testo non sono permesse?

-------------------------------

Errori

il valore di ritorno di 'OrderDelete' dovrebbe essere controllato

'OrderSelect' - l-value richiesto

'=' - l-valore richiesto

Questo processo ha un senso? È necessario mettere tutte le mie azioni collegate agli ordini in un ciclo fino a quando non sono state fatte? O il server, anche se è occupato in questo momento, elaborerà comunque la vostra richiesta?

Capisco che se stiamo parlando di ordini di acquisto/vendita sul mercato ora, poi al momento della notizia quando il server sarà libero, il prezzo può già andare lontano e quindi la richiesta non sarà eseguita.




I risultati di OrderSend, OrderDelete, OrderClose, OrderModify dovrebbero essere controllati. Queste sono solo regole di decenza elevate al rango di avvertimenti.

E gli errori "lvalue" sono i vostri errori di confronto e di assegnazione preferiti.

PS/ bene non si impara la programmazione di MT. MT è un'applicazione dura.

 
Gilmor:

Mi scuso in anticipo. Solo un altro paio di domande.

Per favore, consigliatemi dove non riesco a capire. MQL4


Quali sono gli errori? Genera.

OnTick' - le dichiarazioni di funzione sono consentite solo nello scopo globale, nello spazio dei nomi o nella classe

OnTick' - funzione già definita e con corpo

vedere la dichiarazione precedente della funzione 'OnTick'.

'}' - Il seguente è un errore alla fine del programma

Dato che evidenzia le parentesi, ho ricontrollato. È la parentesi di chiusura della funzione 'OnTick'.

Prima di questa funzione c'è solo la dichiarazione della variabile e int OnInit(), void OnDeinit(const int reason)

-----------------------------

Ho rubato una soluzione semplice da questo forum per chiudere tutti gli ordini.

Mi dà un'icona gialla e mi chiede di ricontrollare il valore restituito. Non ho bisogno di controllare il valore di ritorno. A cosa allude?

------------------------------

Operatore di commutazione

Bella cosa dell'interruttore. Espressione fatta

Come il nome dice la bandiera. Passa a 1 dei valori delle bandiere durante il calcolo a seconda della soluzione. Marcatori. I valori di questa bandiera sono 3. Questi sono "zero", "COMPRA", "VENDI".

E non gli piace tutto. Néflag_1 stessoné i suoi valori. Come possiamo rimediare? Non voglio essere costretto a fare numeri. Visivamente, è più difficile capire se ci saranno solo cifre x = 1, 2 o 3. :( Le etichette di testo non sono permesse?

-------------------------------

Errori

il valore di ritorno di 'OrderDelete' dovrebbe essere controllato

'OrderSelect' - l-value richiesto

'=' - l-valore richiesto

Questo processo ha un senso? È necessario mettere tutte le mie azioni collegate agli ordini in un ciclo fino a quando non sono state fatte? O il server, anche se è occupato in questo momento, elaborerà comunque la vostra richiesta?

Se stiamo parlando di ordini di acquisto/vendita ora, allora al momento della notizia quando il server sarà libero, il prezzo può andare molto lontano e l'ordine non sarà eseguito.




Avete 2 funzioni OnTick


L'espressione dell'operatore di commutazione deve essere di tipo intero.

 
Artyom Trishkin:

Sì, crea un argomento separato. Cerca solo di scegliere la sezione giusta del forum in cui creare l'argomento.

Sì, ok. Va bene"MQL4 e MetaTrader 4"? O è meglio in "Indicatori"?