[Archivio!] SCRIVERE UN PAESE INSIEME!!! - pagina 20

 

Mi rendo conto di essermi bloccato a pagina 19 dopo aver letto la prima, ma mettiamo le cose in chiaro:

1) questo è un Expert Advisor basato su una ripartizione

2) tutte le altre idee che non corrispondono alla ripartizione sono respinte?

3) Non dovremmo classificare le strategie e poi costruire 3-4 EAs?

4) Sono pronto a sostenerli con idee e codice

5) scusatemi - devo leggere le 18 pagine precedenti

 
nessun suggerimento concreto finora... né sui guasti né su altri... finora solo specifico dall'autore sull'analisi multicurrency (hedge)
 

Poi il primo suggerimento da parte mia:

definiamo le possibili modalità di lavoro (guasto, non guasto, ecc.). Cavolo, ho visto degli articoli da qualche parte, quindi se qualcuno ha dei consigli, sarei grato se qualcuno mi desse un link.

 
Credo che a nessuno importi della strategia finché c'è un profitto...
 
sllawa3 >> :
Credo che a nessuno interessi il principio della strategia, purché sia redditizia...

Con questo tipo di approccio, può essere qualsiasi cosa.

Per quanto mi riguarda, la cosa principale è la codifica sostenuta da una theroia competente. Visto che l'autore ha finito l'entusiasmo, suggerisco - facciamo le cose nel modo maturo?????

1) C'è una strategia del signor BookKeeper. Creiamo un Expert Advisor basato su di esso. Potete trovare la strategia qui http://uploadbox.com/files/73dd564596/

2) Non prestiamo ancora attenzione alla sua redditività - il processo di implementazione ci dirà tutto sui colli di bottiglia, che possono essere un punto di partenza per i progetti futuri.

3) Propongo di creare un nuovo thread (spero che ai moderatori non dispiaccia) - Creazione della strategia 'Expert Advisor basato sulla strategia di BookKeeper'.

 
caspermax >> :

Allora la prima frase è da parte mia:

Determiniamo le possibili modalità di lavoro (sfondamento, non sfondamento, ecc.). Accidenti, sapevo articolo da qualche parte, quindi se qualcuno mi dirà - sarò grato, se qualcuno buttare via un link.

Nel caso in cui qualcuno non si sia preso la briga di leggere tutte le 19 pagine, ve lo dirò brevemente ;)

L'idea originale era infatti quella di rompere il massimo e il minimo del giorno precedente. Entriamo stupidamente con uno stop fisso e un profitto. A lungo termine questo sistema funziona con il fattore di profitto approssimativamente uguale a 1,0. Cioè sta perdendo tanto profitto quanto sta perdendo 50/50. Ecco perché suggerisco di utilizzare strumenti aggiuntivi per aumentare la redditività dell'Expert Advisor utilizzando il periodo di test del 2009. Ricordate che inizialmente non c'era nessun indicatore, nessun oscillatore, nessuna rete a strascico, nessuna regola di uscita dal mercato, cioè niente...

Questo è stato seguito da un paio di suggerimenti e come opzione ho deciso di postare anche il mio indicatore multicurrency. L'ho attaccato al mio Expert Advisor e ho ottenuto i risultati dal 2000. (P.9).

Questo è il motivo per cui abbiamo dimenticato l'idea iniziale e abbiamo iniziato a discutere dell'indicatore))) e costruire il nostro EA basato su di esso. Quindi, facciamo una breve introduzione:)

Tornerò all'idea di ripartizione oggi però e posterò un esperto. Sarò felice di discuterne insieme...

 
RomanS >> :

Inizialmente c'era davvero un'idea per una ripartizione dell'alto/basso del giorno precedente... Ma per qualche motivo, hanno dimenticato l'idea originale e hanno iniziato a discutere dell'indicatore stesso ))))

Io sto ancora affrontando il mio. Ma sono d'accordo sull'indicatore) Ci dovrebbe essere qualcosa come un filtro commerciale...

 
ALex2008 >> :

Sto ancora sistemando il mio... Ma per quanto riguarda l'indicatore mi unirò a te) Ci dovrebbe essere qualcosa come un filtro commerciale...


Controllo questo thread di tanto in tanto...

È interessante vedere i risultati finali, vedo che hai quasi tutto pronto, ma è ancora una foresta fitta )))

 

È lo stesso Expert Advisor della prima pagina, ma controlla la divergenza MACD, cioè se non c'è divergenza, si apre nella direzione della rottura, se c'è, è esattamente il contrario. Ecco un esempio dell'esperto nella foto

Allo stesso tempo lo stop loss è impostato 2 volte meno del take profit.

Ecco il codice

