Robot completo per MT5 - pagina 4

 
ElenaFxPro4:

Ho esposto il codice. Cosa ci impedisce di discuterne? Ci sono molti sistemi, sistemi e sottosistemi, ognuno che fa le sue cose. E in generale - una posa (o diverse, a volte multidirezionali) viene aperta, accompagnata e chiusa. Il sistema di copertura (chiusura) non funziona ancora.

Buona salute a noi.

wo, un piccolo progresso - ma ancora nessuna comprensione.

RobotNYC 3

RobotNYC 4

 
SanAlex:

Grazie, farò una prova.

Buona fortuna. Posso mostrarvelo su skype se volete. Ci vorranno 5 minuti e sarà molto più chiaro, vero?

 
SanAlex:

wo, un piccolo progresso - ma ancora nessuna comprensione.

Questo sei tu in modalità di trading sul mercato. Il mercato si ferma e il robot non ha niente da fare :) Sta aspettando che arrivino nuove barre...

 
ElenaFxPro4:

Questo sei tu in modalità di trading sul mercato. Il mercato si ferma e il robot non ha niente da fare :) Sta aspettando che arrivino nuove barre...

Non so cosa fare con il Bitcoin - sta allungando le barre - dovrò provarlo domani

Non lo capisco subito, finché non lo tocchi, non capisci.

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

è apparsa un'altra finestra

RobotNYC 5

 
SanAlex:

su bitcoin - le barre si stanno allungando - domani dovrò esercitarmi

Non lo capisco subito, finché non lo tocchi con le mani, non capisci.

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

è apparsa un'altra finestra

Su BITK e altri esotici è necessario inserire il codice per passare dal forex standardSymbolInfoInteger. Al massimo quello che è impostato è oro. BITK ha gli spread più forti e non è adatto alla speculazione intraday. Comprano bitcoin durante le recessioni e aspettano mesi per crescere - questa è l'intera "strategia" :) Ma redditizio, non c'è dubbio.

È meglio guardare l'oro. Solo il sottosistema "capriola" è incluso nel robot - è buono per le coppie con una tendenza instabile, poiché scambia alla fine della tendenza contro di essa.

Документация по MQL5: Получение рыночной информации / SymbolInfoInteger
Документация по MQL5: Получение рыночной информации / SymbolInfoInteger
  • www.mql5.com
SymbolInfoInteger - Получение рыночной информации - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
ElenaFxPro4:

Su BITC e altri esotici, è necessario inserire il codice per passare dal forex standardSymbolInfoInteger. Il massimo che viene impostato è l'oro. Bitcoin ha gli spread più forti e non è adatto alla speculazione intraday. Comprano bitcoin durante le recessioni e aspettano mesi per crescere - questa è l'intera "strategia" :) Ma redditizio, non c'è dubbio.

Grazie! Buona salute a voi e alle vostre famiglie!

Mi allenerò lunedì - vi terrò informati sui miei studi sul vostro Expert Advisor.

 
SanAlex:

Grazie! Salute a voi e ai vostri cari!

Mi eserciterò lunedì - vi terrò informati, il mio apprendimento sul vostro esperto.

:) Sono d'accordo.

Ancora, mettetemi su Skype e vi mostrerò cosa può fare il robot in 5 minuti di "lezione" :) :)

Tutto il meglio.

 
ElenaFxPro4:

ecco i parametri forniti per il 1-5 marzo.

e il risultato della corsa per quel periodo nella scheda "esperti".

Grazie!

Il fatto è che il codice è molto grande e non compilo nemmeno una cosa del genere finché non rileggo l'elenco dopo aver visto il test

 
Renat Akhtyamov:

Grazie!

Il fatto è che il codice è molto grande e non compilo nemmeno una cosa del genere finché non rileggo l'elenco dopo aver visto il test

Come ti piace. Il codice contiene molti sottosistemi diversi ed è scritto in modo piuttosto disordinato :) i pensieri correvano avanti. Puliremo gradualmente il codice e lo renderemo più leggibile e comprensibile. Non ci vorranno 23 anni :) basteranno dei mesi.

 

Buongiorno!

Il tester non vuole aprire una posizione, genera un errore

ERR_TRADE_SEND_FAILED

4756

Fallito l'invio della richiesta di scambio

Rbtg_NYCInclude tester

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Penso che qualcosa dovrebbe essere corretto qui

Rbtg_NYCInclude kod

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Ora proverò a sostituire questa funzione con questa

//+------------------------------------------------------------------+
//| Check for long position opening                                  |
//+------------------------------------------------------------------+
bool CSampleExpert::LongOpened(void)
  {
   bool res=false;
//--- check for long position (BUY) possibility

           {
            double price=m_symbol.Ask();
            double tp   =m_symbol.Bid()+m_take_profit;
            //--- check for free money
            if(m_account.FreeMarginCheck(Symbol(),ORDER_TYPE_BUY,InpLots,price)<0.0)
               printf("We have no money. Free Margin = %f",m_account.FreeMargin());
            else
              {
               //--- open position
               if(m_trade.PositionOpen(Symbol(),ORDER_TYPE_BUY,InpLots,price,0.0,tp))
                  printf("Position by %s to be opened",Symbol());
               else
                 {
                  printf("Error opening BUY position by %s : '%s'",Symbol(),m_trade.ResultComment());
                  printf("Open parameters : price=%f,TP=%f",price,tp);
                 }
              }
            //--- in any case we must exit from expert
            res=true;
           }
//--- result
   return(res);
  }
//+------------------------------------------------------------------+
//| Check for short position opening                                 |
//+------------------------------------------------------------------+
bool CSampleExpert::ShortOpened(void)
  {
   bool res=false;
//--- check for short position (SELL) possibility

           {
            double price=m_symbol.Bid();
            double tp   =m_symbol.Ask()-m_take_profit;
            //--- check for free money
            if(m_account.FreeMarginCheck(Symbol(),ORDER_TYPE_SELL,InpLots,price)<0.0)
               printf("We have no money. Free Margin = %f",m_account.FreeMargin());
            else
              {
               //--- open position
               if(m_trade.PositionOpen(Symbol(),ORDER_TYPE_SELL,InpLots,price,0.0,tp))
                  printf("Position by %s to be opened",Symbol());
               else
                 {
                  printf("Error opening SELL position by %s : '%s'",Symbol(),m_trade.ResultComment());
                  printf("Open parameters : price=%f,TP=%f",price,tp);
                 }
              }
            //--- in any case we must exit from expert
            res=true;
           }
//--- result
   return(res);
  }
//+------------------------------------------------------------------+
Motivazione: