Comment coder ? - page 152

 
m_43_62:
Bonjour

Merci beaucoup à tous les amis

Vous ne pouvez pas utiliser l'indicateur comme un conseiller, vous devez utiliser le conseiller avec l'indicateur, comme ceci :

P.S. N'oubliez pas de mettre l'indicateur dans le répertoire des indicateurs.

Dossiers :
 

supprimé

--- supprimé ---

 

Code pour afficher les JOURS/HEURES depuis le dernier croisement de MA

J'ai besoin d'un code qui m'indique la dernière fois que deux MA se sont croisées (c'est-à-dire depuis combien de temps). Il peut l'afficher en jours ou en heures.

Toute aide serait appréciée !

Todd

 

Conversion à la version "Market Execution

J'ai un EA construit pour la version "Instant Execution" de Metatrader4 et j'ai besoin de quelqu'un pour modifier le code afin qu'il fonctionne sur une version "Market Execution" de Metatrader4. Veuillez m'envoyer un devis ou toute question à phasna@gmail.com.

Merci

Paul

 

Quelqu'un connaît-il la déclaration icustom à utiliser dans un EA pour cet indicateur ?

Il n'a qu'un seul tampon SetIndexBuffer( 0, TrStopLevel ) ; qui est utilisé pour les points de fuite, les flèches sont dessinées par ObjectSet, comment le récupérer dans la déclaration icustom ?

MT4-LevelStop-Reverse-v2-1.mq4

Dossiers :
 
increase:
Quelqu'un connaît-il la déclaration icustom à utiliser dans un EA pour cet indicateur ?

Il n'y a qu'un seul tampon SetIndexBuffer( 0, TrStopLevel ) ; qui est utilisé pour les points de queue, les flèches sont dessinées par ObjectSet ; comment le récupérer dans l'instruction icustom ?

MT4-LevelStop-Reverse-v2-1.mq4

Quelqu'un peut-il m'aider ?

 

Aidez-moi à placer des trades entre les spreads !

Ok, les spreads tuent certaines paires. Mais est-il possible de placer des trades au milieu d'un spread. De cette façon, nous pouvons économiser des pips et gagner plus d'argent. J'ai ce code et il peut être changé pour modifier l'ordre au prix du graphique et non au prix demandé ?

void PlaceBuyOrder()

{

double BuyOrders, Lots ;

double LowestBuy = 1000, HighestBuy ;

if (BarTime != Time[0])

{

BarTime = Time[0] ;

TickPrice = 0 ;

TradeAllowed = true ;

}

RefreshRates() ;

for (Order = OrdersTotal() - 1 ; Order >= 0 ; Order--)

{

if (OrderSelect(Order, SELECT_BY_POS, MODE_TRADES))

{

si (OrderSymbol() == Symbol() && OrderMagicNumber() == Reference && OrderType() == OP_BUY)

{

si (OrderOpenPrice() < LowestBuy) LowestBuy = OrderOpenPrice() ;

if (OrderOpenPrice() > HighestBuy) HighestBuy = OrderOpenPrice() ;

Ordres d'achat++ ;

}

}

}

if (TradeAllowed)

{

si (Ask >= HighestBuy + (TrendSpacing * Point))

{

// si (Multiplicateur)

si (Multiplicateur == 1)

Lots = NormalizeDouble(LotSize * MathPow(LotIncrement, BuyOrders), 2) ;

sinon

Lots = NormalizeDouble(LotSize + (LotIncrement * BuyOrders), 2) ;

}

si (Ask <= LowestBuy - (Spacing * Point))

{

// si (Multiplicateur)

si (Multiplicateur == 1)

Lots = NormalizeDouble(LotSize * CounterTrendMultiplier * MathPow(LotIncrement, BuyOrders), 2) ;

sinon

Lots = NormalizeDouble((LotSize * CounterTrendMultiplier) + (LotIncrement * BuyOrders), 2) ;

}

if (Lots == 0)

{

// si (Multiplicateur)

si (Multiplicateur == 1)

Lots = NormalizeDouble(LotSize, 2) ;

sinon

Lots = NormalizeDouble(LotSize, 2) ;

}

OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, TradeComment, Reference, Green) ;

Error = GetLastError() ;

si (Error != 0)

Write("Erreur lors de l'ouverture de l'ordre BUY : " + ErrorDescription(Error) + " (C" + Error + ") Ask :" + Ask + " Slippage :" + Slippage) ;

sinon

{

TickPrice = Close[0] ;

TradeAllowed = false ;

}

}

}