//+-----------------------------------------------------------------------+
//|                                                     Крокодил ГЕНА.mq4 |
//|                                                         Крокодил ГЕНА |
//+-----------------------------------------------------------------------+

  // Внешние переменные
  extern double TakeProfit = 1100; 
  extern double Lot        = 1;    
  extern string SYMBOL     = "EURUSD";
  
  // Глобальные переменные
  int LastTradeTime = 0;      // Время последней открытой сделки
  
  // Поехали... :)
  int start() 
  {  
     int Ticket;
  double BID,
         ASK,
         SL=0,
         TP=0;                                  
    bool Ans         = false,
         Open_Bay_1  = false,
         Open_Sell_1 = false,
         Open_Bay_2  = false,
         Open_Sell_2 = false;

  // Критерии открытия позиций
    RefreshRates();                                             
    BID = MarketInfo( SYMBOL,9);
    ASK = MarketInfo( SYMBOL,10);
    if ( BID > iHigh ( SYMBOL,PERIOD_D1,1))
      {
       if (iMACD( SYMBOL,15,12,26,9,0,0,0)>iMACD( SYMBOL,15,12,26,9,0,0,iHighest( SYMBOL,15,MODE_HIGH,96,1))) Open_Bay_1 = true;
       if (iMACD( SYMBOL,15,12,26,9,0,0,0)<iMACD( SYMBOL,15,12,26,9,0,0,iHighest( SYMBOL,15,MODE_HIGH,96,1))) Open_Sell_2 = true;
      }
    if ( BID < iLow ( SYMBOL,PERIOD_D1,1))
      {
       if (iMACD( SYMBOL,15,12,26,9,0,0,0)<iMACD( SYMBOL,15,12,26,9,0,0,iHighest( SYMBOL,15,MODE_HIGH,96,1))) Open_Sell_1 = true;
       if (iMACD( SYMBOL,15,12,26,9,0,0,0)>iMACD( SYMBOL,15,12,26,9,0,0,iHighest( SYMBOL,15,MODE_HIGH,96,1))) Open_Bay_2 = true;
      } 
        
  // Открытие позиций 1
      if ( Open_Bay_1 == true && OrdersTotal()==0 && TimeDay(TimeCurrent())!= LastTradeTime)                                           
        {      
         SL = iLow( SYMBOL,PERIOD_D1,0);
         TP = ASK + TakeProfit*Point;
         Ticket=OrderSend( SYMBOL,OP_BUY, Lot, ASK,20, SL, TP);         
         LastTradeTime=TimeDay(TimeCurrent()); // задаем время сделки, чтобы сегодня больше не торговать 
        }
     if ( Open_Sell_1 == true && OrdersTotal()==0 && TimeDay(TimeCurrent())!= LastTradeTime)                                             
        {      
         SL = iHigh ( SYMBOL,PERIOD_D1,0);
         TP = BID - TakeProfit*Point;
         Ticket = OrderSend( SYMBOL,OP_SELL, Lot, BID,20, SL, TP);         
         LastTradeTime=TimeDay(TimeCurrent());  // задаем время сделки, чтобы сегодня больше не торговать
        }
        
  // Открытие позиций 2
      if ( Open_Bay_2 == true && OrdersTotal()==0 && TimeDay(TimeCurrent())!= LastTradeTime)                                           
        {      
         SL = BID - TakeProfit/2*Point; 
         TP = ASK + TakeProfit*Point;
         Ticket=OrderSend( SYMBOL,OP_BUY, Lot, ASK,20, SL, TP);         
         LastTradeTime=TimeDay(TimeCurrent()); 
        }
     if ( Open_Sell_2 == true && OrdersTotal()==0 && TimeDay(TimeCurrent())!= LastTradeTime)                                             
        {      
         SL = BID + TakeProfit/2*Point;                                            
         TP = BID - TakeProfit*Point;
         Ticket = OrderSend( SYMBOL,OP_SELL, Lot, BID,20, SL, TP);         
         LastTradeTime=TimeDay(TimeCurrent());   
        } 
   // Закрытие позиций
     for(int i=0; i<=OrdersTotal(); i++)   
      {  
       if (OrderSelect( i, SELECT_BY_POS)==true)  
         {                                        
          if (OrderSymbol() != SYMBOL) continue;
          if (OrderType()==0)
            {
             if (OrderProfit()>0 && TimeDay(TimeCurrent())!= LastTradeTime)
             Ans = OrderClose(OrderTicket(),OrderLots(), ASK,20);
            }
          if (OrderType()==1)
            {
            if (OrderProfit()>0 && TimeDay(TimeCurrent())!= LastTradeTime)
            Ans = OrderClose(OrderTicket(),OrderLots(), BID,20);
            }
         } 
      }        
   return;       
  }

Se il take profit non viene raggiunto entro un giorno, ma c'è del profitto sulla posizione, chiudiamo la posizione.

Questo è dal 01.01.2009 ad oggi.

A proposito, la definizione di divergenza è semplice e persino ridicola, ma in qualche modo funziona. Qualcuno ha idea di una definizione migliore?

 
il principio di ripartizione è stato provato da me circa un anno fa in molte varianti diverse... posso dire con certezza che non è fattibile... per quanto riguarda la mancanza di indicatori, posso anche dire che in ogni caso, il prezzo è già un indicatore... tutti gli altri sono derivati di esso... con diversi gradi di media... ritardi, ecc. Propongo di scrivere un sistema multicurrency su un principio semplice ed efficace ... entrata quando 2 indicatori sono in esecuzione troppo alto ... stocastico e Vp ... e allo stesso tempo su più timeframes (per esempio m1 e 5 e m15 o 30)