[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 3
Voici un EA. Il ouvre une position sur une fractale haut/bas. Comment faire pour que le stop soit 5 pips plus haut (en cas d'achat) et 5 pips plus bas (en cas de vente) par rapport au sommet de la fractale ?
P_up0=iCustom(0,0,"Ценовой канал", Chperiod,0,0);
P_down0=iCustom(0,0,"Ценовой канал", Chperiod,1,0);
P_up1=iCustom(0,0,"Ценовой канал", Chperiod,0,1);
P_down1=iCustom(0,0,"Ценовой канал", Chperiod,1,1);
Up=iCustom(0,0,"olyakish_fractals_02(для Skonti)",15,150,"Процент для отсеивания по объему",110,1,3);
Down=iCustom(0,0,"olyakish_fractals_02(для Skonti)",15,150,"Процент для отсеивания по объему",110,3,3);//задали все данные
total=OrdersTotal();if( total<1){// Проверка свободной маржиif(AccountFreeMargin()<(1000* Lots)){Print("We have no money. Free Margin = ",AccountFreeMargin());return(0);}// Условие открытие позиции BUYif( Up> Down){
Lots= GetSizeLot();
ticket=OrderSend(Symbol(),OP_BUY, Lots,Ask,3,0,0,"",16384,0,Green);if( ticket>0){if(OrderSelect( ticket, SELECT_BY_TICKET, MODE_TRADES))Print("BUY order opened : ",OrderOpenPrice());}elsePrint("Error opening BUY order : ",GetLastError());return(0);}// Условие открытие позиции SELLif( Up< Down){
Lots= GetSizeLot();
ticket=OrderSend(Symbol(),OP_SELL, Lots,Bid,3,0,0,"",16384,0,Red);if( ticket>0){if(OrderSelect( ticket, SELECT_BY_TICKET, MODE_TRADES))Print("SELL order opened : ",OrderOpenPrice());}elsePrint("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( P_down1> P_down0|| Up< Down){OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);return(0);}if( TrailingStop>0){if(Bid-OrderOpenPrice()>Point* TrailingStop){if(OrderStopLoss()<Bid-Point* TrailingStop &&OrderStopLoss()!=OrderOpenPrice()+ X*Point){OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+ X*Point,OrderTakeProfit(),0,Green);return(0);}}}}else{// условие закрытия короткой позицииif( P_up1< P_up0|| Up> Down){OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);return(0);}if( TrailingStop>0){if((OrderOpenPrice()-Ask)>(Point* TrailingStop)){if(NormalizeDouble(OrderStopLoss(),Digits)!=NormalizeDouble(OrderOpenPrice()- X*Point,Digits)){OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()- X*Point,OrderTakeProfit(),0,Red);return(0);}}}}}}return(0);}
Toutes les questions sont résolues par l'expérience - écrire un script, l'exécuter, - nous voyons les différences suivantes par rapport à la méthode iFractals() standard 1. l'indicateur par l'indice fractal est exactement égal à High/Low 2. valeur inexistante de la fractale ==0
Je ne comprends pas comment afficher cela dans l'EA. lors de l'ouverture d'une position, il faut se souvenir de cette fractale. ensuite comment l'appeler dans la condition de fermeture ?
le sens de l'appel n'est pas clair, dans les variables globales du programme -Se souvenir du temps d'une barre fractale pour ouvrir une position. En utilisant le temps de la barre, nous connaissons le numéro de la barre grâce à iBars(). -souvenez-vous du prix fractal rappelez-vous le prix fractal - rappelez-vous le haut / bas et puis quoi faire à nouveau ?
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
oops :-)
Merci !
Bonjour les connaisseurs !
Voici un EA. Il ouvre une position sur une fractale haut/bas. Comment faire pour que le stop soit 5 pips plus haut (en cas d'achat) et 5 pips plus bas (en cas de vente) par rapport au sommet de la fractale ?
J'ai utilisé le canal de prix ici.
иJ'ai du mal à identifier le L ou le H de la fractale à laquelle la position a été ouverte !
à peu près comme ça ! !!?
donc multiplier par le prix du chiffre le plus bas
C'est là que j'ai fait une erreur. Merci.
Comment fixer le sommet de la fractale sur laquelle la position a été ouverte ????
- nous voyons les différences suivantes par rapport à la méthode iFractals() standard
1. l'indicateur par l'indice fractal est exactement égal à High/Low
2. valeur inexistante de la fractale ==0
P.S. regardez en arrière de la position par ce cycle, au moment de l'ouverture de la position, rappelez-vous
dans les variables globales du programme
-Se souvenir du temps d'une barre fractale pour ouvrir une position. En utilisant le temps de la barre, nous connaissons le numéro de la barre grâce à iBars().
-souvenez-vous du prix fractal
rappelez-vous le prix fractal - rappelez-vous le haut / bas
et puis quoi faire à nouveau ?
au-dessus de tous les blocs
écrire la fractale la plus proche lors de l'ouverture d'un ordre d'achat
entrer une autre condition pour l'ordre d'achat