[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 65

 
sergey_r:

Ciao a tutti. Ragazzi ho una condizione per trovare un massimo: ma all'interno di un corridoio.

per (int max=1; max<1000; max++)
se (Alto[max+1] < Alto[max] && Alto[max] > Alto[max-1] && Basso[max+1] < Basso[max] && Basso[max] > Basso[max-1] &&
High[max] > low_level_s && High[max] < high_level_s) break;

non funziona.
se rimuovo il corridoio Tutto ok:

per (int max=1; max<1000; max++)
se (High[max+1] < High[max] && High[max] > High[max-1] && Low[max+1] < Low[max] && Low[max] > Low[max-1] ) break;

Quale potrebbe essere il problema...?

Suggerisco lo script "max_sergey_r".
Lo script si trova nella cartella "scripts" del terminale (per esempio, C:\Program Files\ FX Trader\experts\scripts).
Lo script può essere posizionato sul grafico di qualsiasi strumento, qualsiasi timeframe.
File:
 
Roger:
Aprite l'indicatore in due finestre e impostate la linea indesiderata come colore di sfondo.
Se i valori delle linee hanno un ordine diverso, la metà della sottofinestra sarà un punto vuoto quando viene visualizzata in questo modo. Al momento devo visualizzare ogni valore dell'indicatore principale attraverso un indicatore aggiuntivo con una propria sottofinestra. Pertanto, il principale viene caricato in background per OGNI sottofinestra aperta dell'indicatore aggiuntivo, da cui il carico extra sul processore. Non è critico, ma volevo la "perfezione" :)
 

5° forum // sono l'unico che riceve un errore?

 
abolk:

5° forum // sono l'unico che riceve un errore?


Probabilmente sì.
 

gente, aiutatemi a capire cosa diavolo è questo! Il mio EA è progettato per mettere fuori un oplot, e se il prezzo non lo raggiunge, ma inverte al livello del suo stop, l'oplot dovrebbe essere cancellato. ma sul tester, a volte un oplot viene messo fuori e immediatamente cancellato prima ancora di raggiungere lo stop. Qual è il problema? Ecco uno screenshot e il codice di cancellazione.

Ecco il codice:

     if (Bid>SL)                                                              // Если Bid>уровня стопа
      {
      for (k = OrdersTotal()-1; k >= 0; k--)
         {
         OrderSelect(k,SELECT_BY_POS, MODE_TRADES);
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
            {
            if (OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP)
               {
               if(OrderDelete(OrderTicket())==true)
                  {
                  Iterration--;
                  Alert ("Ордер SellStop удален.");
                  }
                }
             }
          }
       }

Qual è l'errore qui?

 
vovan-gogan:

Ed ecco il codice:

Qual è l'errore qui?

Non c'è nessun errore nel codice, solo logica. Bid>SL viene controllato e tutti gli ordini pendenti vengono cancellati (da dove viene preso SL non è chiaro dal codice). Se c'è bisogno di qualcos'altro, l'obiettivo è dichiarato passo dopo passo in un linguaggio comprensibile.
 

Voglio costruire un Expert Advisor per diversi timeframe.

Voglio costruire un EA per diversi timeframe, mandami un "pesce".

i migliori saluti

 
splxgf:
Nessun errore nel codice, solo errori di logica. Bid>SL viene controllato e tutti gli ordini pendenti vengono cancellati (da dove viene preso SL non è chiaro dal codice). Se c'è bisogno di qualcos'altro, l'obiettivo è dichiarato passo dopo passo in un linguaggio comprensibile.

Lo SL è impostato al livello di MA20 con 3 candele all'indietro.
 
vovan-gogan:

gente, aiutatemi a capire cosa diavolo è questo! Il mio Expert Advisor è progettato per mettere fuori un oplot, e se il prezzo non lo raggiunge, ma inverte al livello del suo stop, l'oplot dovrebbe essere cancellato. ma sul tester a volte un oplot viene messo fuori e immediatamente cancellato prima ancora di raggiungere lo stop. Qual è il problema? Ecco uno screenshot e il codice di cancellazione.

Ecco il codice:

Qual è l'errore qui?


sostituire

if (Bid>SL)
{

su

if (Bid>SL)
{
   Print("Bid=",Bid," SL=",SL);

e vedere cosa dice il registro.

 
PapaYozh:


sostituire

a

e vedere cosa dice il registro.


Qual è il punto? Il livello SL è corretto. Quando imposto la variabile SL a MA20 con uno spostamento di 3, faccio uscire il livello SL attraverso Alert ed è sempre al livello giusto. Non so perché l'ordine viene cancellato prima di raggiungere il livello SL.