Comment coder ? - page 153

 
Roger09:
Vers le chiromancie

Essayez ceci :

#property copyright "Copyright ?2004, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net/"

#property show_inputs

bool result;

extern double OverSymbolDel = 1; //0:FASLE ; 1: TRUE

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

//| script "delete pending order" |

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

int start()

{

for (int number=OrdersTotal()-1; number >= 0; number--)

{

OrderSelect(number,SELECT_BY_POS,MODE_TRADES);

if((OrderType()==OP_BUY) || (OrderType()==OP_SELL) ) continue;

if (OverSymbolDel ==0&& Symbol()==OrderSymbol() ) delPending();

if (OverSymbolDel ==1) delPending();

}

}

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

void delPending()

{

OrderPrint();

int ticket =OrderTicket();

result=OrderDelete(ticket);

if (!result) Print("Error when delete Order ", GetLastError() );

}

si ( (OverSymbolDel ==0 ) && (Symbol()==OrderSymbol() ) delPending() ;

changez en

si ( (OverSymbolDel ==0 ) && (Symbol()==OrderSymbol() )) delPending() ;

 

GetClientRect ???

Comment dois-je faire si je veux acquérir les coordonnées du client du graphique ?

Je veux connaître les coordonnées inférieures droites sans utiliser OBJPROP_CORNER.

Mes meilleures salutations.

 

Eu h1 ea

veuillez m'aider à modifier le meilleur

 

Aide avec la logique

Bonjour à tous,

J'aurais besoin d'un peu d'aide avec un code logique. J'essaie de construire un EA d'un système que je regarde mais je suis un peu perplexe sur la façon d'écrire la logique pour les signaux d' achat et de vente. Voici la pseudo logique de ce que je veux transformer en MQL :

BUY LOGIC :

If (MA_1 > MA_2) and (Previous(MA_1 < MA_2)) // A moving average cross mean we have a "GET READY" signal

// Once we have a "GET READY" signal the following conditions need to be true

// in order for the system to create a "BUY_SIGNAL".

// Note: the following conditions do not necessarily have to become true on the exact same bar,

but need to trigger true within + or - 2 bars of the "GET READY" bar.

( CLOSE > MA3 ) // Price closes above a MA

( CCI Crosses above the ZERO line ) // CCI crosses up above zero

( Fast Stochastic crosses above Slow Stochastic ) // Stochastic triggers to the up side

La logique de vente est juste l'opposé de la logique d'achat.

Je n'ai pas besoin d'un code EA complet, juste de la logique convertie en instructions MQL 'IF' et 'LOOP' pour faire fonctionner le signal. Je pense que je peux comprendre le code OpenOrder etc... à partir des nombreux exemples déjà présents dans ce fil.

Toute aide que vous pourrez m'apporter sera très appréciée.

Merci,

Moxy

 

Votre meilleure chance est de regarder dans le fichier d'aide du metaeditor.

Regardez des fonctions comme iMa, iStochastic et iCCI. Elles ont des exemples et si vous les combinez avec les informations que vous obtiendrez en regardant le code de n'importe quel EA, vous trouverez cela facile.

Bonne chance

Lux

 
luxinterior:
Votre meilleure chance est de regarder dans le fichier d'aide du metaeditor.

Jetez un coup d'œil à des fonctions comme iMa, iStochastic et iCCI. Elles ont des exemples et si vous les combinez avec les informations que vous obtiendrez en regardant le code de n'importe quel EA, vous trouverez cela facile.

Bonne chance

Lux

Bonjour Lux,

Merci pour votre réponse. Je peux travailler sur les déclarations iMA individuelles etc... le problème que j'ai est comment référencer les différentes barres de temps une fois qu'un signal est déclenché. Par exemple... Si j'ai un signal GET READY, je dois regarder les 2 barres avant et les 2 barres après (5 barres au total) pour les autres indicateurs afin de confirmer que j'ai un SIGNAL D'ACHAT à l'ouverture de la prochaine barre. Je ne suis pas sûr que cela ait un sens !

Je suppose que oui... comment structurer les boucles FOR nécessaires, etc. lorsque j'ai besoin de référencer les barres avant et après la barre en cours de traitement.

Salutations,

Moxy

 
Moxy:
Bonjour Lux,

Merci pour la réponse. Le problème que j'ai est de savoir comment référencer les différentes barres de temps une fois qu'un signal est déclenché. Par exemple... Si j'ai un signal GET READY, je dois regarder les 2 barres avant et les 2 barres après (5 barres au total) pour les autres indicateurs afin de confirmer que j'ai un SIGNAL D'ACHAT à l'ouverture de la prochaine barre. Je ne suis pas sûr que cela ait un sens !

Je suppose que oui... comment structurer les boucles FOR nécessaires, etc. lorsque j'ai besoin de référencer les barres avant et après la barre en cours de traitement.

Merci,

Moxy

Vous faites cela en utilisant la variable shift dans iMA(). Vous pouvez également le faire avec les valeurs Open, High, Low, Close, c'est-à-dire Close[3] qui est à 3 barres de la barre actuelle.

 

Moyenne mobile des mouvements

J'ai besoin d'un peu d'aide avec le code, je cherche à déterminer un ensemble de mouvements moyens autour d'une MA, donc à partir de la BAR la plus ancienne, je cherche les mouvements au-dessus et en dessous, je les mets dans un tableau puis je fais la moyenne de ce tableau.

Voici le code avec lequel je commence, j'ai besoin d'un peu d'aide pour le faire.

double AverageMove()

{

int cbars = iBars(Symbol(),EntryTimeFrame) ;

int counted_bars = 0,RangeCounter=0,ndx=0,iLimit=0 ;

double retval,averagemove,pHValue,pLValue,MAvalue,RangeValue[],EntryPoint,cHigh,cLow ;

bool reset,TradeShort,TradeLong ;

iLimit=Bars-1 ;

if(Symbol() != "AUDNZD") return(0) ;

for(ndx=0 ; ndx<iLimit ; ndx++)

{

MAvalue = iMA(Symbol(),EntryTimeFrame,EntryMAInterval,0,MovingAverageType,PRICE_MEDIAN,ndx) ;

pLValue = High[ndx] ;

pLValue = Low[ndx] ;

if(MAvalue pLValue)

{

if(Symbol() =="AUDNZD") Print("MAValue="+MAvalue+" pHValue="+pHValue+" plValue="+pLValue) ;

reset = true ;

if(EntryPoint > 0 && cHigh > 0)

{

RangeCounter++ ;

RangeValue[RangeCounter]=cHigh - EntryPoint ;

}

if(EntryPoint > 0 && cLow > 0)

{

RangeCounter++ ;

RangeValue[RangeCounter]=EntryPoint - cLow ;

}

EntryPoint = MAvalue ;

}

if(pHValue < MAvalue && reset) TradeShort = true ;

if(pLValue > MAvalue && reset) TradeLong = true ;

if(TradeLong)

{

reset = false ;

cHigh = pHValue ;

}

if(TradeShort)

{

reset = False ;

cLow = pLValue ;

}

}

ArraySetAsSeries(RangeValue,true) ;

retval=iMAOnArray(RangeValue,RangeCounter,13,1,PRICE_MEDIAN,0) ;

Print("Mouvement moyen "+retval) ;

}

 

J'aimerais connaître l'espace client sur le graphique.

Doucement,

J'aimerais connaître l'espace client sur la carte.

Veuillez me conseiller.

En supposant que le point du coin supérieur gauche est (0,0), veuillez me donner les coordonnées du coin inférieur droit.

Dans ce cas, ObjectSet("",OBJPROP_CORNER,3)ne devrait pas être utilisé.

Merci beaucoup et bonne continuation,

 

Moxy,

Si je vous comprends bien, vous devrez coder cette ligne pour ligne dans un EA.

exemple

MA1, index-1 avant

MA1, index maintenant

MA1, index+1 après

vous avez la base ici