Una domanda per gli esperti di MQL - pagina 11

 

Signori codificatori, per favore aiutatemi con un pezzo di codice.

Ho un Expert Advisor che funziona. Ho bisogno di inserire in esso una condizione per proibire l'apertura di compravendite.

Condizione: se l'istogramma AO è > 0, allora non permettete l'apertura di operazioni finché l'istogramma AO è uguale o maggiore di 0. Grazie.

 
Voice:

Signori codificatori, per favore aiutatemi con un pezzo di codice.

Ho un Expert Advisor che funziona. Ho bisogno di inserire in esso una condizione per proibire l'apertura di compravendite.

Condizione: se l'istogramma AO è > 0, allora non permettete l'apertura di operazioni finché l'istogramma AO è uguale o maggiore di 0. Grazie.


Lasciamo che la variabile double Gist memorizzi il valore di AO e la variabile bool Torg memorizzi la bandiera per permettere il trading.

La condizione è offuscata. "Se l'istogramma AO>0, allora proibisci all'EA di aprire operazioni" - nel codice questo sarebbe if(Gist>0){Torg=false;}. Ora, la seconda parte della condizione "Finché l'istogramma AO è uguale o maggiore di 0" può essere scritta nel codice nel vostro caso nel modo seguente if(Gist>=0){Torg=false;}

Questo significa che (a condizione che AO >= 0) nella prima linea di codice il permesso di commerciare sarà rimosso if(Gist>0){Torg=false;}, e nella seconda linea di codice sarà immediatamente restituito if( Gist>=0){Torg=true;}. Se AO > 0, la variabile Torg sarà prima falsa e poi immediatamente vera. Non puoi farlo - è una violazione della legge della logica "Se a, allora a".

 

Scusate, questo è un mio errore. Se è più di 0, non si apre, se è meno di 0, si apre. Puoi dirmi se devo mettere questo all'inizio del codice? Cercherò di costruirlo.

Potresti dirmi come assegnare i valori AO a Gist?

 
Voice:

Scusate, questo è un mio errore. Se è più di 0, non si apre, se è meno di 0, si apre. Puoi dirmi se devo mettere questo all'inizio del codice? Cercherò di costruirlo.

Potreste dirmi, per favore, come posso ottenere i valori AO da Gist?

doppio iAO( simbolo stringa, int timeframe, int shift)
Calcolo dell'oscillatore Awesome.
Parametri:
simbolo - Nome del simbolo, sui cui dati verrà calcolato l'indicatore. NULL significa simbolo corrente.
timeframe - Periodo. Può essere uno dei periodi del grafico. 0 significa il periodo del grafico corrente.
turno - Indice del valore ottenuto dal buffer dell'indicatore (spostamento relativo alla barra corrente del numero specificato di periodi indietro).
Esempio:
 doppio val=iAO(NULL, 0, 2);
 
Ciao Ciao! Mi puoi dire dove andare, (buttare il link, la risposta, "cerca nel forum" non funziona, e quindi sto cercando) per scrivere un piccolo algoritmo, un consigliere o script, in modo che funzioni. In breve, l'essenza: aprire, comprare, vendere con take-profit, a scelta quando attivato e poi si può impostare il pendente in diverse combinazioni, passo e lotto, penso che qualcuno sarà interessato e saprà come esattamente. Per favore dimmi ancora chi può aiutare? zetveis@mail.ru
 
Skif_7:
Ciao Ciao! Mi puoi dire dove andare, (buttare il link, la risposta, "cerca nel forum" non funziona, e quindi sto cercando) per scrivere un piccolo algoritmo, un consigliere o script, in modo che funzioni. In breve, l'essenza: aprire, comprare, vendere con take-profit, a scelta quando attivato e poi si può impostare il pendente in diverse combinazioni, passo e lotto, penso che qualcuno sarà interessato e saprà come esattamente. Per favore dimmi ancora chi può aiutare? zetveis@mail.ru

Ecco il link https://www.mql5.com/ru/job
 
sergeev:

Ecco il link https://www.mql5.com/ru/job
È geniale! Non si può proprio dire. Comunque... Ti dirò un segreto, avrei potuto guardare io stesso in alto e a destra, cosa che ho fatto molto tempo fa.
 
Skif_7:
Ti dirò un segreto: avrei potuto guardare io stesso in alto e a destra. Cosa che ho fatto molto tempo fa.
Non dirò a nessuno del tuo segreto.
 

Salve professionisti! Potreste dirmi come cancellare un BUY_STOP ad un nuovo ordine pendente piazzato da un EA, e come cancellare un precedente SELL_STOP ad un nuovo SELL_STOP piazzato da un EA?

Grazie.

 

Per BUY_STOP : (1) trovare il precedente BUY_STOP attivo (2) cancellarlo.

Per un SELL_STOP, è lo stesso che per un BUY_STOP.

Se la risposta è fastidiosa, vai qui: https: //www.mql5.com/ru/job

Per favore.

Motivazione: