Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1475

 
MakarFX:

Je l'ai signé.

Makar, arrêtez de jouer avec la tête de cet homme. Il n'a besoin que de la variable de niveau global et du prix actuel.

input int      Points = 30;
double LoU;

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(Bid-LoU >= Points*_Point)
    {
     OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0,"300",0);
     Print("---------------------КАЖДЫЙ ТИК ------Tick---------=     "    ,   Tick);
     LoU = Bid; // Здесь вместо Bid можно поставить любую цену
    }
  }

Ainsi, à chaque tick, la différence entre le prix actuel et le prix dans la variable LoU sera vérifiée et si cette différence est égale ou supérieure à 30 points - la condition est remplie, la variable LoU prendra une nouvelle valeur et la différence sera vérifiée avec une valeur différente.

 
ANDREY:

Voici votre code.

Mais pour une raison quelconque, il n'ouvre aucun ordre.

C'est l'ouverture pour moi. Vérifiez ce que dit le journal.


 

Bonne journée !


Je crée un indicateur dans une fenêtre séparée. Je veux définir la hauteur initiale de la fenêtre, par exemple 100

Nous avons une fonction standard :

#property indicator_height  100
IndicatorSetInteger(INDICATOR_HEIGHT, 100)

Mais ils bloquent la modification de la hauteur de l'utilisateur, elle reste toujours à 100((((. Et j'ai vraiment besoin de pouvoir la modifier manuellement par la suite.


D'autres options ?) Jusqu'à présent, j'ai trouvé un moyen desimuler parWinAPI, que nous étirons la fenêtre avec la souris (et je ne suis pas sûr de ce que je peux faire)

 

Faites-le :

IndicatorSetInteger(INDICATOR_HEIGHT, 100);
IndicatorSetInteger(INDICATOR_HEIGHT, 0);
 
alex_xss:

Bonne journée !


Supprimez simplement

IndicatorSetInteger(INDICATOR_HEIGHT, 100)
 
Il y a une subtilité ici. Il faut d'abord définir la taille, puis remettre à zéro pour libérer la fixation, ce qui ne change pas la taille. Il n'y a pas d'autre moyen de contourner ce problème.
 
Alexey Viktorov:

Makar, arrêtez de jouer avec la tête de cet homme. La variable de niveau global et le prix actuel lui suffisent.

Ainsi, à chaque tick, la différence entre le prix actuel et le prix de la variable LoU sera vérifiée et si cette différence est égale ou supérieure à 30 points - la condition est remplie, la variable LoU prendra une nouvelle valeur et la différence sera vérifiée avec une valeur différente.

Vous vous trompez radicalement.... Grâce à Makar, j'ai considérablement et surtout très efficacement élargi mes horizons dans le domaine du forex. Sans lui, je ne sais pas quand j'aurais appris tant de choses utiles pour moi. J'aimerais qu'il y ait plus de "managers" de ce type sur ce forum. C'est lui, et pas quelqu'un d'autre, qui m'a dit que la solution à mon problème est l'utilisation d'EventSetTimer(60). Je lui suis très reconnaissant pour le support informationnel rapide et de haute qualité.

Et ce que vous conseillez, je le savais depuis longtemps et dans mon code, votre conseil était présent dès le début.
 
Alexey Viktorov:

Makar, arrêtez de jouer avec la tête de cet homme. La variable de niveau global et le prix actuel lui suffisent.

Vous ne lisez jamais le sujet en premier et vous informez de ce qui a déjà été voté.

 
MakarFX:

Vous ne lisez jamais le sujet avant de conseiller ce qui a déjà été fait.

D'accord avec vous à 100%.... sans vouloir offenser Alexei.....

 
MakarFX:

Ça marche pour moi. Vérifiez ce que dit le journal


2021.05.20 06:30:45.176 GBPUSD,M1: 52255 tick events (1440 bars, 53255 bar states) processed in 0:00:00.000 (total time 0:00:05.906)
2021.05.20 06:30:45.163 2010.01.04 00:00:00  ×ÈÑÒÛÉ inputs: Points=30; 
2021.05.20 06:30:45.145 TestGenerator: spread set to 2
2021.05.20 06:30:45.145 TestGenerator: no connect to trade server, default environment will be applied