void PlaceSellOrder()

{

double SellOrders, Lots ;

double HighestSell, LowestSell = 1000 ;

if (BarTime != Time[0])

{

BarTime = Time[0] ;

TickPrice = 0 ;

TradeAllowed = true ;

}

RefreshRates() ;

for (Order = OrdersTotal() - 1 ; Order >= 0 ; Order--)

{

if (OrderSelect(Order, SELECT_BY_POS, MODE_TRADES))

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Reference && OrderType() == OP_SELL))

{

si (OrderOpenPrice() > HighestSell) HighestSell = OrderOpenPrice() ;

si (OrderOpenPrice() < LowestSell) LowestSell = OrderOpenPrice() ;

SellOrders++ ;

}

}

}

if (TradeAllowed)

{

si (Bid <= LowestSell - (TrendSpacing * Point))

{

// si (Multiplicateur)

si (Multiplicateur == 1)

Lots = NormalizeDouble(LotSize * MathPow(LotIncrement, SellOrders), 2) ;

sinon

Lots = NormalizeDouble(LotSize + (LotIncrement * SellOrders), 2) ;

}

si (Bid >= HighestSell + (Spacing * Point))

{

// si (Multiplicateur)

si (Multiplicateur == 1)

Lots = NormalizeDouble(LotSize * CounterTrendMultiplier * MathPow(LotIncrement, SellOrders), 2) ;

sinon

Lots = NormalizeDouble((LotSize * CounterTrendMultiplier) + (LotIncrement * SellOrders), 2) ;

}

si (Lots == 0)

{

// si (Multiplicateur)

si (Multiplicateur == 1)

Lots = NormalizeDouble(LotSize, 2) ;

sinon

Lots = NormalizeDouble(LotSize, 2) ;

}

OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, TradeComment, Reference, Red) ;

Error = GetLastError() ;

si (Error != 0)

Write("Erreur lors de l'ouverture de l 'ordre SELL : " + ErrorDescription(Error) + " (D" + Error + ") Bid :" + Bid + " Slippage :" + Slippage) ;

sinon

{

TickPrice = Close[0] ;

TradeAllowed = false ;

}

}

}

Est-ce que cela peut être fait ?

 

AIDE~Juste une erreur, j'ai utilisé 3 heures sans pouvoir la trouver

JE SUIS TRES INQUIET, PARCE QUE JE NE PEUX PAS TROUVER comment corriger l'erreur suivante

quelqu'un peut-il me dire où est l'erreur ? ou m'aider à déboguer, j'ai joint les fichiers, voir buttom~ ~

'\end_of_program' - parenthèse gauche non équilibrée C:\Program Files\ MetaTrader\experts\scripts\delete_pending_SAM.mq4 (38, 2)

C'EST UN FICHIER SCRIPT~ ~

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

//| delete_pending.mq4 |

//| Copyright ?2004, MetaQuotes Software Corp. |

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

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

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

#property show_inputs

bool résultat ;

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

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

//| script "supprimer l'ordre en attente" |

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

int start()

{

for (int number=0 ; (number <= OrdersTotal()+1) ; number++ )

{for (int times=0 ;( times <= OrdersTotal()+1) ; times++ )

{if (OrderSelect(number,SELECT_BY_POS,MODE_TRADES) )

{if((OrderType()==OP_BUY) || (OrderType()==OP_SELL) ) break ;

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

si (OverSymbolDel ==1) delPending() ;

}

else Print("Erreur lors de la sélection de la commande ", GetLastError() ) ;

}

}

}

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

void delPending()

{OrderPrint() ;

int ticket =OrderTicket() ;

result=OrderDelete(ticket) ;

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

}

Dossiers :
 

Au 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() );

}
 
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() );

}

Merci pour votre aide.

et je trouve mon erreur :

{si (OrderSelect(number,SELECT_BY_POS,MODE_TRADES) )

changer en

OrderSelect(number,SELECT_BY_POS,MODE_TRADES) ;

{if((OrderType()==OP_BUY) || (OrderType()==OP_SELL) ) break ;

passer à

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

Raison: