[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 1100

 
kolyango:

Le Stop Loss et le Take Profit ont déjà été définis ! Si le StopLoss fixé est inférieur au prix d'ouverture de l'ordre, il suffit de déplacer le StopLoss au-dessus du prix d'ouverture de 50 pips (à la perte), si le prix actuel est supérieur ou égal à 80 pips du prix d'ouverture de l'ordre. Et nous n'avons pas besoin de réarranger StopLoss et TakeProfit tout le temps !

Kolyana, tu es fatiguée de ton manque de volonté de penser.
 
DhP:

Kolya, tu es fatiguant avec ton refus de penser.

Je viens de commencer à étudier MQL4, donc je ne sais pas grand chose...
 

J'ai une question. Cela se passe comme suit : sur le graphique H1, chaque tick intervient après la formation complète d'une nouvelle barre, c'est-à-dire une fois par heure. Les ordres commerciaux ressemblent à ceci :

Pour acheter :


OrderSend(Symbol(),OP_BUY,LOT,Ask,slippage,Ask-StopLoss*Point,Ask+TakeProfit*Point,"",3,Green); // Открытие BUY
Alert (GetLastError()); // Выводит сообщение об ошибке

Pour vendre :


OrderSend(Symbol(),OP_SELL,LOT,Bid,slippage,Bid+StopLoss*Point,Bid-TakeProfit*Point,"",3,Red); // Открытие SELL
Alert (GetLastError()); // Выводит сообщение об ошибке

Et j'ai remarqué que l'erreur 129 s'affiche parfois et que tous les ordres de transaction ne sont pas exécutés. Je pense que c'est le nombre de chiffres après la virgule. Je pense que nous devrions ajouter Digits. Mais où exactement ? Ou encore, comment former l'ordre de transaction correct pour qu'il soit toujours exécuté, même si le conseiller expert n'est exécuté qu'une fois par jour ? Est-il nécessaire d'ajouter la fonction :
RefreshRates(); // Обновим данные

Avant l'ordre de transaction ? A peu près comme ça :

RefreshRates(); // Обновим данные

OrderSend(Symbol(),OP_BUY,LOT,NormalizeDouble(Ask,Digits),slippage,Ask-StopLoss*Point,Ask+TakeProfit*Point,"",3,Green); // Открытие BUY
Alert (GetLastError()); // Выводит сообщение об ошибке

Comment faire pour que tout se passe bien et que l'exécution soit toujours impeccable, quel que soit le délai ?

 

Comment écrire cette condition ? Si le prix actuel >= OrderOpenPrice() de 60 p. (Si le prix actuel est supérieur ou égal au prix de l'ordre ouvert de 60 p.)

Est-ce que c'est correct ?

if ((NormalizeDouble(Ask,Digits))>=(OrderOpenPrice()+Dist*Point))

 
kolyango:

Comment écrire cette condition ? Si le prix actuel >= OrderOpenPrice() de 60 p. (Si le prix actuel est supérieur ou égal au prix de l'ordre ouvert de 60 p.)

Est-ce que c'est correct ?

if ((NormalizeDouble(Ask,Digits))>=(OrderOpenPrice()+Dist*Point))



if ( Ask > (OrderOpenPrice()+(-0.5+ Dist)*Point) )



 
kolyango:

Comment écrire cette condition ? Si le prix actuel >= OrderOpenPrice() de 60 p. (Si le prix actuel est supérieur ou égal au prix de l'ordre ouvert de 60 p.)

Est-ce que c'est correct ?

if ((NormalizeDouble(Ask,Digits))>=(OrderOpenPrice()+Dist*Point))

double pa=MarketInfo(Symbol(),MODE_ASK);
int    pt=MarketInfo(Symbol(),MODE_POINT);
int    dg=MarketInfo(Symbol(),MODE_DIGITS);

if (NormalizeDouble(pa-OrderOpenPrice()+60*pt,dg)>=0) {    // если Ask больше либо равен цене открытия выбранного ордера + 60 пунктов
    // ... код, обрабатывающий истинностть выражения оператора if ...
   }
 
artmedia70:



Artem, il y a des questions qui ne valent pas la peine qu'on y réponde.

Quelqu'un devrait réfléchir avant de poser une question.

Joyeux Noël ! !!

 
Vinin:


Artem, il y a des questions qui ne valent pas la peine qu'on y réponde.

Quelqu'un devrait réfléchir avant de poser une question.

Joyeux Noël ! !!

Salut mon pote ! !! Merci, vous aussi ! :))))
Que ce soit un miracle de Noël pour quelqu'un... :)
 
Chers experts MQL4
Veuillez m'aider à écrire un indicateur simple.

1) Indicateur Gap Up


Si le prix d'ouverture d'hier est inférieur au prix inférieur d'aujourd'hui, alors l'indicateur appelle le prix d'ouverture d'aujourd'hui.
si la condition n'est pas remplie, alors l'indicateur laisse la valeur précédente.

2) Indicateur de gap down

si le prix supérieur d'aujourd'hui est inférieur au prix supérieur d'hier, alors l'indicateur appelle le prix d'ouverture d'aujourd'hui.
si la condition n'est pas remplie, alors l'indicateur laisse la valeur précédente.

3) Indicateur local de niveau haut et bas

si le Top d'avant-hier est inférieur au Top d'aujourd'hui et que le Top d'hier est supérieur au Top d'aujourd'hui, alors l'indicateur appelle le prix haut d'hier ; si la condition n'est pas remplie, alors l'indicateur laisse la valeur précédente, c'est-à-dire qu'il conserve le niveau de résistance

.

Sur le métastock, il est clair que si((Ref(H,-1) >Ref(H,0)) AND (Ref(H,-2) < Ref(H,-1) ), Ref( H,-1),PREV) ; mais dans MQL4 je suis un débutant.

Merci d'avance pour votre aide

 
Erreur 4109 : le commerce n'est pas autorisé. Comment le réparer ?