STRATEGIA ICHIMOKU - pagina 2

 

Ho "semplificato" un po' la codifica e ho iniziato a testare la strategia.

//+------------------------------------------------------------------+
//|                                              ICHIMOKU_SIMPLE.mq4 |
//|                      Copyright © 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

extern double Lots = 1.0;
extern double Tenkan = 9;
extern double Kijun = 26;   
//----
int start()
   {
   double tenkan_sen;
   double kijun_sen;
   int ticket;
  
// check for long position (BUY) possibility
      if(tenkan_sen>kijun_sen)
         {
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+Point,"ichimoku",16384,0,Green);
         if(ticket>0)
            {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
            }
         else Print("Error opening BUY order : ",GetLastError()); 
         return(0); 
         
         }   //  added by RaptorUK
            
   // SELL 
     {
      OrderSelect(SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_SELL && // check for opened position 
         OrderSymbol()==Symbol()) // check for symbol
         {
         if(OrderType()==OP_BUY) // long position is opened
            {
            // should it be closed?
            if(tenkan_sen<kijun_sen)   //  removed surplus (  RaptorUK
               {
               OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
               return(0); // exit
               }
            }
         }
      }
  return(0);
   }

Il test della strategia mostra che la qualità della modellazione è del 90% e non ci sono errori nel giornale.

Il diario dice: 2012.01.18 20:29:44 ICHIMOKU_F1 GBPCHF,H1: caricato con successo
2012.01.18 20:29:47 ICHIMOKU_F1 ingressi: Lotti=1; Tenkan=9; Kijun=26;

Tuttavia non è stato effettuato alcun trade e quindi non ci sono stati risultati.

Potrebbe esserci un problema con il codice?

 
RaptorUK:

Si inizializzano queste variabili ma non si dà loro alcun valore . . .

. . . quindi il test sarà sempre falso. Questo EA non piazzerà mai un ordine.

Ti sei perso il mio post precedente?
 
Credo di sì, le mie scuse. Ma non è un po' insolito, in questo caso, come il tenkan-sen e il kijun-sen avranno valori diversi ad ogni ordine aperto. Quindi sicuramente questo significherebbe che i valori non possono essere dati. L'unica proprietà che sarebbe la stessa per ogni ordine aperto è il valore di tenkan-sen superiore al valore di kijun-sen.
 
ToBa:
Credo di sì, le mie scuse. Ma non è un po' insolito, in questo caso, come il tenkan-sen e il kijun-sen avranno valori diversi ad ogni ordine aperto.

Ma non stai ottenendo i valori che cambiano ad ogni nuova barra . . . tu dichiari le variabili e non le imposti mai . . . quindi non cambiano mai, ti aspettavi che cambiassero per magia ?

 
ToBa:

Ho "semplificato" un po' la codifica e ho iniziato a testare la strategia.

Il test della strategia mostra che la qualità della modellazione è del 90% e non ci sono errori nel giornale.

Il diario dice: 2012.01.18 20:29:44 ICHIMOKU_F1 GBPCHF,H1: caricato con successo
2012.01.18 20:29:47 ICHIMOKU_F1 ingressi: Lotti=1; Tenkan=9; Kijun=26;

Tuttavia non è stato effettuato alcun trade e quindi non ci sono stati risultati.

Potrebbe esserci un problema con il codice?


"semplificato" Perché questo modo....

Se hai dato a tenkan-sen e kijun-sen il giusto codice per ottenere il suo valore e lo metti in questo

allora otterrai ogni tick tenkan_sen>kijun_sen un nuovo trade

Quanti trade vuoi aprire?

 
deVries:


"semplificato" Perché in questo modo....

Se avete dato a tenkan-sen e kijun-sen la giusta codifica per ottenere il suo valore e la mettete in questo

allora avrai ogni tick tenkan_sen>kijun_sen un nuovo trade

Quanti trade vuoi aprire?


L'obiettivo è di piazzare un singolo ordine aperto (1,0 lotto) non appena il tenkan-sen è maggiore del kijun-sen e mantenere la posizione fino a quando il tenkan-sen è inferiore al kijun-sen.
 
ToBa:

L'obiettivo è di piazzare un singolo ordine aperto (1,0 lotto) non appena il tenkan-sen è maggiore del kijun-sen e mantenere la posizione fino a quando il tenkan-sen è inferiore al kijun-sen.
Da dove prendete questi valori?
 
RaptorUK:
Da dove prendi questi valori?
Non sono esattamente sicuro di cosa intendi. Dall'esempio MACD, sembra che vada bene usare: if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious &&

MathAbs(MacdCurrent)>(MACDOpenLevel*Point) && MaCurrent>MaPrevious) e non ci sono valori.

 
Ok, finalmente ho capito cosa vuoi dire. Anche se non ho la minima idea di come recuperare i valori.
 
ToBa:
Ok, finalmente ho capito cosa vuoi dire. Anche se non ho la minima idea di come recuperare i valori.
Bene, questo è un progresso :-)
Motivazione: