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

 
trader_john:

Puoi dirmi cosa potrebbe essere la causa di questo problema?

Funziona, funziona, tutto va bene, poi improvvisamente, all'improvviso :-(

E, non solo i punti sono disegnati dove non dovrebbero essere, ma la finestra dei dati mostra anche dati errati (pertinenti alla posizione dei punti)

(L'indicatore mostra gli estremi, l'ho scritto io stesso)

Dopo il "riavvolgimento" di un lasso di tempo tutto diventa normale

Forse sai dove "scavare". O forse c'è un tale argomento sul forum.

Grazie in anticipo!


Scrivi un indicatore adeguato e i problemi spariranno
 
Vinin:

Scrivi un indicatore adeguato e i problemi spariranno


Cosa intende per normale? Se lo sapessi, non farei domande qui.

A proposito, l'indicatore Fractals che ho scaricato in MQL "fa la stessa cosa".

https://www.mql5.com/ru/code/7982

Quindi non è nemmeno scritto correttamente?

 
trader_john:

Puoi dirmi cosa potrebbe essere la causa di questo problema?

Funziona, funziona, tutto va bene, poi improvvisamente, all'improvviso :-(

E, non solo i punti sono disegnati dove non dovrebbero essere, ma la finestra dei dati mostra anche dati errati (pertinenti alla posizione dei punti)

(L'indicatore mostra gli estremi, l'ho scritto io stesso)

Dopo il "riavvolgimento" di un lasso di tempo tutto diventa normale

Forse potete consigliarmi da che parte "scavare". O forse c'è un tale argomento sul forum.

Grazie in anticipo!

Ne ho scritto uno simile, è successo nello stesso modo del tuo. Ho notato che se l'indicatore è calcolato più a lungo di un tick, non c'è raddoppio. Potrebbe essere necessario aggiungere una condizione più pesante o il sonno. Ma non sono un programmatore, è solo un'osservazione.
 
Operr:
Ne stavo scrivendo uno simile, è successo lo stesso del tuo. Ho notato che se l'indicatore è calcolato più a lungo di un tick, non c'è raddoppio. Aggiungere una condizione più pesante o dormire. Ma non sono un programmatore, è solo un'osservazione.


Non ho capito bene, forse "calcola su più di 1 bar"?

Remembered Fractals (MQL4) / L'ho rielaborato per iniziare a contare dalla barra 3. Cioè 2 battute dovrebbero finire dopo di esso,

Nell'indicatore originale, disegnava un "punto"...credo che fosse sulla barra #2...(cioè anche la barra zero era considerata)

Ma se questo punto è stato rotto prima di 2 barre, è rimasto lì...

e si è scoperto che non c'erano due barre in basso a destra, mentre il frattale superiore era disegnato.

Costruito in frattali rimuove a proposito...

Ok... Ci penserò.

 
Operr:
Aggiungere una condizione più pesante o dormire.
Per informazione - Il sonno non funziona negli indicatori.
 

Come faccio a far contare il MA uno per l'alto e uno per il basso?


// Criteri di trading
MA_1_t=iMA(NULL,0,Period_MA_1,0,MODE_LWMA,PRICE_TYPICAL,0); // MA_1
MA_2_t=iMA(NULL,0,Period_MA_2,0,MODE_LWMA,PRICE_TYPICAL,0); // MA_2
MA_3_t=iMA(NULL,0,Period_MA_3,0,MODE_LWMA,PRICE_TYPICAL,0); // MA_3

if (MA_2_t > MA_3_t + Rastvor*Point) // Se differenza tra
{ // .MA_2_t + Rastvor*Point { .MA 2 e 3 grandi
Opn_B=true; // Open Buy Criterion
Cls_S=true; // Close Sell Criterion } (MA_2_t + Rastvor*Point) if (MA_2_t > MA_3PICAL) Sell
}
if (MA_1_t < MA_3_t - Rastvor*Point) // Se la differenza tra
{ // ..MA 1 e 3 è grande
Opn_S=true; // Criterio aperto Sell
Cls_B=true; // Criterio chiuso Buy Cls_B=true; // Criterio chiuso Sell } Sell only // MA 1 e 3 è grande. Compra

}



Voglio che MA_1 sia impostato su High e MA2 su Low

