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