[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 533

 
inttehn писал(а) >>
Les gars, s'il vous plaît, aidez-nous.
Est-il vrai que le taux de change dépend entièrement du volume des offres reçues ?
Simplement, si cela est vrai, alors en connaissant le rapport de volume et en connaissant leur somme (volume total des offres), vous pouvez ignorer le prix, car il peut être représenté sans ambiguïté comme une fonction égale au rapport des fonctions de volume correspondantes pour l'achat d'une et de l'autre monnaie.


C'est le pire des secrets bourgeois.

 

Messieurs les programmeurs, aidez-moi à faire en sorte que l'EA ne fonctionne que dans les zones spécifiées.

Par exemple : de 9h00 à 13-30 et de 17h00 à 22-30.

Le problème est que je connais MQL4 de façon très lointaine et très superficielle.

Si vous avez un conseiller expert, il génère des signaux pour ouvrir et placer des ordres selon son propre algorithme au cours d'une journée.

Mais nous devons lui donner une forme et n'exécuter ces signaux qu'à un certain moment, par exemple en une semaine.

La ligne du bas vous montre le principe, ce dont je parle :)

extern int H = 1 ; /heure

extern int H = 1 ; //minute.

extern double Lots = 0.1 ; //lot.

extern int SL = 15 ; //stop

extern int TP = 100 ; //prendre

int arparp

int aprvp

int aprvar

//Quelles variables définir ?


int start()

{

si ( ce que je dois ajouter ici, le code principal sera exécuté uniquement pendant les périodes de jour de 9-00 à

13-30 et 17-00-22-30 ? )

retour(0) ;


si ( condition qui a provoqué l'exécution des actions de l'EA)

{

Corps EA

}

retour(0) ;

}

Merci !

 
inttehn >>:
Ребят, помогите пожалуйста.
Верно ли, что курс валюты полностью зависит от объёма поступивших заявок. Т.е. если P1 - условная цена одной валюты, а P2- условная цена второй, то P1*V1=P2*V2, где V1 и V2- объёмы поступивших заявок на покупку первой и второй валюты соответственно. Курс в этом случае будет равен P1/P1(курс)=V2/V1. Просто если это так, то зная отношения объёмов и зная их сумму (общий объём заявок) можно не принимать во внимание цену, т.к. её можно однозначно представить как функцию равную отношению соответствующих функций объёмов на покупку одной и второй валюты. Эти объёмы предсказываются гораздо легче, чем цена, т.к. характеризуются только экономическими потребностями определённых субъектов. Вообще это должно быть верно по теории (основываясь на платёжный баланс стран и международную торговлю), но так ли это на самом деле? Может кто-нибудь над этим задумывался?

Tout est vrai, mais il faut juste garder à l'esprit qu'une cotation n'est pas exactement ce que vous avez appelé "prix notionnel de la devise" et ce qui est dérivé du ratio que vous avez mentionné, mais le prix de la dernière transaction sur une paire donnée. Quant au plus important secret bourgeois, je suis d'accord à 100% avec l'intervenant précédent.

 
bizon3d >>:

Господа, програмисты, помогите пожалуйста заставить советник работать только в установленные

периоды суток к примеру: с 9-00 по 13-30 и с 17-00 по 22-30.


if ((Hour()>=9&&(Hour()<13||Hour()==13&&Minute()<=30))||(Hour()>=17&&(Hour()<22||Hour()==22&&Minute()<=30)))
{
   //TODO
}
 
Bonjour à tous, je m'excuse tout de suite d'écrire peut-être hors sujet, c'est ma première fois ici, mais j'ai une question. Je voudrais vous demander si quelqu'un peut résoudre le problème suivant. Je tiens à préciser que je n'ai jamais essayé de modifier la couleur de l'indicateur. La couleur est correcte... Très ennuyeux... Si vous pouvez le réparer, s'il vous plaît, car je n'ai aucune connaissance de ces choses.... Merci d'avance...
Dossiers :
macd_line.rar  3 kb
 
