costy_: les écarts de swap ont-ils été pris en compte dans la réflexion ?
Oui, c'est ça. C'est à cause des écarts. Pas de swaps, les positions sont courtes. Le conseiller expert doit donc être encore plus résistant pour que les bénéfices l'emportent sur les pertes. Merci, je vais l'essayer.
Ouais.... Réponse "exhaustive". Chaque événement doit avoir une raison. Les professionnels, confrontés à certains dysfonctionnements, savent à quoi faire attention. J'ai parcouru l'algorithme plusieurs fois, mais je n'arrive pas à trouver la cause C'est pourquoi je me tourne vers les pros pour obtenir des conseils - quelle pourrait être la raison ?
Yep.... Réponse "exhaustive". Chaque événement doit avoir une raison. Les professionnels, lorsqu'ils rencontrent un dysfonctionnement, savent ce qu'il faut rechercher. J'ai parcouru l'algorithme plusieurs fois, mais je n'ai pas trouvé la raison. C'est pourquoi je demande l'avis des pros - quelle peut être la raison ?
continue break return voir si et quand il y a une interruption pour et quand elle se produit. fonctionne avec l'ouverture de la barre....
"rencontrant certains problèmes, savoir à quoi faire attention" ils ne font pas attention mais commencent à déboguer, commencez à déboguer votre indicateur aussi, par exemple via print (en plus avec celui de quelqu'un d'autre et donc 15 pages de long, plus de 50 fonctions appelées...).
Print("дошли до инициализации, сделаем ресайз запишем все 0.0 size="+ArrayRange(buf,0)+" resize= "+ArrayResize(buf,Bars)+" "+ArrayInitialize(buf,0.0)) ;
Cependant, pour une raison quelconque, sa première valeur passe à zéro (-10,09 devient 0). J'ai trouvé un moyen de me sortir de cette situation en faisant ça :
Cependant, pour une raison quelconque, sa première valeur passe à zéro (-10,09 devient 0). J'ai trouvé un moyen de me sortir de cette situation en faisant ça :
Pouvez-vous me dire de quoi il s'agit ? J'ai très envie de comprendre.
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
LA BASE DU FLETCHING... :-)
et aussi une TENDANCE DE BASE ;))
si l'eur baisse et le dol baisse, plat
:-)
les écarts de swap ont-ils été pris en compte dans la réflexion ?
Sur le fait qu'après le for...
Ouais.... Réponse "exhaustive". Chaque événement doit avoir une raison. Les professionnels, confrontés à certains dysfonctionnements, savent à quoi faire attention. J'ai parcouru l'algorithme plusieurs fois, mais je n'arrive pas à trouver la cause C'est pourquoi je me tourne vers les pros pour obtenir des conseils - quelle pourrait être la raison ?
J'essaie d'ouvrir un ordre en attente comme ceci :
//+---------Функция расчета лота---------------------------------------+
double GetLot(int Risk)
{
double Free=AccountFreeMargin() ;
double One_Lot=MarketInfo(Symbol(),MODE_MARGINREQUIRED) ;
double Min_Lot=MarketInfo(Symbol(),MODE_MINLOT) ;
double Max_Lot=MarketInfo(Symbol(),MODE_MAXLOT) ;
double Step=MarketInfo(Symbol(),MODE_LOTSTEP) ;
double Lot=MathFloor(Free*Risk/100/One_Lot/Step)*Step ;
si(Lot<Min_Lot)Lot=Min_Lot ;
if(Lot>Max_Lot)Lot=Max_Lot ;
si(Lot*One_Lot>Free)retour(0.0) ;
retour(Lot) ;
}
//+----------Функция открытия ордера-----------------------------------+
int NewOrder(int Cmd,double Lot)
{
double TP=0;//takeprofit
double SL=0;// stop loss
double PR=0;// prix
while(!IsTradeAllowed())Sleep(100) ;
if(TakeProfit<MarketInfo(Symbol(),MODE_STOPLEVEL))
TakeProfit=MarketInfo(Symbol(),MODE_STOPLEVEL) ;
if(StopLoss<MarketInfo(Symbol(),MODE_STOPLEVEL))
StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL) ;
si(Cmd==OP_BUYSTOP)
{
PR=NormaliserDouble(Demande,Chiffres) ;
if(TakeProfit>0)TP=NormalizeDouble(Ask+TakeProfit*Point,Digits) ;
si(StopLoss>0)SL=NormalizeDouble(Bid-StopLoss*Point,Digits) ;
}
if(Cmd==OP_SELLSTOP)
{
PR=NormalizeDouble(Bid,Digits) ;
si(TakeProfit>0)TP=NormalizeDouble(Bid-TakeProfit*Point,Digits) ;
si(StopLoss>0)SL=NormalizeDouble(Ask+StopLoss*Point,Digits) ;
}
tic=OrderSend(Symbol(),Cmd,Lot,PR,3,SL,TP,"",0,0,CLR_NONE) ;
if(tic<0)Print("Erreur d'ouverture d'ordre :",GetLastError()) ; Print("Cmd-",Cmd, "Lot=",Lot, "PR=",PR, "SL=",SL, "TP=",TP) ;
retour(tic) ;
}
Quand je le vérifie, je reçois un message :
2011.12.06 23:36:50 2010.01.06 16:19 Big Dog 1.01 EURUSD,M15 : montant de lots invalide pour la fonction OrderSend
2011.12.06 23:36:50 2010.01.06 16:19 Big Dog 1.01 EURUSD,M15 : Erreur OrderSend 4051
2011.12.06 23:36:51 2010.01.07 17:20 Big Dog 1.01 EURUSD,M15 : Ordre erroné ouvert:405
2011.12.06 23:36:51 2010.01.07 17:20 Big Dog 1.01 EURUSD,M15 : Cmd-5Lot=0PR=1.4316SL=1.4419TP=1.4216
De toute évidence, il s'agit de quelque chose avec le calcul des lots, mais je ne comprends pas quoi)))) Veuillez me conseiller
Yep.... Réponse "exhaustive". Chaque événement doit avoir une raison. Les professionnels, lorsqu'ils rencontrent un dysfonctionnement, savent ce qu'il faut rechercher. J'ai parcouru l'algorithme plusieurs fois, mais je n'ai pas trouvé la raison. C'est pourquoi je demande l'avis des pros - quelle peut être la raison ?
Eh bien, où est l'indicateur ? ! (Je devine par le marc de café tel. https://www.mql5.comhttps://www.mql5.com/ru/)
Si tu énumères tout, il n'y aura plus de lettres.
continue break return voir si et quand il y a une interruption pour et quand elle se produit. fonctionne avec l'ouverture de la barre....
"rencontrant certains problèmes, savoir à quoi faire attention" ils ne font pas attention mais commencent à déboguer, commencez à déboguer votre indicateur aussi, par exemple via print (en plus avec celui de quelqu'un d'autre et donc 15 pages de long, plus de 50 fonctions appelées...).
Bonjour.
J'ai créé un tableau :
Cependant, pour une raison quelconque, sa première valeur passe à zéro (-10,09 devient 0). J'ai trouvé un moyen de me sortir de cette situation en faisant ça :
Pouvez-vous me dire de quoi il s'agit ? J'ai très envie de comprendre.
Merci d'avance.
Bonjour.
J'ai créé un tableau :
Cependant, pour une raison quelconque, sa première valeur passe à zéro (-10,09 devient 0). J'ai trouvé un moyen de me sortir de cette situation en faisant ça :
Pouvez-vous me dire de quoi il s'agit ? J'ai très envie de comprendre.
Merci d'avance.
Je n'ai pas mis à zéro avec l'index = 0
2011.12.06 20:00:47 MA_TF AUDUSD,M30 : Alerte : -10.09
Voici la partie du code qui pose problème :
Voici le problème décrit ci-dessus : la ligne dérivée de la valeur -10.09 n'est pas tracée (elle prend la valeur de MinAsia).
Voici la partie du code qui pose problème :
tuz
J'essaie d'ouvrir un ordre en attente comme ceci :
//+---------Функция расчета лота---------------------------------------+
Quand je le vérifie, je reçois un message :
2011.12.06 23:36:50 2010.01.06 16:19 Big Dog 1.01 EURUSD,M15 : montant de lots invalide pour la fonction OrderSend
2011.12.06 23:36:50 2010.01.06 16:19 Big Dog 1.01 EURUSD,M15 : Erreur OrderSend 4051
2011.12.06 23:36:51 2010.01.07 17:20 Big Dog 1.01 EURUSD,M15 : Ordre erroné ouvert:405
2011.12.06 23:36:51 2010.01.07 17:20 Big Dog 1.01 EURUSD,M15 : Cmd-5Lot=0PR=1.4316SL=1.4419TP=1.4216
De toute évidence, il s'agit de quelque chose avec le calcul des lots, mais je ne comprends pas quoi))). Veuillez me conseiller