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

 
Hm, qualcuno può aiutarmi?
 
Chiripaha:

Qui, solo in codice di Pr0t0tip (beh, e nickname - mi sono stancato di riscrivere : )) ) Queste variabili extern int sl=100; (ecc.) sono mappate. Quindi è necessario dichiarare una variabile, poi apparirà nelle impostazioni del gufo, quindi il suo valore può essere cambiato e ottimizzato.

Lo so, ma le variabili esterne non funzionano all'interno di una funzione utente. dichiarano le proprie variabili. questo è il problema.

E non riesco a sbarazzarmi della funzione. c'è una modifica di order....

 
solnce600:
E al di sopra di questo c'è solo l'inizio e nient'altro

Ahhhhhhhh - ecco qui... L'ho messo nel posto sbagliato - avrei dovuto mettere una variabile dietro una parentesi:

int start()
  {
   bool have = true;

   for(int i=0;i<10;i++)
     {
      if(Low[i]<=Low[i+1])
       {
        have=false; 
        break;
       } 
     } 

   if(have)
    {
     OrderSend(Symbol(),OP_SELL,0.1,Bid,1,Ask+1500*Point,Ask-1510*Point,"jfh",123 );// действия если условие соблюдено 
    }

   return(0);
  }

E ce n'erano altri in basso e un'altra parentesi graffa. Non stavi seguendo i margini e una struttura unica (stile) del tuo testo. Quando si scrive tutto correttamente, tutti gli errori (incongruenze) sono visibili. Fate attenzione quando scrivete il codice. - Non dovrebbe giurare.

 

Questo è strano. Ricevo questo errore dal tuo codice

'bool' - punto e virgola previsto C:\Documents and Settings\User\My Documents\FxClub\TeleTRADE\experts\dot.mq4 (33, 4)

In realtà su bool have = true;

 
Esattamente. Oppure c'è stata una svolta logica-else,o- o la funzione finisce il suo lavoro dando zero, o cosa?
 
Chiripaha:

Ahhhhhhhh - ecco, l'ho trovato... Posto sbagliato - avrei dovuto mettere la variabile dietro la staffa:

E ce n'era uno in più in fondo a un altro e un'altra staffa quadrata. Stai scrivendo senza rispettare i margini. Quando si mette tutto correttamente, tutti gli errori (incongruenze) sono immediatamente visibili. Fate attenzione a come scrivete il vostro codice. - Non dovrebbe essere un rimprovero.


Grazie mille...... cosa farei senza di voi..... Dio vi benedica ..... e il resto lo comprerete sui profitti....
 
lottamer:

Lo so, ma le variabili esterne non funzionano all'interno di una funzione utente. dichiarano le proprie variabili. questo è il problema.

E non riesco a sbarazzarmi della funzione. modifica l'ordine....

Perché non funziona? - Se portate qualsiasi variabile globale in una funzione utente, funzionerà come dichiarato all'interno. Ma i dati della variabile interna sono visibili solo a questa funzione - inoltre la sua azione è limitata. E i valori della variabile globale(extern) sono visibili a tutto il programma. Questa è la differenza. Ma nel caso di un esterno - di nuovo, extern - , la variabile apparirà anche nelle impostazioni. - Questo è un libro di testo. Rileggerlo, aiuta. : )) Naturalmente, quando si dichiara una variabile esterna, si deve fare riferimento all'interno della funzione a questa variabile globale. E assicuratevi che i nomi non siano identici. Altrimenti, dichiarerete sia esterno che interno con lo stesso nome. - Anche se si può fare così, ma penso che la funzione prenderà il valore della variabile interna - non ricordo esattamente. È qui che bisogna passare attraverso un libro di testo. Fatelo voi stessi, se volete sperimentare. Di solito do nomi diversi per evitare confusione e questo è tutto.
 
Chiripaha:
Perché non funziona? - Se prendete qualsiasi variabile globale in una funzione personalizzata, funzionerà proprio come quella dichiarata all'interno. I dati della variabile interna sono visibili solo a questa funzione - inoltre la sua azione è limitata. E i valori della variabile globale(extern) sono visibili a tutto il programma. Questa è la differenza. Ma nel caso di un esterno - di nuovo, extern - , la variabile apparirà anche nelle impostazioni. - Questo è un libro di testo. Rileggerlo, aiuta. : )) Naturalmente, quando si dichiara una variabile esterna, si deve fare riferimento all'interno della funzione a questa variabile globale. E assicuratevi che i nomi non siano identici. Altrimenti, dichiarerete sia esterno che interno con lo stesso nome. - Anche se si può fare in questo modo, ma sembra che la funzione prenda il valore della variabile interna - non ricordo esattamente. È qui che bisogna passare attraverso un libro di testo. Fatelo voi stessi, se volete sperimentare. Di solito do nomi diversi per evitare confusione e questo è tutto.


Grazie mille...ho pensato che se l'interno non è visibile all'esterno, allora anche l'esterno non è visibile all'interno...
 

Salve. Ho scritto un semplice EA (cercando di impararlo da solo). Il robot apre solo scambi per vendere, ma non vuole comprare. Capisco di non aver scritto correttamente le condizioni di acquisto o di non averle divise correttamente. Sto chiedendo aiuto. Ecco qui:

extern int tp=100;

extern int sl=100;

extern int H=14;

extern int M=00;

doppio ma1, ma2;

int start()

{

ma1=iMA (NULL,0,18,0,MODE_SMA,PRICE_CLOSE,0);

ma2=iMA (NULL,0,36,0,MODE_SMA,PRICE_CLOSE,0);

if (OrdersTotal ()==0 && iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)<iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1<ma2)

OrderSend ("EURUSD", OP_SELL,0.1,Bid,0,Ask+sl*Point,Ask-tp*Point,",123,Red);

if (OrdersTotal ()==0 && iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)>iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1>ma2)

OrderSend ("EURUSD", OP_BUY,0.1,Ask,0,Bid+sl*Point,Bid-tp*Point,",123,Red);

}

ritorno (0);

 
Pr0t0tip:
Hm, qualcuno può aiutarmi?

Diamo un'occhiata - non sono molto esperto. Ma faremo un tentativo... : ))

Nel frattempo, dovresti imparare a usare il pulsante SRC - ti permette di inserire il codice in modo corretto, bello e chiaro. Così coloro che vi aiuteranno (ora e in futuro), sarebbe più facile leggerlo. Potresti romperti gli occhi se lo fai. : ))