Cette fonction renvoie un indicateur permettant d'autoriser les transactions temporaires. La valeur retournée est true ou false. La fonction isTradeTimeInt() est similaire à la fonction isTradeTimeString() par le principe de reconnaissance de l'intervalle de temps, c'est-à-dire que l'heure de début de la transaction peut être à la fois plus grande (intervalle de temps dans une journée) et plus petite (intervalle de temps dans des jours différents). La fonction isTradeTimeInt() accepte les paramètres facultatifs suivants :
hb - Nombre, spécifie les heures de début du commerce. La valeur par défaut est 0.
mb - Un nombre, spécifie les minutes de l'heure de début de la transaction. Valeur par défaut - 0.
he - Un nombre pour spécifier les heures de fin de transaction. La valeur par défaut - 0.
me - Un nombre pour spécifier les minutes de l'heure de fin de la transaction. Valeur par défaut - 0.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 30.04.2009 |//| Описание : Возвращает флаг разрешения торговли по времени. |//+----------------------------------------------------------------------------+//| Параметры: |//| hb - часы времени начала торговли |//| mb - минуты времени начала торговли |//| he - часы времени окончания торговли |//| me - минуты времени окончания торговли |//+----------------------------------------------------------------------------+bool isTradeTimeInt(int hb=0,int mb=0,int he=0,int me=0){datetime db, de;// Время начала и окончания работыint hc;// Часы текущего времени торгового сервера
db=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+ hb+":"+ mb);
de=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+ he+":"+ me);
hc=TimeHour(TimeCurrent());if( db>= de){if( hc>= he) de+=24*60*60;else db-=24*60*60;}if(TimeCurrent()>= db &&TimeCurrent()<= de)return( True);elsereturn( False);}
Cette fonction renvoie un drapeau pour fermer la dernière position par arrêt. Le drapeau est levé - Vrai - Le StopLoss s'est déclenché. Drapeau abaissé - Faux - le poste a été fermé pour une autre raison. Une sélection plus précise des positions à prendre en compte est établie par des paramètres externes :
Bonjour
J'essaie d'utiliser votre fonction pour mes propres besoins. Petit conseiller expert qui fonctionne. Ne vend et ne ferme qu'une seule position. Parfois, il attrape plusieurs stoploss d'affilée. Je veux changer les conditions de vente après le premier stop, l'Expert Advisor ouvre des positions, mais ne les ferme pas. Dites-moi ce que je fais de mal ?
Bonjour, pourriez-vous m'aider à convertir cet indicateur de cluster en une fonction avec le même dessin et + retour des valeurs de taux de changement de paire (coin supérieur droit) par le paramètre d'entrée - Nom de la paire. Je vous remercie d'avance.
P.S..... Je me bats depuis une semaine maintenant.
Et comment exprimer dans le code qu'au début d'une heure, à la première seconde, nous ouvrons deux positions dirigées différemment, et à la dernière seconde de l'heure, nous fermons l'ordre qui a échoué ?
VAM_ писал(а)>> Et comment exprimer dans le code qu'au début d'une heure, à la première seconde, nous ouvrons deux positions dirigées différemment, et à la dernière seconde de l'heure, nous fermons l'ordre qui a échoué ?
Et s'il n'y en a pas, première et dernière seconde ?
A la page 76...
Merci.
La fonction isTradeTimeInt().
Cette fonction renvoie un indicateur permettant d'autoriser les transactions temporaires. La valeur retournée est true ou false. La fonction isTradeTimeInt() est similaire à la fonction isTradeTimeString() par le principe de reconnaissance de l'intervalle de temps, c'est-à-dire que l'heure de début de la transaction peut être à la fois plus grande (intervalle de temps dans une journée) et plus petite (intervalle de temps dans des jours différents). La fonction isTradeTimeInt() accepte les paramètres facultatifs suivants :
Exemples d'utilisation de isTradeTimeInt().
if (isTradeTimeInt(6, 0, 9, 30)) Message("Торгуем..."); else Message("Отдыхаем...");if (isTradeTimeInt(12, 0, 16, 30)) Message("Торгуем..."); else Message("Отдыхаем...");if (isTradeTimeInt(21, 15, 9, 30)) Message("Торгуем..."); else Message("Отдыхаем...");if (isTradeTimeInt(22, 0, 5, 30)) Message("Торгуем..."); else Message("Отдыхаем...");SZY. Vous trouverez ci-joint un script permettant de tester la fonction isTradeTimeInt().
Liste actualisée des fonctionnalités avec de brèves descriptions et des liens...
La fonction isCloseLastPosByStop().
Cette fonction renvoie un drapeau pour fermer la dernière position par arrêt. Le drapeau est levé - Vrai - Le StopLoss s'est déclenché. Drapeau abaissé - Faux - le poste a été fermé pour une autre raison. Une sélection plus précise des positions à prendre en compte est établie par des paramètres externes :
Bonjour
J'essaie d'utiliser votre fonction pour mes propres besoins. Petit conseiller expert qui fonctionne. Ne vend et ne ferme qu'une seule position. Parfois, il attrape plusieurs stoploss d'affilée. Je veux changer les conditions de vente après le premier stop, l'Expert Advisor ouvre des positions, mais ne les ferme pas. Dites-moi ce que je fais de mal ?
..........................................................
si ( isCloseLastPosByStop(NULL,OP_SELL, MagicNamber) == 0){
if ( (StochK_0<StochD_1) && (StochD_1 > 80) ) // 1ère vente lente
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+SL*Point,0, "My EXP", MagicNamber,0,Green) ; // vendre
OrderSelect(0, SELECT_BY_POS) ;
si (OrderSelect(0, SELECT_BY_POS)==true )
Print("SELECT_BY_POS") ;
sinon
Print("erreur de sélection ratée : ",GetLastError()) ;
RefreshRates() ;
si((StochK_0<30)&& (StochD_1 < 30))
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet) ;
}
sinon
si ( isCloseLastPosByStop(NULL,OP_SELL, MagicNamber) == 1)
{
si ((StochK_0<StochD_1) && (StochK_0 < 60) && (StochD_1 < 60) )
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0, "My EXP", MagicNamber,0,Green) ; //
...........................
L'expert ouvre des positions, mais ne les ferme pas.
Imprimer les variables StochK_0 et StochD_1. Ils prennent peut-être des valeurs qui ne correspondent pas à vos conditions de clôture.
à KimIV
Bonjour, pourriez-vous m'aider à convertir cet indicateur de cluster en une fonction avec le même dessin et + retour des valeurs de taux de changement de paire (coin supérieur droit) par le paramètre d'entrée - Nom de la paire. Je vous remercie d'avance.
P.S..... Je me bats depuis une semaine maintenant.
Et comment exprimer dans le code qu'au début d'une heure, à la première seconde, nous ouvrons deux positions dirigées différemment, et à la dernière seconde de l'heure, nous fermons l'ordre qui a échoué ?
Et s'il n'y en a pas, première et dernière seconde ?