Et une autre question. Je n'arrive pas à trouver un indicateur qui consiste en un histogramme MACD (comme dans le fichier joint ind_OsMAColored_v1, c'est-à-dire sans fioritures supplémentaires, juste 4 variantes de couleur et de largeur) et un indicateur de lignes MACD comme dans le post précédent (je l'ai joint à nouveau), de sorte que les lignes nulles coïncident dans l'histogramme et les lignes. Lorsque vous les superposez, les lignes nulles ne coïncident pas. Les indicateurs, que j'ai trouvés, ont toujours soit quelque chose à ajouter (les moments de croisement sont marqués par des lignes verticales, la divergence est dessinée, le système d'impulsion d'Elder est ajouté, etc.), soit il ne réagit pas aux changements de paramètres ou autre chose...... Est-il possible de fusionner exactement ces deux indicateurs, à partir des paramètres d'épaisseur des lignes et de couleur qu'ils ont. Si j'écris au mauvais endroit, veuillez me dire où écrire... Merci.
Dossiers :
 

Donc, nous avons décidé d'un prix et nous voulons acheter...

Euro/dollar

Prix

1.3233

Pour acheter de manière optimale, on achète comme ceci...

acheter (1.3230, glissement 3) N'est-ce pas ?

 


Pourquoi les indicateurs tuent-ils complètement le terminal
voici un exemple de l'indicateur #MFT_Trendline.mq4


Nombre de barres dans l'historique 5 000 et sur l'écran 2 000

Les fans de fibo tuent aussi complètement le terminal

Dossiers :
 
Bonjour.
Comment afficher le nom et la propriété de l'objet OBJ_HLINE? Par exemple sous forme de pourcentages sur les niveaux de Fibonacci.
 
Bonjour.
dans le code ci-dessous ne déclenche pas d'ouverture. Si une nouvelle barre s'ouvre au-dessus de la moyenne mobile, elle ouvre Shell, si elle s'ouvre en dessous, elle ouvre Buy. Fermer lorsque la moyenne mobile est atteinte, + stoploss + trailing stop. Aide avec le code et explication de ce que j'ai fait de mal. Merci d'avance ! !!
#include <b-Lots.mqh>
extern double TrailingStop = 30;
extern double Sploss = 15;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start() {
   double HA_up,HA_dw;
   double MA_H0,MA_H1,MA_L0,MA_L1,MA_0,MA_1;
   int i, cnt, ticket, total;
   bool flag=true;

   if(Bars<100) {
      Print("bars less than 100");
      return(0); 
   }
// Проверяем стоит ли открываться
   
   cnt=OrdersHistoryTotal()-1;
   for(i=cnt;i>=0;i--) {
      if(!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY )) continue;
      if(OrderOpenTime()>=Time[0]) { // Time[0] - если позиция открывается на нулевом баре текущего символа
         flag=false;
         break;
      }
   }
   cnt=OrdersTotal()-1;
   for(i=cnt;i>=0;i--) {
      if(!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
      if(OrderOpenTime()>=Time[0]) { // Time[0] - если позиция открывается на нулевом баре текущего символа
         flag=false;
         break;
      }
   }
   if(!flag) return(0); 
//-----------------------------------------------

   MA_0=iMA(0,0,3,0,MODE_EMA,PRICE_MEDIAN,0);
   MA_1=iMA(0,0,3,0,MODE_EMA,PRICE_MEDIAN,1);


//задали все данные 

   total=OrdersTotal();
   if(total<1) 
     {
      // Проверка свободной маржи
      if(AccountFreeMargin()<(1000*Lots))
        {
         Print("We have no money. Free Margin = ", AccountFreeMargin());
         return(0);  
        }
      // Условие открытие позиции BUY
      if(Open[0]<MA_0)
        {
         Lots=GetSizeLot();
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,5,Bid-Sploss*Point,0,"",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); 
        }
      // Условие открытие позиции SELL
      if(Open[0]>MA_0)
        {
         Lots=GetSizeLot();
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,5,Ask+Sploss*Point,0,"",16384,0,Red);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
           }
         else Print("Error opening SELL order : ",GetLastError()); 
         return(0); 
        }
      return(0);
     }
    
   for(cnt=0;cnt<total;cnt++)
     {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_SELL &&   
         OrderSymbol()==Symbol())  
        {
         if(OrderType()==OP_BUY)   // длинная позиция открыта
           {
           if(NormalizeDouble (MathAbs(MA_0-Bid),Digits)<Point)
                {
                 OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); 
                 return(0); 
                }
            // трейлинг-стоп для длинной позиции
            if(TrailingStop>0)  
              {                 
               if(Bid-OrderOpenPrice()>Point*TrailingStop)
                 {
                  if(OrderStopLoss()<Bid-Point*TrailingStop)
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
                     return(0);
                    }
                 }
              }
           }
         else 
           {
           if(NormalizeDouble (MathAbs(MA_0-Ask),Digits)<Point)
              {
               OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); 
               return(0); 
              }
            // трейлинг-стоп для короткой позиции
            if(TrailingStop>0)  
              {                 
               if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
                 {
                  if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
                     return(0);
                    }
                 }
              }
           }
        }
     }
   return(0);
  }

.