MA_2 essere impostato su Low

MA_3 deve essere impostato come Close

E come impostare tutte le mosse per essere SMA

 
NROST:

Come faccio a far contare il MA uno per l'alto e uno per il basso?


// Criteri di trading
MA_1_t=iMA(NULL,0,Period_MA_1,0,MODE_LWMA,PRICE_TYPICAL,0); // MA_1
MA_2_t=iMA(NULL,0,Period_MA_2,0,MODE_LWMA,PRICE_TYPICAL,0); // MA_2
MA_3_t=iMA(NULL,0,Period_MA_3,0,MODE_LWMA,PRICE_TYPICAL,0); // MA_3

if (MA_2_t > MA_3_t + Rastvor*Point) // se la differenza tra
{ // ...MA_2 e 3 è grande
Opn_B=true; // Aprire il criterio di acquisto
Cls_S=true; // Chiudere il criterio Vendere
}
if (MA_1_t < MA_3_t - Rastvor*Point) // Se la differenza tra
{ // ...MA_1 e 3 è grande
Opn_S=true; //aprire il criterio di vendita
Cls_B=true; //Criteri di clic Compra

}



Voglio che MA_1 sia impostato su High e MA2 su Low

MA_2 essere impostato su Low

MA_3 deve essere impostato come Close

E come fare in modo che tutte le zone siano SMA



Tutte le risposte sono lì dentro
 
Vinin:

Tutte le risposte sono lì dentro.
grazie
 

Gente, è necessario il vostro aiuto.

Ci sono condizioni di trading, definite come segue: comprare se la linea %D dello stocastico incrocia 30, la barra precedente dovrebbe essere sotto 29 (significa che la barra si incrocia dal basso verso l'alto). Nel tester ho impostato un breve time frame su un timeframe orario per contare il numero di segnali manualmente e confrontarlo con le letture dell'EA. Dovrei ottenere 6 segnali, ma l'EA visualizza solo un muro di testo con segnali di acquisto, e idealmente dovrebbero essercene solo 6.


Ecco il codice di Expert Advisor, forse qualcuno può dirmi cosa sto facendo di sbagliato?


// Значения торговли
extern double TP = 100;
extern double Lots = 0.1;
extern double SL = 50;
// Значения стохастика
extern int Dperiod = 24;
extern int Kperiod = 3;
extern int Slowing = 6;
extern int St_buy = 30;
extern int St_sell = 70;
int signal;
int ticket;



int Stoch(int st_bars = 0, int st_type = 0){  // 1 параметр - бары, 2 параметр - тип линии.

   int st_result;
   
   if (st_type == 0 || st_type == 1 && st_bars >= 0){
      st_result = iStochastic(NULL,0,Dperiod,Kperiod,Slowing,MODE_SMA,0,st_type,st_bars);
      if (st_result > -1) return(st_result);
   }
   else return(-1);
   
   return(0);
}

int Criterion() // 10 - open buy, 11 - close buy, 20 - open sell, 21 - close sell.
{
   int St_M, St_S;
   St_M = Stoch();
   St_S = Stoch(0,1);
  
   if (St_M >= St_buy && Stoch(1,0) < (St_buy-1)) return(10);
   
   return(0);
}

int start()
{
   if (Criterion() == 10 && AccountFreeMargin() > Lots*5000){
      
    ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, Bid - SL * Point, Ask + TP * Point, "My order #", 16384, 0, Green);
   }
   return(0);
}
 
trader_john:

Puoi dirmi cosa potrebbe essere la causa di questo problema?

Funziona, funziona, tutto va bene, poi improvvisamente, all'improvviso :-(

E, non solo i punti sono disegnati dove non dovrebbero essere, ma la finestra dei dati mostra anche dati errati (pertinenti alla posizione dei punti)

(L'indicatore mostra gli estremi, l'ho scritto io stesso)

Dopo il "riavvolgimento" di un lasso di tempo tutto diventa normale

Forse potete consigliarmi da che parte "scavare". O forse c'è un tale argomento sul forum.

Grazie in anticipo!


Tutto quello che hai davanti è già stato rubato - è come MasterForex versione 5... C'è anche la versione 4, ma non riesco ancora a trovarla, se ne hai bisogno la troverò.
Motivazione: