Comment coder ? - page 204

 

MT-4, veuillez m'aider.

MT-4- S'il vous plaît aidez-moi, je veux faire un fichier intersection DMI + et DMI -. Je veux avoir le signal au moment du mouvement DMI+ et DMI- sans ADX. Je ne m'en soucie pas. J'écris ceci ci-dessous mais s'il vous plaît créez pour ceci le fichier pour le déplacer vers MF4.

//+------------------------------------------------------------------+

//| ADXcross EXPERT |

//| Perky_z |

//| |

//+------------------------------------------------------------------+

#property copyright "Perky_z@yahoo.com "

#property link "http://groups.yahoo.com/group/MetaTrader_Experts_and_Indicators/"

//+--------------------------------------------------------------------------------------------------+

//| Alertes en main avec ADXcrosses Indicateur ils n'ont pas besoin d'être exécutés ensemble |

//+--------------------------------------------------------------------------------------------------+

// Alertes sur le croisement des lignes + et - DI

// Je l'utilise sur des graphiques de 15 minutes

Je l'utilise sur des graphiques de 15 minutes // mais il peut être utilisé sur n'importe quelle échelle de temps

// Utilisez d'autres indicateurs pour confirmer ce déclenchement.

//---- paramètres d'entrée

double b4plusdi,b4minusdi,nowplusdi,nowminusdi ;

//----

//---- indicateurs

Dans cette partie du code, changez la période comme vous le souhaitez (14 pour 4 dans chaque ligne) et cela devrait fonctionner dans ce scal que vous situez le diagramme.

b4plusdi=iADX(NULL,0,14,PRICE_CLOSE,MODE_PLUSDI,1) ;

nowplusdi=iADX(NULL,0,14,PRICE_CLOSE,MODE_PLUSDI,0) ;

b4minusdi=iADX(NULL,0,14,PRICE_CLOSE,MODE_MINUSDI,1) ;

nowminusdi=iADX(NULL,0,14,PRICE_CLOSE,MODE_MINUSDI,0) ;

 

Il ferme des lots partiels MAIS... il ne fait pas exactement ce que j'attendais.

Je n'arrive pas à comprendre ce qu'il fait, mais il semble fermer un lot lorsque le prix n'est PAS là où je le souhaite.

Peut-être pouvez-vous voir le problème ici.

devrait fermer 1 lot quand il y a un BUY et que le prix passe à .00071 (juste un nombre aléatoire que je teste sur un graphique de 1 minute)

ou fermer 1 lot lorsqu'il y a une VENTE et que le prix descend de 0,00071.

J'utilise un courtier à 5 chiffres, soit dit en passant. Il n'y a qu'une seule transaction ouverte et seulement par cet EA, donc pas de défilement des ordres.

MERCI pour votre aide !

if (IsConnected() && IsTradeAllowed()) while (IsTradeContextBusy()) Sleep(75) ;

si (OrdersTotal()>0) {OrderSelect(0, SELECT_BY_POS,MODE_TRADES) ;

RefreshRates() ;

if (Bid >= (OrderOpenPrice()+ (.00071)) && OrderLots() == 2 && (OrderType() == OP_BUY)) {

OrderClose(OrderTicket(),1,Ask,10,R ed) ; }

si (Ask <= (OrderOpenPrice()- (.00071)) && OrderLots() == 2 && (OrderType() == OP_SELL)) {

OrderClose(OrderTicket(),1,Bid,10,B lue) ; }}

 

Est-il possible de créer un code permettant de clôturer une transaction au seuil de rentabilité (profit=0), lorsqu'une transaction a (une fois) un profit positif, mais toujours en dessous du niveau d'arrêt du courtier (le trailing n'est pas encore touché) ?

Pour un courtier avec un niveau de stop de 10 points, le système de trailing ne peut fonctionner que si le profit a atteint au moins 10 points.

Souvent, je vois une transaction qui est devenue positive seulement jusqu'à 5 ou 8 pips, puis qui revient en arrière pour atteindre son SL.

Je pense donc à cela, mais je ne sais pas comment faire.

Comment faire un code breakeven pour un EA, quelque chose comme un Trailing Stop, mais qui fonctionne en dessous du StopLevel minimum du courtier ?

 

A SPACECHIMP

Lorsque nous ouvrons un ordre, nous utilisons l'Ask pour l'achat et l'Bid pour la vente. Lorsque l'on ferme, c'est le contraire.

 

Oui, je pense que c'est très utile

FulltimeTrader:Juin2009

 

J'ai besoin d'aide pour ajouter une alerte e-mail à cet indicateur Top Trend.

J'ai besoin d'aide pour ajouter une alerte e-mail dans cet indicateur Top Trend.

Voici la ligne et le fichier joint.

si (trend>0)

{

si (Signal>0 && UpTrendBuffer[shift+1]==-1.0)

{

UpTrendSignal[shift]=bsmin[shift] ;

UpTrendBuffer[shift]=bsmin[shift] ;

si(Line>0) UpTrendLine[shift]=bsmin[shift] ;

si (SoundON==true && shift==0 && !TurnedUp)

{

Alert("BBands going Up on ",Symbol(),"-",Period()) ;

TurnedUp = true ;

TurnedDown = false ;

}

}

else

{

UpTrendBuffer[shift]=bsmin[shift] ;

if(Line>0) UpTrendLine[shift]=bsmin[shift] ;

UpTrendSignal[shift]=-1 ;

}

si (Signal==2) UpTrendBuffer[shift]=0 ;

Signal de tendance à la baisse[shift]=-1 ;

DownTrendBuffer[shift]=-1.0 ;

DownTrendLine[shift]=EMPTY_VALUE ;

}

si (trend<0)

{

si (Signal>0 && DownTrendBuffer[shift+1]==-1.0)

{

DownTrendSignal[shift]=bsmax[shift] ;

DownTrendBuffer[shift]=bsmax[shift] ;

si(Line>0) DownTrendLine[shift]=bsmax[shift] ;

si (SoundON==true && shift==0 && !TurnedDown)

{

Alert("BBands going Down on ",Symbol(),"-",Period()) ;

TurnedDown = true ;

TurnedUp = false ;

}

}

else

{

DownTrendBuffer[shift]=bsmax[shift] ;

if(Line>0)DownTrendLine[shift]=bsmax[shift] ;

DownTrendSignal[shift]=-1 ;

}

si (Signal==2) DownTrendBuffer[shift]=0 ;

Signal de tendance à la hausse[shift]=-1 ;

UpTrendBuffer[shift]=-1.0 ;

UpTrendLine[shift]=EMPTY_VALUE ;

}

}

