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
Merci MrPip
J'ai compris où vous vouliez en venir, je vais y réfléchir et vous demander à nouveau si je suis bloqué.
salutations
Corrections en rouge ci-dessous. Robert
Merci Robert... ça m'a aidé...
Décompte des barres avec les indicateurs MTF
MTF = indicateurs multi time frame
double BarCountDownInSec()
{
double g ;
g=Time[0]+Period()*60-TimeCurrent() ;
retour(g) ;
}
La fonction ci-dessus donne le deuxième compte à rebours pour les barres du graphique actuel. Ainsi, si elle est placée sur un graphique de 5 minutes, elle affichera le décompte des secondes pour chaque barre de 5 minutes.
Q : Comment puis-je obtenir le décompte des secondes pour une barre de 15 minutes (c'est-à-dire 3x barres de 5 minutes), lorsque je suis dans un graphique de 5 minutes, donc un décompte de 15 minutes de 6.00 à 6.15. puis 6.15 à 6.30, alors que je suis dans un graphique de 5 minutes ?
Problème avec ma programmation (BUG)
Bonjour,
Quelqu'un peut-il m'aider à résoudre ce bug ? J'ai presque réussi, mais l'histogramme n'apparaît pas à moins que je ne recompile le code.
S'il vous plaît aider !!! S'il vous plaît s'il vous plaît s'il vous plaît
Salutations
Problème d'iCustom
Quel est le nom de la chaîne de caractères de cet indice que je dois utiliser pour une partie iCustom d'un EA ?
J'ai essayé
MT4-LevelStop-Reverse-vBO-4
MT4-LevelStop-Reverse- (en anglais)
MT4-LevelStop-Reverse
vBO-4
vB0.4
vtsbh2483-
MT4-LevelStop-Reverse-" + INDICATOR_VERSION + "(
Je n'ai donc aucune idée de ce qu'il faut faire ensuite.
ou dois-je mettre les noms de chaîne ATRMode, Manual Mode, etc.
Toute aide serait la bienvenue
Quelqu'un peut-il voir l'erreur ? Je ne vois pas où se trouve l'erreur dans ce code. Je continue à obtenir. Toute aide pour l'identifier serait la bienvenue. Merci
LongSig Variable non définie
//+------------------------------------------------------------------+
//| Calculer les positions ouvertes |
//+------------------------------------------------------------------+
int CalculateCurrentOrders() {
achète=0 ; vend=0 ;
string symbol=Symbol() ;
//----
for(int i=0;i<OrdersTotal();i++)
{
si(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) continuer ;
if(OrderSymbol()==Symbol() && OrderMagicNumber()==expertId)
{
if(OrderType()==OP_BUY || OrderType()==OP_BUYSTOP) achète++ ;
if(OrderType()==OP_SELL || OrderType()==OP_SELLSTOP) vend++ ;
}
}
//---- retourner le volume des ordres
if(buys>0) return(buys) ;
sinon return(-sells) ;
}
//+------------------------------------------------------------------+
//| Vérifier les conditions des ordres ouverts |
//+------------------------------------------------------------------+
void CheckForSignals() {
buysig=false ;
sellsig=false ;
closebuy=false ;
closesell=false ;
double MOM = iCustom (NULL,0, "Momentum-ZL",MOMPeriod,0,shift) ;
double SRL = iCustom (NULL,0, "MT4-LevelStop-Reverse-vBO-4",UseATRMode,NonATRStopPips,ATRPeriod, ATRMultiplier,ATRSmoothing,UpArrowColor,DnArrowColor,ArrowDistance,233) ;
double SRS = iCustom (NULL,0, "MT4-LevelStop-Reverse-vBO-4",UseATRMode,NonATRStopPips,ATRPeriod, ATRMultiplier,ATRSmoothing,UpArrowColor,DnArrowColor,ArrowDistance,234) ;
double QQE_RsiMa = iCustom(NULL,0, "QQE",0,shift) ;
double QQE_TrLevelSlow = iCustom(NULL,0, "QQE", 1, shift) ;
double QQE_RsiMaPrev = iCustom(NULL,0, "QQE",0,shift + 1) ;
double QQE_TrLevelSlowPrev = iCustom(NULL,0, "QQE", 1, shift + 1) ;
double Pivot = iCustom (NULL,0, "Pivot Points Multitimeframe",midpivots,Fhr,daily,weekly,monthly,1,shift)
bool LongSig = QQE_RsiMaPrev QQE_TrLevelSlow >50.0 ;
bool ShortSig = QQE_RsiMaPrev > QQE_TrLevelSlowPrev && QQE_RsiMa < QQE_TrLevelSlow<50.0 ;
bool LongSig2 = MOM>0.0 ;
bool ShortSig2 = MOM<0.0 ;
bool LongSig3 = SRL>Pivot ;
bool ShortSig3 = SRS<Pivot ;
buysig = LongSig && LongSig2 && LongSig3 ;
sellsig = ShortSig && ShortSig2 && ShortSig3 ;
closebuy=sellsig ;
closesell=buysig ;
}
void CheckForOpen() {
if (last==Time[0]) return ;
int res,ord ;
double entrée, stop, profit ;
ord=CalculateCurrentOrders() ;
si (ord!=0) CheckForClose() ;
ord=CalculateCurrentOrders() ;
//---- conditions d'achat
if (buys<ConsecutiveTrades && buysig) {
res=OpenAtMarket(OP_BUY,Lots) ;
if (res<0) Print("Error opening BUY order : ",ErrorDescription(GetLastError())) ;
sinon last=Time[0] ;
}
//---- conditions de vente
if (-sells<ConsecutiveTrades && sellsig) {
res=OpenAtMarket(OP_SELL,Lots) ;
if (res<=0) Print("Error opening SELL order: ",ErrorDescription(GetLastError())) ;
sinon last=Time[0] ;
}
}
int OpenAtMarket(int mode,double lot) {
int res,tr,col ;
double openprice,sl,tp ;
tries=0 ;
while (res<=0 && tries<OrderTriesNumber) {
tr=0 ; while (tr<5 && !IsTradeAllowed()) { tr++ ; Sleep(2000) ; }
RefreshRates() ;
if (mode==OP_SELL) {
openprice=Bid ;
col=Red ;
} else {
//openprice=nd(Ask) ;
prix ouvert=Demande ;
col=Bleu ;
}
res=OrderSend(Symbol(),mode,lot,openprice,slippage,sl,tp,EAName+expertId,expertId,0,col) ;
essais++ ;
}
return(res) ;
}
Informatique corrigée
Essayez le premier de votre liste avec un chiffre zéro 0 au lieu de la lettre O pour vB0-4.
Robert
Quel est le nom de la chaîne de cet indicateur que je dois utiliser pour une partie iCustom d'un EA ?
J'ai essayé
MT4-LevelStop-Reverse-vBO-4
MT4-LevelStop-Reverse-
MT4-LevelStop-Reverse
vBO-4
vB0.4
vtsbh2483-
MT4-LevelStop-Reverse-" + INDICATOR_VERSION + "(
Je n'ai donc aucune idée de ce qu'il faut faire ensuite.
ou dois-je mettre les noms de chaîne ATRMode, Manual Mode, etc.
Toute aide serait la bienvenueMerci Mr Pips
C'est réglé
Corrections en rouge ci-dessous. Robert
J'ai essayé ceci mais cela ne semble pas fonctionner... Je ne veux qu'une transaction par jour...
{
si (OrderSelect(a,SELECT_BY_POS,MODE_TRADES) == true)
{
if (OrderSymbol()== Symbol() && OrderMagicNumber()== Magic_Number)
{
si (TimeDay(OrderOpenTime()) >= TimeDay(TimeCurrent())) Trade = false ;
si (TimeDay(OrderOpenTime()) < TimeDay(TimeCurrent())) Trade = true ;
}
}
}j'ai essayé mais cela ne semble pas fonctionner... je ne veux qu'une seule transaction par jour...
J'ai utilisé cette méthode dans d'autres EA et elle fonctionne correctement.
Je vérifie les transactions fermées aujourd'hui au lieu de celles ouvertes aujourd'hui.
L'utilisation au départ est
if (LastTradeClosedToday()) return(0) ;
// code ici pour ouvrir de nouvelles transactions
//+------------------------------------------------------------------+
//| LastTradeClosedToday |
//| Vérifier l'historique pour voir si la dernière transaction a été fermée aujourd'hui |
//+------------------------------------------------------------------+
bool LastTradeClosedToday()
{
int cnt, total ;
bool Closed ;
total = HistoryTotal() ;
for (cnt = total - 1 ; cnt >= 0 ; cnt--)
{
OrderSelect (cnt, SELECT_BY_POS, MODE_HISTORY) ;
if(OrderSymbol()!=Symbol()) continue ;
if (OrderMagicNumber() != MagicNumber) continue ;
Fermé = faux ;
si (OrderType() == OP_BUY)
{
si (TimeDay(OrderCloseTime()) == TimeDay(TimeCurrent()))
{
Closed = true ;
}
cnt = 0 ;
}
si (OrderType() == OP_SELL)
{
si (TimeDay(OrderCloseTime()) == TimeDay(TimeCurrent()))
{
Closed = true ;
}
cnt = 0 ;
}
}
return (Closed) ;
}