Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
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.
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
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.mq4Quelqu'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() ) ;
}
Au chiromancie
Essayez ceci :
#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() );
}Vers le chiromancie
Essayez ceci :
#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 ;