return(0) ;

}

Dossiers :
toptrend.mq4  6 kb
 

Je ne vois pas le problème ICI !!!?? AAAAHHHHH

Je n'ai aucune idée de ce que je fais de mal...

ceci ne semble pas fermer la moitié à un certain TP

if (OrdersTotal()>0) {

OrderSelect(0, SELECT_BY_POS,MODE_TRADES) ;

Tick = OrderTicket() ; // Numéro de l'ordre sélectionné

Tip =OrderType() ; // Type d'ordre sélectionné

Price =OrderOpenPrice() ; // Prix de l'ordre sélectionné

Lot =OrderLots() ;

if (Bid >= (Price + (TakeProfit * Point)) && Lot == 2 && (Tip == OP_BUY)) {

OrderClose(Tick,1,Bid,10,Red) ; }

if (Ask <= (Price - (TakeProfit * Point)) && Lot == 2 && (Tip = OP_SELL)) {

OrderClose(Tick,1,Ask,10,Blue) ; }}

Est-ce que j'ai le BID et l'ASK corrects ? probablement pas.

 

j'ai besoin d'aide avec mon ea

j'ai besoin d'un code pour restreindre mon ea à une seule transaction. c'est un scalper, je ne veux qu'une seule transaction, après qu'elle ait été faite, je la mets de côté et l'attache à nouveau le jour suivant. quelqu'un peut-il m'aider sur ce point ?

 

Où dans ce fil....

Quelque part dans ce fil de discussion, cette question a dû être posée...

Quelqu'un peut-il m'aider avec le code pour 1) avoir un SL caché qui 2) ne ferme qu' une partie (50%) de l'ordre ouvert et 3) ferme le reste de l'ordre après le franchissement d'une moyenne mobile.

Ci-joint un EA, mais il n'est pas en anglais, donc je ne peux pas comprendre complètement ce qu'il fait ou où ajouter mon autre code.

Merci pour votre aide.

Dossiers :
 

Comment éviter de recharger l'indicateur à chaque nouveau tic

Veuillez me dire ce que j'ai fait de mal en invoquant iCustom qui fait qu'un indicateur se recharge à chaque nouveau tic(le backtesting remplit toute la fenêtre de visualisation avec des centaines d'itérations de cet indicateur).

A partir de mon "Programme de démarrage", je veux confirmer une opportunité de trade en utilisant la méthode EntryDir() (qui suit) :

static datetime lastsd ;

si ( CurTime()-lastsd>2*60*Period() )

{

if(ZZ>=High[1] && EntryDir()==OP_SELL)

{

si(pos == 1) {DoExit(OP_BUY);}

PrepNewOrder(OP_SELL) ;

lastsd=CurTime() ;

}

if(ZZ!=0 && ZZ<=Low[1] && EntryDir()==OP_BUY)

{

si(pos == -1) {DoExit(OP_SELL);}

PrepNewOrder(OP_BUY) ;

lastsd=CurTime() ;

}

}

int EntryDir()

{

bool buyOK=false, sellOK=false ;

double flow = iCustom(NULL, 0, "Dtron", 0,0) + iCustom(NULL, 0, "Dtron" 1,0) ;

double trigger = iCustom(NULL, 0, "Dtron", 1,0) + iCustom(NULL, 0, "Dtron", 3,0) ;

double reversal = iCustom(NULL, 0, "Dtron", 4,0) ;

if((reversal==0 && flow + trigger>0) || reversal>0) entryDir=OP_BUY ;

if((reversal==0 && flow + trigger<0) || reversal<0) entryDir=OP_SELL ;

return(entryDir) ;

}

Veuillez me montrer comment éviter de provoquer l'ouverture de centaines de fenêtres d'indicateurs Dtron ici.

Raison: