zennon писал(а)>> La fonction MovingInWL() passe simplement en revue toutes les positions ouvertes, sans tenir compte des filtres sy, op, mn. Ceci est également vrai pour l'exemple ci-joint EA (page 55).
Andrei, merci ! Corrigé...
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 23.04.2009 |//| Описание : Перенос уровня стопа в безубыток |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ( "" - любой символ, |//| NULL - текущий символ) |//| op - операция ( -1 - любая позиция) |//| mn - MagicNumber ( -1 - любой магик) |//+----------------------------------------------------------------------------+void MovingInWL(string sy="",int op=-1,int mn=-1){double po, pp;int i, k=OrdersTotal();if( sy=="0") sy=Symbol();for( i=0; i< k; i++){if(OrderSelect( i, SELECT_BY_POS, MODE_TRADES)){if((OrderSymbol()== sy || sy=="")&&( op<0||OrderType()== op)){if( mn<0||OrderMagicNumber()== mn){
po=MarketInfo(OrderSymbol(),MODE_POINT);if(OrderType()==OP_BUY){if(OrderStopLoss()-OrderOpenPrice()< LevelWLoss* po){
pp=MarketInfo(OrderSymbol(),MODE_BID);if( pp-OrderOpenPrice()> LevelProfit* po){
ModifyOrder(-1,OrderOpenPrice()+ LevelWLoss* po,-1);}}}if(OrderType()==OP_SELL){if(OrderStopLoss()==0||OrderOpenPrice()-OrderStopLoss()< LevelWLoss* po){
pp=MarketInfo(OrderSymbol(),MODE_ASK);if(OrderOpenPrice()- pp> LevelProfit* po){
ModifyOrder(-1,OrderOpenPrice()- LevelWLoss* po,-1);}}}}}}}}
Merci de consacrer autant de temps au forum. Igor, connaissez-vous une possibilité d'obtenir des informations sur les demandes d'achat/de vente entrantes - "profondeur du marché".
Alex30 писал(а)>> Igor, connaissez-vous une possibilité d'obtenir des informations sur les demandes d'achat/de vente entrantes - "profondeur du marché".
Question à l'expérimenté : quelqu'un peut dire pourquoi mon indicateur de démo xMeterMTF.mq4 montre tout normal, et dans le vide euro réel (si en raison du fait que dans le réel eur/usd- est répertorié comme eur/usddpro) si oui peut être corrigé
Cette fonction renvoie le drapeau permettant de négocier par temps. En fait, il vérifie si l'heure actuelle du serveur commercial est située à l'intérieur d'une certaine période de temps. Si elle se trouve à l'intérieur, la fonction isTradeTimeString() renvoie true, sinon elle renvoie false. La particularité de cette fonction est la possibilité de spécifier l'intervalle de temps à l'intérieur et à l'extérieur d'un jour. Ceci sera montré en détail dans les exemples d'utilisation. La fonction isTradeTimeString() accepte les paramètres facultatifs suivants :
TimeBegin - Chaîne au format "HH:MM", elle définit l'heure de début de la transaction. La valeur par défaut est "00:00".
TimeEnd - Chaîne au format "HH:MM", spécifie l'heure de fin de la transaction. La valeur par défaut est "00:00".
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 29.04.2009 |//| Описание : Возвращает флаг разрешения торговли по времени. |//+----------------------------------------------------------------------------+//| Параметры: |//| TimeBegin - время начала торговли (ЧЧ:ММ) |//| TimeEnd - время окончания торговли (ЧЧ:ММ) |//+----------------------------------------------------------------------------+bool isTradeTimeString(string TimeBegin="00:00",string TimeEnd="00:00"){datetime dtBegin, dtEnd;// Время начала и окончания работыint hc, he;// Часы текущего времени и окончания работы
dtBegin=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+ TimeBegin);
dtEnd =StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+ TimeEnd);
hc =TimeHour(TimeCurrent());
he =TimeHour( dtEnd);if( dtBegin>= dtEnd){if( hc>= he) dtEnd+=24*60*60;else dtBegin-=24*60*60;}if(TimeCurrent()>= dtBegin &&TimeCurrent()<= dtEnd)return( True);elsereturn( False);}
Cette fonction renvoie le drapeau permettant de négocier par temps. En fait, il vérifie si l'heure actuelle du serveur commercial est située à l'intérieur d'une certaine période de temps. Si elle se trouve à l'intérieur, la fonction isTradeTimeString() renvoie true, sinon elle renvoie false. La particularité de cette fonction est la possibilité de spécifier l'intervalle de temps à l'intérieur et à l'extérieur d'un jour. Ceci sera montré en détail dans les exemples d'utilisation. La fonction isTradeTimeString() accepte les paramètres facultatifs suivants :
TimeBegin - Chaîne au format "HH:MM", elle définit l'heure de début de la transaction. La valeur par défaut est "00:00".
TimeEnd - Chaîne au format "HH:MM", spécifie l'heure de fin de la transaction. Valeur par défaut - "00:00".
Il est également possible de définir des variables qui ne sont pas des "chaînes", mais des "int". Afin de rechercher dans le testeur ?
La fonction MovingInWL() passe simplement en revue toutes les positions ouvertes, sans tenir compte des filtres sy, op, mn. Ceci est également vrai pour l'exemple ci-joint EA (page 55).
Andrei, merci ! Corrigé...
Le fichier e-MovingInWL2.mq4 est également corrigé.Bonjour Igor !
Merci de consacrer autant de temps au forum. Igor, connaissez-vous une possibilité d'obtenir des informations sur les demandes d'achat/de vente entrantes - "profondeur du marché".
Igor, connaissez-vous une possibilité d'obtenir des informations sur les demandes d'achat/de vente entrantes - "profondeur du marché".
pas de
La fonction isTradeTimeString().
Cette fonction renvoie le drapeau permettant de négocier par temps. En fait, il vérifie si l'heure actuelle du serveur commercial est située à l'intérieur d'une certaine période de temps. Si elle se trouve à l'intérieur, la fonction isTradeTimeString() renvoie true, sinon elle renvoie false. La particularité de cette fonction est la possibilité de spécifier l'intervalle de temps à l'intérieur et à l'extérieur d'un jour. Ceci sera montré en détail dans les exemples d'utilisation. La fonction isTradeTimeString() accepte les paramètres facultatifs suivants :
Exemples d'utilisation de isTradeTimeString().
if (isTradeTimeString("06:00", "09:30")) Message("Торгуем..."); else Message("Отдыхаем...");if (isTradeTimeString("12:00", "16:30")) Message("Торгуем..."); else Message("Отдыхаем...");if (isTradeTimeString("21:15", "09:30")) Message("Торгуем..."); else Message("Отдыхаем...");if (isTradeTimeString("22:00", "05:30")) Message("Торгуем..."); else Message("Отдыхаем...");SZY. Vous trouverez ci-joint un script permettant de tester la fonction isTradeTimeString().
Igor, l'indicateur i-Sessions a parfois des ratés : des zones de sessions non encore ouvertes apparaissent et disparaissent...
Igor, l'indicateur i-Sessions a parfois des ratés : des zones de sessions non encore ouvertes apparaissent et disparaissent...
Oups... Je retire ce que j'ai dit... Ils seront aussi très utiles pour attendre les événements... Pardonnez-moi... s'il vous plaît...
La fonction isTradeTimeString().
Cette fonction renvoie le drapeau permettant de négocier par temps. En fait, il vérifie si l'heure actuelle du serveur commercial est située à l'intérieur d'une certaine période de temps. Si elle se trouve à l'intérieur, la fonction isTradeTimeString() renvoie true, sinon elle renvoie false. La particularité de cette fonction est la possibilité de spécifier l'intervalle de temps à l'intérieur et à l'extérieur d'un jour. Ceci sera montré en détail dans les exemples d'utilisation. La fonction isTradeTimeString() accepte les paramètres facultatifs suivants :
Il est également possible de définir des variables qui ne sont pas des "chaînes", mais des "int". Afin de rechercher dans le testeur ?
>> Merci d'avance.
Pouvez-vous faire en sorte que les variables ne soient pas "string" mais "int". Pour pouvoir faire des recherches dans le testeur ?
A la page 76...