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 pour ces informations.
Voilà ce que je n'arrive pas à comprendre. Si j'utilise la date obtenue avec MarketInfo(),
Comment définir une condition pour interdire l'ouverture de positions en 3 semaines ? Et par conséquent, si je comprends bien, il serait raisonnable de fermer les positions existantes. Il s'agit de la date d'expiration, et plus elle est proche, plus le risque de force majeure est élevé.
Voici un script qui suit l'écart entre l'offre et la demande (spécifiquement pour le courtage).
Quelque part au-dessus, au milieu du fil, il y a la même version, mais comme indicateur.
Mon script consomme beaucoup de ressources CPU (-schedule), il est donc préférable de le mettre juste avant l'ouverture/la fermeture, puis de le supprimer d'un coup.
6NZ0, M1
Que diriez-vous d'utiliser l'exemple de goldtrader avec le code de votre script
//Задаем цены аск и бид тикера Ask_Tiker = MarketInfo(_tiker,MODE_ASK); Bid_Tiker = MarketInfo(_tiker,MODE_BID);
Comme un filtre dans un EA. Et vous n'avez pas besoin d'un script.Merci pour ces informations.
Voilà ce que je n'arrive pas à comprendre. Si j'utilise la date obtenue avec MarketInfo(),
Comment définir une condition pour interdire l'ouverture de positions en 3 semaines ? Et par conséquent, si je comprends bien, il serait raisonnable de fermer les positions existantes. Il s'agit de la date d'expiration, et plus elle est proche, plus le risque de force majeure est élevé.
Et si vous utilisez la construction que goldtrader a suggéré avec le code de votre script
Le même que le filtre dans le conseiller expert. Et le script n'est pas nécessaire.Eh bien, c'est évident ! Le script n'est nécessaire que pour le trading manuel.
Vous pouvez également insérer les conditions de clôture/ouverture par ticker dans votre EA. Cependant, il y a là une difficulté. L'EA devra tourner en boucle dans son travail (et donc - charge excessive sur le processeur), sinon ce filtre sera absolument inutile pour les contrats à faible liquidité.
Bonjour, ma question est tout à fait dans le sujet.
L'indicateur de spread dans ses PROPRIÉTÉS permet de définir les noms des instruments.
extern string Symbol_1 = "GCG1" ;
extern string Symbol_2 = "SIF1" ;
Comment puis-je écrire
string symbol, int timeframe,
- Quel outil dois-je choisir - le premier ou le second ? Ou l'un d'entre eux ?
il n'y a aucun moyen de l'appliquer ici
Vous devez intégrer le code dans le conseiller expert et y spécifier la condition.
//----
extern string Simbol1 = "ESZ0"; extern double k1 =1;
extern string Simbol2 = "NQZ0"; extern double k2 =1;
extern double lot =1;
//----
extern double maxSpred =30;
extern int MinTimeExp =1800000;
int exp1,exp2,v1,v2;
//+------------------------------------------------------------------+
double StoimPunkt(string B){return(MarketInfo(B,MODE_TICKVALUE)/(MarketInfo(B,MODE_TICKSIZE)/MarketInfo(B,MODE_POINT)));}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
double sred(int typ,string B)
{double j;RefreshRates();
if(typ==0)j=((MarketInfo(B+"#I",MODE_ASK)-MarketInfo(B,MODE_BID))/MarketInfo(B,MODE_POINT))*StoimPunkt(B);
if(typ==1)j=((MarketInfo(B,MODE_BID)-MarketInfo(B+"#I",MODE_BID))/MarketInfo(B,MODE_POINT))*StoimPunkt(B);
if(j<0)j=0;return(j);}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
int start()
{
exp1 =MarketInfo(Simbol1,MODE_EXPIRATION);
exp2 =MarketInfo(Simbol2,MODE_EXPIRATION);
v1 =MarketInfo(Simbol1,MODE_TRADEALLOWED);
v2 =MarketInfo(Simbol2,MODE_TRADEALLOWED);
if((sred(0,Simbol1)*lot*k1+sred(1,Simbol1)*lot*k1<maxSpred)&&(sred(0,Simbol2)*lot*k2+sred(1,Simbol2)*lot*k2<maxSpred)&&
(TimeCurrent()+MinTimeExp<exp1)&&(TimeCurrent()+MinTimeExp<exp2)&&(v1 ==1)&&(v2 ==1))
{
код советника
}
}
//+------------------------------------------------------------------+
il n'y a aucun moyen de l'appliquer ici
Vous devez intégrer le code dans le conseiller expert et y spécifier la condition.
//----
extern string Simbol1 = "ESZ0"; extern double k1 =1;
extern string Simbol2 = "NQZ0"; extern double k2 =1;
extern double lot =1;
//----
extern double maxSpred =30;
extern int MinTimeExp =1800000;
int exp1,exp2,v1,v2;
//+------------------------------------------------------------------+
double StoimPunkt(string B){return(MarketInfo(B,MODE_TICKVALUE)/(MarketInfo(B,MODE_TICKSIZE)/MarketInfo(B,MODE_POINT)));}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
double sred(int typ,string B)
{double j;RefreshRates();
if(typ==0)j=((MarketInfo(B+"#I",MODE_ASK)-MarketInfo(B,MODE_BID))/MarketInfo(B,MODE_POINT))*StoimPunkt(B);
if(typ==1)j=((MarketInfo(B,MODE_BID)-MarketInfo(B+"#I",MODE_BID))/MarketInfo(B,MODE_POINT))*StoimPunkt(B);
if(j<0)j}0;return(j);}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
int start()
{
exp1 =MarketInfo(Simbol1,MODE_EXPIRATION);
exp2 =MarketInfo(Simbol2,MODE_EXPIRATION);
v1 =MarketInfo(Simbol1,MODE_TRADEALLOWED);
v2 =MarketInfo(Simbol2,MODE_TRADEALLOWED);
if((sred(0,Simbol1)*lot*k1+sred(1,Simbol1)*lot*k1<maxSpred)&&(sred(0,Simbol2)*lot*k2+sred(1,Simbol2)*lot*k2<maxSpred)&&
(TimeCurrent()+MinTimeExp<exp1)&&(TimeCurrent()+MinTimeExp<exp2)&&(v1 ==1)&&(v2 ==1))
{
код советника
}
}
//+------------------------------------------------------------------+
Merci encore. Il répond également à mes questions.
Des informations pour la réflexion...
MC - YM (4 ^ 9)
Des informations pour la réflexion...
MC - YM (4 ^ 9)
=================================