[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 422

 
klopp:
Signori programmatori! Per favore aiutatemi a scrivere un Expert Advisor basato sull'indicatore i-Regr.
Il principio è idioticamente semplice...
Quando il valore della linea superiore dell'indicatore (valore2) è superiore a 1.43 si fa un'operazione di vendita, quando il valore della linea inferiore dell'indicatore (valore3) è inferiore a 1.40, si chiude la vendita e si fa un'operazione di acquisto
, che si chiude quando valore2 è superiore a 1.43. I valori 1.40 e 1.43 li ho scelti approssimativamente, perché
hanno bisogno di adattarsi a seconda del timeframe, quindi è auspicabile che possano essere cambiati nelle proprietà dell'EA, ma non nel programma, perché non sono troppo scaltro nella programmazione.

Grazie in anticipo a chiunque risponda.
formayl@mail.ru

Dopo aver letto il vostro scambio, ho deciso di darmi dell'idiota. Dal momento che questo è un ramo di aiutare coloro che cercano di programmare se stessi, allora il mio prezzo è 100 USD e tre ore dopo il pagamento in WebMoney si ha un EA, che funzionerà per davvero (non un giocattolo per la demo). Contattatemi nell'area personale.

ZS. completamente dimenticato - la contrattazione è appropriata e incoraggiata (verso l'alto, naturalmente)

 

L'indicatore è collegato allo stesso grafico dell'EA, prendo i dati dall'indicatore, che vengono poi elaborati nell'EA. La questione è che ho bisogno di ottenere dati dall'indicatore non solo sulla coppia il cui grafico è aperto, ma anche su altre 4 o 5 coppie.
Come implementare questo? Come renderlo possibile nel tester di strategia?

 
nuan:

L'indicatore è collegato allo stesso grafico dell'EA, prendo i dati dall'indicatore e poi li elaboro nell'EA. La questione è che ho bisogno di ottenere i dati dall'indicatore non solo per la coppia di valute il cui grafico è aperto, ma anche per 4-5 coppie.
Come implementare questo? Come renderlo possibile nel tester di strategia?

qui https://docs.mql4.com/ru/i ndicators/iCustom

specifica la coppia richiesta e il timeframe richiesto come parametri string symbol, int timeframe - l'indicatore non deve essere collegato al grafico

il multiset non è testato nel tester, solo in MT5 (MQL5)

 
Grazie mille!
 
KONDOR:


Il suggerimento è buono, grazie, ma questo è lento a funzionare!!! la domanda è aperta

"Ho un EA, come posso fargli capire che un ordine precedentemente piazzato da lui (incluso un ordine pendente) non esiste più (per vari motivi - è scattato sl o TP o è stato cancellato manualmente), cioè, come fargli chiedere se l'ordine è vivo o no. Quei comandi che sono nell'editor restituiscono valori, ma qui il valore non è chiaro.

 

Qual è l'errore, perché non funziona. Vorrei tracciare una linea da 0 a 24 ore per prezzo DnPrice

if (!ObjectCreate("Down",OBJ_TREND,0,0:00,DnPrice,24:00)) //resign lines
{
Print("error: can't create Down! code #",GetLastError());
ritorno(0);
}

ObjectSet("Down",OBJPROP_COLOR,Red);

 
Stells:

Qual è l'errore, perché non funziona. Voglio tracciare una linea da 0 a 24 ore al prezzo di DnPrice

if (!ObjectCreate("Down",OBJ_TREND,0,0:00,DnPrice,24:00)) //resign lines
{
Print("error: can't create Down! code #",GetLastError());
ritorno(0);
}

ObjectSet("Down",OBJPROP_COLOR,Red);

https://docs.mql4.com/ru/basis/types/datetime

bool ObjectCreate( string name, int type, int window, datetime time1, double price1, datetime time2=0, double price2=0, datetime time3=0, double price3=0)

 
bercut0077:

Il suggerimento è buono, grazie, ma questo è un lavoro lento!!! la domanda è aperta

"Ho un EA, come posso fargli capire che un ordine precedentemente piazzato da lui (incluso un ordine pendente) non esiste più (per vari motivi - è scattato sl o TP o è stato cancellato manualmente), cioè, come fargli chiedere se l'ordine è vivo o no. Quei comandi che esistono nell'editor restituiscono valori, ma qui il valore non è chiaro.


È molto facile - c'è una funzione OrdersHistoryTotal - passa attraverso la storia e vedi se l'ordine con il mago richiesto è nella storia, significa che è chiuso o cancellato.

Potremmo anche aggiungere alcune condizioni nel ciclo di ordinamento degli ordini della storia. Per esempio, se il tempo di chiusura dell'ordine è inferiore al tempo di apertura di oggi, ignoreremo tale ordine. Di conseguenza, l'Expert Advisor setaccerà gli ordini che sono stati chiusi/cancellati solo oggi.

 
nuan:
ZZZEROXXX perché dovrebbe fare un profitto?

Perché se si capovolge il grafico, il grafico cresce )))) Non credo che si tratti solo dello spread, se assumiamo che non ci siano molti scambi allora lo spread non gioca un ruolo decisivo nella redditività.
 

Ditemi, per un ordine remoto, è possibile sapere se è stato chiuso al TakeProfit o no?

Posso usare il

doppio OrderTakeProfit( )
Restituisce il prezzo di chiusura quando il margine di profitto (take profit) per l'ordine attualmente selezionato è stato raggiunto
L'ordine deve essere preselezionato utilizzando la funzione OrderSelect().
?

Possiamo creare una condizione come questa

for ( i=OrdersTotal();i>0;i--){ OrderSelect(i,SELECT_BY_POS,MODE_HISTORY  );
if( OrderMagicNumber( )==2000 &&OrderSymbol()==Symbol()&&OrderTakeProfit( )>0 ||
   OrderMagicNumber( )==1000 &&OrderSymbol()==Symbol()&&OrderTakeProfit( )>0

Questa funzione non restituirebbe più di zero per qualsiasi ordine se fosse chiuso, come sarebbe il profitto?