STRATÉGIE ICHIMOKU - page 2

 

J'ai "simplifié" un peu le codage et j'ai commencé à tester la stratégie.

//+------------------------------------------------------------------+
//|                                              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);
   }

Le test de stratégie montre que la qualité de la modélisation est de 90% et qu'il n'y a pas d'erreurs dans le journal.

Le journal indique : 2012.01.18 20:29:44 ICHIMOKU_F1 GBPCHF,H1 : chargé avec succès.
2012.01.18 20:29:47 ICHIMOKU_F1 entrées : Lots=1 ; Tenkan=9 ; Kijun=26 ;

Cependant, aucune transaction n'a été effectuée et il n'y a donc pas eu de résultats.

Pourrait-il y avoir un problème avec le code ?

 
RaptorUK:

Vous initialisez ces variables mais ne leur donnez aucune valeur . . .

... donc le test sera toujours faux. Cet EA ne passera jamais d'ordre.

Avez-vous manqué mon message précédent ?
 
Je suppose que oui, mes excuses. Mais n'est-ce pas un peu inhabituel, dans ce cas, car le tenkan-sen et le kijun-sen auront des valeurs différentes à chaque ordre ouvert. Cela signifie donc sûrement que les valeurs ne peuvent pas être données. La seule propriété qui serait la même pour chaque ordre ouvert est la valeur de tenkan-sen étant plus élevée que la valeur de kijun-sen.
 
ToBa:
Je suppose que oui, toutes mes excuses. Mais n'est-ce pas un peu inhabituel, dans ce cas, puisque le tenkan-sen et le kijun-sen auront des valeurs différentes à chaque ordre ouvert.

Mais vous n'obtenez pas les valeurs qui changent avec chaque nouvelle barre... vous déclarez les variables et vous ne les définissez jamais... donc elles ne changent jamais, vous attendiez-vous à ce qu'elles changent par magie ?

 
ToBa:

J'ai "simplifié" un peu le codage et j'ai commencé à tester la stratégie.

Le test de stratégie montre que la qualité de la modélisation est de 90% et qu'il n'y a pas d'erreurs dans le journal.

Le journal indique : 2012.01.18 20:29:44 ICHIMOKU_F1 GBPCHF,H1 : chargé avec succès.
2012.01.18 20:29:47 ICHIMOKU_F1 entrées : Lots=1 ; Tenkan=9 ; Kijun=26 ;

Cependant, aucune transaction n'a été effectuée et il n'y a donc pas eu de résultats.

Pourrait-il y avoir un problème avec le code ?


"simplifié" Pourquoi de cette façon....

Si vous avez donné à tenkan-sen et kijun-sen le bon codage pour obtenir sa valeur et que vous le mettez dans ceci

alors vous obtiendrez chaque tick tenkan_sen>kijun_sen un nouveau trade.

Combien de transactions voulez-vous ouvrir ?

 
deVries:


"simplifié" Pourquoi de cette façon....

Si vous avez donné à tenkan-sen et kijun-sen le bon codage pour obtenir sa valeur et que vous le mettez dans ceci

alors vous aurez chaque tick tenkan_sen>kijun_sen un nouveau trade.

Combien de trades voulez-vous ouvrir ? ??


L'objectif est de placer un seul ordre ouvert (1,0 lot) dès que le tenkan-sen est supérieur au kijun-sen et de maintenir la position jusqu'à ce que le tenkan-sen soit inférieur au kijun-sen.
 
ToBa:

L'objectif est de placer un seul ordre ouvert (1,0 lot) dès que le tenkan-sen est supérieur au kijun-sen et de maintenir la position jusqu'à ce que le tenkan-sen soit inférieur au kijun-sen.
D'où tenez-vous ces valeurs ?
 
RaptorUK:
D'où proviennent ces valeurs ?
Je ne suis pas sûr de ce que vous voulez dire. Dans l'exemple MACD, il semble que l'on puisse utiliser : if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious &&

MathAbs(MacdCurrent)>(MACDOpenLevel*Point) && MaCurrent>MaPrevious) et aucune valeur n'est donnée.

 
Ok, je vois enfin ce que vous voulez dire. Cependant, je n'ai pas la moindre idée de la façon de récupérer les valeurs.
 
ToBa:
Ok, je vois enfin ce que vous voulez dire. Cependant, je n'ai pas la moindre idée de la façon de récupérer les valeurs.
Bien, c'est un progrès :-)
Raison: