[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 216
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
au départ - appeler la fonction pour vérifier s'il y a un ordre d'achat dans la boucle d'ordre SellStop... et le supprimer - s'il n'y a pas d'ordre d'achat parmi les ordres ouverts...
voir...
Round robin des ordres fixés (départ)
nous prenons la commande
- S'il s'agit d'un SellStop (rappelez-vous son numéro magique - il s'agit également d'un ticket d'ordre d' achat {
via
nous vérifions si l'ordre existe... - c'est votre ordre d'achat...
S'il n'est pas là, nous supprimons l'ordre SellStop actuel.
}
} Fin de la boucle de commande...
InitsializeRealMasterOrders -- chercher une faute ici.
Et voici autre chose - pour ne pas faire de vélo - https://docs.mql4.com/ru/convert/timetostr.
Toujours un problème. Dans la sous-routine, le code lit les données des lignes du document texte :
4;NZDUSD;98537467;1;0.5;1340809155;0;0.7881;0;0.7939;0;0
4;NZDUSD;98537450;1;0.5;1340809147;0;0.788;0;0.7939;0.787;0
Le temps d'ouverture de l'ordre est le sixième paramètre de la ligne. Il a été lu dans la variable de type datetime par les commandes :
Stroka=FileReadString(FileHandle);// Temps d'ouverture
r_master_OpenTime[i]=StrToTime(Stroka);// Heure d'ouverture
En conséquence, nous avons obtenu une valeur de Dieu sait quoi dans la variable r_master_OpenTime[i]. Mais dès que j'ai changé son type de datetime en int, tout est ok. Je programme avec mql4 depuis plus de cinq ans, et je ne cesse de me demander... :)
voir...
Round robin des ordres fixés (départ)
nous prenons la commande
- S'il s'agit d'un SellStop (rappelez-vous son numéro magique - il s'agit également d'un ticket d'ordre d'achat {
via
nous vérifions si l'ordre existe... - c'est votre ordre d'achat...
si ce n'est pas le cas, supprimez l'ordre SellStop actuel.
}
Fin de la boucle de commande...
J'ai écrit cette absurdité
drknn: Все равно глюк. В подпрограмме код считывает данные из строк текстового документа:
4;NZDUSD;98537467;1;0.5;1340809155;0;0.7881;0;0.7939;0;0
4;NZDUSD;98537450;1;0.5;1340809147;0;0.788;0;0.7939;0.787;0
Le temps d'ouverture de l'ordre est le sixième paramètre de la chaîne. Il a été lu dans la variable de type datetime par les commandes :
En conséquence, la variable r_master_OpenTime[i] contiendrait une valeur sans importance. Mais dès que j'ai changé son type de datetime en int, tout est ok. Je programme avec mql4 depuis plus de cinq ans, et je ne cesse de me demander... :)
Veuillez me dire ce qu'il faut faire si :
Dans le testeur, tout fonctionne bien, tout se passe comme prévu, mais sur le RealSk, la transaction ne s'ouvre pas.
P.S. J'ai vraiment besoin d'aide, c'est une question de vie ou de mort.
Bonne journée à tous.
J'ai essayé d'écrire un indicateur, il semble fonctionner, mais seulement sur l'historique il dessine comme prévu et ensuite quand de nouvelles cotations arrivent il dessine un masque habituel.
Le code est joint :
int start()
{
int counted_bars=IndicatorCounted();
int i,n;
double Stark=0;
//----
i=Bars-counted_bars-1;//+50;
// n=Bars-counted_bars-1;
while(i>=0)
{
//----
double Ma=iMA(NULL,0,PerMa,Shift,MODE_EMA,PRICE_CLOSE,i);
//double Ma1=iMA(NULL,0,PerMa,Shift,MODE_EMA,PRICE_CLOSE,i+1);
if(Stark+Step*Point<Ma)Stark=Ma;
if(Stark-Step*Point>Ma)Stark=Ma;
ABuf[i]=Stark;
//----
i--;
}
return(0);
}
S'il vous plaît, aidez-moi à le réparer pour qu'il continue à dessiner des étapes.
Je l'apprécierais vraiment.
Gek.
{
Price1 =(iClose(Symbol_1,0,0) - iClose(Symbol_1,0,f)) / MarketInfo(Symbol_1, MODE_POINT)
Price2 = K*(iClose(Symbol_2,0,0) - iClose(Symbol_2,0,f)) / MarketInfo(Symbol_2, MODE_POINT) ;
Spread = Price1 - Price2 ;
Print ("Price1="+Price1, " Price2="+Price2) ;
if (Spread==0){t=f ; break;}
}
Price12 = (iClose(Symbol_1,0,0) - iClose(Symbol_1,0,t)) / MarketInfo(Symbol_1, MODE_POINT) ;
Price22 = K*(iClose(Symbol_2,0,0) - iClose(Symbol_2,0,t)) / MarketInfo(Symbol_2, MODE_POINT) ;
Spread2 = Price12 - Price22 ;
si (MathAbs(Spread2) >= razdvizka && Spread2 < 0) { ouvrir une transaction }
Je veux fixer la barre où l'écart était égal à zéro et contrôler l'écart à partir de celle-ci.