bisogno di aiuto per la codifica per favore

 
Ho bisogno di aiuto per favore. Sono un principiante nella codifica, ma faccio trading sul forex da molto tempo.

Con l'aiuto di "Expert Advisor Builder" ho costruito l'EA allegato, che funziona nei test. Il problema è che non funziona se posto su diversi grafici live. Poiché utilizza un test di 4 ore, è molto tempo per vedere se le mie correzioni lo sistemano, e sto diventando frustrato.

Ho rinominato lo stesso EA con 5 nomi diversi, e ne ho piazzato uno su ognuno dei 5 diversi grafici di coppia, tutti sulla stessa piattaforma MT4. Non ha funzionato.

Per favore, qualcuno può dare un'occhiata e consigliarmi su come far funzionare il codice in modo da poterlo usare su più di una coppia?
 
//+------------------------------------------------------------------+
//| QQE 4hr_15min TESTING                                            |
//| triggers on 4 hour QQE, then uses 15 min QQE to enter trade.     |
//+------------------------------------------------------------------+

#property copyright "Expert Advisor Builder"
#property link      "http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/"





//Check position                 
             bool IsTrade = False;
             for(int i = 0; i < Total; i ++) 
               {                       
                OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
                if(OrderType() <= OP_SELL &&  OrderSymbol() == Symbol()) 
                  {                 
                   IsTrade = True;
                   if(OrderType() == OP_BUY) 
                     {            
//Close                          
//+------------------------------------------------------------------+
//| Signal Begin (Exit Buy)                                           |
//+------------------------------------------------------------------+

Per mostrare che cattivo costruttore di expert advisor sia questo, ho copiato alcune linee

Non usa il magicnumber delle compravendite quando controlla le compravendite aperte

questo EA può gestire le compravendite che non vuoi che vengano cambiate da questo EA

Sta contando in alto controllando le compravendite e in questo ciclo totale chiuderà anche le compravendite quindi deve contare in basso......

 

E qualunque sia il risultato di Orderselect() continuiamo a eseguire il prossimo blocco.

LOL

 

Come ho detto, sono un principiante nella codifica, e questo EA è/era funzionante, quindi ho tentato di svilupparlo, e quando mi sono trovato in difficoltà, ho chiesto aiuto su questo forum.

Bel tentativo di prendere in giro i miei sforzi, senza in realtà dire nulla che come principiante posso usare. Il LOL è perché ho chiesto aiuto?

Non voglio o ho bisogno di diventare un esperto di codifica, ho solo pensato che una richiesta educata di assistenza per risolvere un semplice errore (o due) avrebbe effettivamente portato a qualcuno che mi consigliasse dove si trova l'errore nel codice. Quello che deVries ha scritto qui effettivamente NON mi aiuta affatto, poiché dovrei studiare/praticare/sperimentare per anni forse per capire anche solo quello che è stato detto.

Non eravate tutti novellini una volta, e avevate bisogno solo di una gentile parola di assistenza per far funzionare dei semplici codici? Per favore?

 
unclebigpete:


Non eravate tutti novellini una volta, e avevate bisogno solo di una gentile parola di assistenza per far funzionare dei semplici codici? Per favore?

Sì, 4 anni fa... fai qualche sforzo per imparare... potresti non voler essere un esperto, io non mi considero un esperto, ma per fare un EA che funzioni correttamente dovrai imparare a codificare correttamente... in alternativa puoi sempre chiedere a qualcun altro di farlo per te: Jobs
 

Raptor, sto facendo uno sforzo. Voglio solo un EA funzionante che posso sviluppare ulteriormente man mano che imparo. Questo funzionava, poi ho modificato qualcosa e ora non funziona più. Ho letto sulla codifica, ma non ho 4 o più anni per aggiornarmi. Solo un piccolo aiuto concreto per favore, dato che quello che è stato detto qui non mi è di grande aiuto.

È un po' come imparare a fumare una sigaretta dove il consiglio è 'accendila'!

 
unclebigpete:

Come ho detto, sono un principiante nella codifica, e questo EA sta funzionando, quindi ho tentato di svilupparlo, e quando mi sono trovato in difficoltà, ho chiesto aiuto su questo forum.

Bel tentativo di prendere in giro i miei sforzi, senza in realtà dire nulla che come principiante posso usare. Il LOL è perché ho chiesto aiuto?

Non voglio o ho bisogno di diventare un esperto di codifica, ho solo pensato che una richiesta educata di assistenza per risolvere un semplice errore (o due) avrebbe effettivamente portato a qualcuno che mi consigliasse dove si trova l'errore nel codice. Quello che deVries ha scritto qui effettivamente NON mi aiuta affatto, poiché dovrei studiare/praticare/sperimentare per anni forse per capire anche solo quello che è stato detto.

Non eravate tutti novellini una volta, e avevate bisogno solo di una gentile parola di assistenza per far funzionare dei semplici codici? Per favore?


"è molto tempo per vedere se le mie correzioni lo aggiustano, e sto diventando frustrato" citato da te

Questo è il problema che hai. Stai usando un "Expert Advisor Builder" (che sta codificando un brutto modo....) per creare i tuoi EA.

Quando questo programma sta facendo i tuoi EA di merda, allora non hai imparato la conoscenza per vedere cosa c'è di sbagliato nella codifica.

Se hai iniziato da solo a creare EA senza EA Builders automatici

allora troverai i problemi più facilmente sapendo dove guardare in primo luogo

se hai le linee di programma di un EA fatto o non fatto da te....

E sì, ci vuole tempo per imparare, ma se puoi vedere tu stesso qual è l'errore, allora la tua frustrazione non sarà così grande

chi vuole usare merda STOP USARE QUELL'EA BUILDER ....

 
unclebigpete:

Solo un piccolo aiuto concreto per favore,

OK, un piccolo aiuto . . .

Trova questa parte nel tuo codice e cambiala in questo . . .

//+------------------------------------------------------------------+
//| Variable End                                                     |
//+------------------------------------------------------------------+
//Check position                 
             bool IsTrade = False;
             for(int i = Total -1; i >= 0; i --) 
               {                       
               if( OrderSelect(i, SELECT_BY_POS, MODE_TRADES) &&
                  OrderType() <= OP_SELL &&  OrderSymbol() == Symbol()) 

Questo non controlla il Magic Number ... dovrai aggiungerlo se vuoi piazzare ordini manuali sulle stesse coppie o se vuoi operare su diversi timeframe sulla stessa coppia allo stesso tempo ... lo fai?

Bars non è affidabile, è una cattiva idea usare Bars... dovresti invece usare Time.

Il tuo Slippage non è regolato per i broker a 4/5 cifre . . e nemmeno il tuo TP o SL.

Se rendete il vostro SL piccolo otterrete un errore 130 perché non state controllando se è troppo vicino o permettendo lo Spread.

Il vostro broker è un broker ECN? Non potete impostare SL & TP quando piazzate un ordine a mercato con un broker ECN, dovete codificare un OredrModify() per aggiungere lo SL & TP dopo che l'ordine è stato piazzato . . .

Devo continuare? Questa è roba di BASE... questi punti saltano fuori su questo forum giorno dopo giorno...

E tu non capisci molto di questo perché non hai codificato nulla... hai usato il codice di qualcun altro. . " Expert Advisor Builder". C'è solo una scorciatoia: Jobs

 
unclebigpete 2012.05.22 10:19

Come ho detto, sono un principiante nella codifica, e questo EA sta funzionando, quindi ho tentato di svilupparlo, e quando mi sono trovato in difficoltà, ho chiesto aiuto su questo forum.

Bel tentativo di prendere in giro i miei sforzi, senza in realtà dire nulla che come principiante posso usare. Il LOL è perché ho chiesto aiuto?

Non voglio o ho bisogno di diventare un esperto di codifica, ho solo pensato che una richiesta educata di assistenza per risolvere un semplice errore (o due) avrebbe effettivamente portato a qualcuno che mi consigliasse dove si trova l'errore nel codice. Quello che deVries ha scritto qui effettivamente NON mi aiuta affatto, poiché dovrei studiare/praticare/sperimentare per anni forse per capire anche solo quello che è stato detto.

Non eravate tutti novellini una volta, e avevate bisogno solo di una gentile parola di assistenza per far funzionare dei semplici codici? Per favore?

Caro ziobigpete,

Le mie scuse se ti sei offeso. Non stavo loling a voi. Ero e sono ancora in vena di scherzare con "Expert Advisor Builder". Ero un novellino 4 anni fa, ho fatto un sacco di domande stupide, - diamine sto ancora imparando adesso - alcuni forumer qui correggono me e il mio codice e io lo accetto, imparo anche dal codice degli altri - chiedi a RaptorUK su questo - mi ha corretto domenica scorsa e quella cosa del download della storia.

Mettiamola così, se il tuo EA funziona su dati di 4 ore, allora devi davvero aspettare. Un giorno intero ha solo 6 candele/barre su 4 ore. Un'altra cosa, hai detto che fai trading da molto tempo e presumo che tu faccia trading manuale e che questo EA sia basato sulla tua strategia. Beh, il trading manuale non richiede pazienza?, lo stesso vale per questo EA allora.

hai detto questo ...

ziobigpete 2012.05.22 10:52

Raptor, sto facendo uno sforzo. Voglio solo un EA funzionante che posso sviluppare ulteriormente mentre imparo. Questo funzionava, poi ho modificato qualcosa e ora non funziona più. Ho letto sulla codifica, ma non ho 4 o più anni per aggiornarmi. Solo un piccolo aiuto concreto per favore, dato che quello che è stato detto qui non mi è di grande aiuto.

È un po' come imparare a fumare una sigaretta dove il consiglio è 'accendila'!

Allora la mia domanda è, Whoa ..., quale parte di esso che hai modificato? Ora ci hai chiesto di trovare l'errore e correggerlo.

Guardo il tuo codice più tardi, e btw, il file .ex è un file compilato che non aiuta.

:)

 

Prendiamo un esempio del perché il "tuo" codice è cattivo. . . .

Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", 
   MagicNumber, 0, DeepPink);
                   
if(Ticket > 0) 
   {
   if(OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) 
      {
      Print("SELL order opened : ", OrderOpenPrice());
      if(SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");
      } // if(Order...

   else                                 // <---  this else is in relation to the OrderSelect,  so when the OrderSelect fails the error stored in GetLastError is updated
      {
      Print("Error opening SELL order : ", GetLastError());  // <--- this will give you Error 0 and you will be scratching your head
      } // else 
   } // if(Ticket... 

l'errore riportato è in relazione all'OrderSelect NON all'OrderSend. . .

Dovrebbe essere fatto così . . .

Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", 
   MagicNumber, 0, DeepPink);
                   
if(Ticket < 0) 
   {
   Print("Error opening SELL order : ", GetLastError());  // <--- this will give you Error that relates to the OrderSend
   } // if(Ticket... 

else                                 // <---  this else is in relation to the if(Ticket < 0)
   {
   if(OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) 
      {
      Print("SELL order opened : ", OrderOpenPrice());
      if(SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");
      } // if(Order...
   } // else 
 
onewithzachy:

Caro ziobigpete,

Le mie scuse se ti sei offeso. Non stavo leccando a te. Ero e sono ancora in vena di scherzare con "Expert Advisor Builder". Ero un novellino 4 anni fa, ho fatto un sacco di domande stupide, - diamine sto ancora imparando adesso - alcuni forumer qui correggono me e il mio codice e io lo accetto, imparo anche dal codice degli altri - chiedi a RaptorUK su questo - mi ha corretto domenica scorsa e quella storia del download.

Stiamo tutti ancora imparando... e anche se non lo fossimo, siamo tutti esseri umani e tutti commettiamo errori... specialmente io. L'unica persona che non commette errori è quella che non fa nulla...

A proposito ... perché aspettare a testare il tuo codice . ... testalo nel tester ... il tester della strategia. ;-)