[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 996

 
È sempre così, prima rispondere a una domanda, poi scrivere un consigliere, e poi cambiarlo all'infinito come arriva una nuova idea, povero artmedia, così presto tutti i programmatori se ne andranno, non ci sarà nessuno ad aiutare)
 

Techno totalmente d'accordo con te, ma ti sto chiedendo di venire da un thread e non da un'altra parte.

Qualsiasi domanda da un principiante, per non ingombrare il forum. I professionisti non passano. Non c'è nessun posto senza di te.

i moderatori possono lasciarlo in un thread separato se la discussione non si adatta al thread principale.

E poi il caso è puramente volontario, non sto chiedendo di scrivere per me tutto il lavoro, e come ho detto sopra, sto imparando, e penso che anche i nuovi arrivati che si sono appena iscritti, imparino molto,

 
ex_kalibur:

Techno totalmente d'accordo con te, ma...

Beh, finora, a giudicare dai ToR scritti sopra, lei suggerisce che tutto dovrebbe essere scritto per lei. Il tema è progettato specificamente per le domande che sorgono nei principianti durante la programmazione e la formazione, e non per la realizzazione di tutti i loro desideri)
 
Quindi, se tutti sono d'accordo con i termini di riferimento e tutto chiaro, allora procedete. Per prima cosa, allego tutti i file del modello
File:
 
Techno:
Finora, a giudicare dai ToR scritti sopra, state suggerendo che tutto dovrebbe essere scritto per voi. L'argomento è pensato per le domande che i principianti hanno durante la programmazione e l'allenamento, e non per soddisfare tutti i loro desideri)
All'inizio ho fatto delle domande, ma poi è diventato molto complicato, e poiché il programma ha una struttura complessa con file in entrata, non è possibile mostrare il codice, e così ricomincio tutto da capo e riprendo da dove ho lasciato
 

Voglio riscrivere il mio EA da mq4 a mq5. Puoi consigliare quanto più velocemente l'EA sarà testato e ottimizzato in mq5?

 
ex_kalibur:
Quindi, se tutti sono d'accordo con i termini di riferimento e tutto chiaro, allora procedete. Prima allego tutti i file del modello

Perché così complicato?
 
Vinin:

Perché così complicato?
Perché sono così perplesso che non posso nemmeno fare una domanda competente
 

Cominciamo con la funzione Criterion

Per determinare il canale useremo l'indicatore ZigZag, rispettivamente, impostiamo i suoi parametri,

//--------------------------------------------------------------------

// Criterion.mqh

//--------------------------------------------------------------- 1 --

// Функция вычисления торговых критериев.

// Возвращаемые значения:

// 10 - открытие Buy

// 20 - открытие Sell

// 11 - закрытие Buy

// 21 - закрытие Sell

// 0 - значимых критериев нет

// -1 - используется другой финансовый инструмент

//--------------------------------------------------------------- 2 --

// Внешние переменные:

eextern int ExtDepth=12;

extern int ExtDeviation=5;

extern int ExtBackstep=3;

//-----------------------------------------------------------------------

int Criterion() // Пользовательская функция

{

string Sym="EURGBR";

if (Sym!=Symbol()) // Если не наш фин. инструмент

{

Inform(16); // Сообщение..

return(-1);

} // .. и выход

double

High,

Low ;

//------------------- Параметры технич. индикат: -------------------

High =iCustom (NULL,0, "Zigzag",ExtDepth,ExtDeviation, ExtBackstep,1,bar);

Low = iCustom (NULL,0, "Zigzag",ExtDepth,ExtDeviation, ExtBackstep,2,bar);

int TicSpred=100;

double Spread[1000];

if (Spread[0]==0) {ArrayInitialize(Spread,(Ask-Bid)/delta);}

for (int q=TicSpred;q>0;q--){

if (Spread[q]==0) Spread[q]=(Ask-Bid)/delta;}

for (q=TicSpred;q>0;q--) {Spread[p]=Spread[p-1];}

Spread[0]=(Ask-Bid)/delta;

double CountedSpred;

for (q=0;q<bars;q++){CountedSpred=CountedSpred+Spread[p];}

//--------------------------------------------------------------- 5 --

// Вычисление торговых критериев

if (Bid <= Low && Ask< High -CountedSpred/2*delta )

return(10);

if ( Bid>= High )

return(20);

 

// Calcolo dei criteri di negoziazione

se (Bid <= Low && Ask< High -CountedSpred/2*delta)

ritorno(10);

se ( Bid>= High )

ritorno(20);

Qui mi sono bloccato: secondo il compito dovremmo prima ottenere la storia dello spread medio, come dovrei fare?

Voglio che il mio array di 100 celle sia riempito completamente