Nous souhaitons attirer l'attention des contributeurs de nos forums que la législation française requiert que vous indiquiez si vous avez une position ouverte dans un instrument sur lequel vous émettez une opinion. Veuillez respecter cette recommandation faite par l’AMF (Autorité des Marchés Financiers) . Pour plus d'information : lire ce PDF.
Après plus de 20 ans, le site web d'Universbourse ne sera plus accessible aux lecteurs après le 1er septembre 2024. Merci à tous les lecteurs fidèles et à tous les passionnés de la bourse qui ont publié leurs points de vue et leurs opinions. Nous espérons que tous les lecteurs ont apprécié cette occasion d'échanger des opinions au fil des ans. De nouvelles informations et actualités sur les marchés boursiers seront disponibles à un autre endroit. Nous y reviendrons plus tard...
Bonjour
je cherche une aide en privée pour améliorer un code qui tend lui aussi à figer mon chart trader , il n'est pas lourd 30 lignes , j'ai dû faire une boucle ou oublier une expression. je pense qu'il peut être améliorer.
Privilégier l'usage des instructions isfirstbar et isfinalbar
pour toutes les commandes un peu gourmandes (moyennes, écart type ...) qui s'y prêtent, quitte à créer un indicateur intermédiaire pour permettre de placer l'instruction au bon endroit.
Attention j'ai quand même l'impression que la future station n'est pas très rapide. à l'exécution.
if IsFirstBar() then
begin
u1 = round(($N/2),0);
u2 = $N;
u3 = round(SquareRoot($N),0);
u1_wsum = (u1 + 1) * u1 / 2;
u2_wsum = (u2 + 1) * u2 / 2;
u3_wsum = (u3 + 1) * u3 / 2;
end
// Conversion of the close in ticks = It is better to work with integer
// to avoid issues of errors due to rounding numbers
Y = round(close/TickSize(),0);
//---------------------------------
// First WMA
//---------------------------------
line1 = void;
if CurrentBarIndex() <= (u1-1) then
begin
u1_sum = u1_sum + Y;
u1_sum2 = u1_sum2 + Y * u1_w;
u1_w = u1_w + 1;
end
else
begin
u1_sum2 = u1_sum2 + Y * u1 - u1_sum;
u1_sum = u1_sum + Y - Y[u1];
line1 = (u1_sum2/u1_wsum)*TickSize();
end
//---------------------------------
// Second WMA
//---------------------------------
line2 = void;
if CurrentBarIndex() <= (u2-1) then
begin
u2_sum = u2_sum + Y;
u2_sum2 = u2_sum2 + y * u2_w;
u2_w = u2_w + 1;
end
else
begin
u2_sum2 = u2_sum2 + y * u2 - u2_sum;
u2_sum = u2_sum + y - y[u2];
line2 = (u2_sum2/u2_wsum)*TickSize();
end
//---------------------------------
// Third WMA
//---------------------------------
if IsFinalBar() then
begin
for i = FinalbarIndex() downto 0
begin
if i >= (FinalbarIndex()-(u2-1)) then
begin
line3<em> = void;
end
else
if i >= (FinalbarIndex()-u2-(u3-1)) then
begin
u3_sum = u3_sum + temp<em>;
u3_sum2 = u3_sum2 + temp<em> * u3_w;
u3_w = u3_w + 1;
line3<em> = void;
end
else
begin
u3_sum2 = u3_sum2 + temp<em> * u3 - u3_sum;
u3_sum = u3_sum + temp<em> - temp[i+u3];
line3<em> = (u3_sum2/u3_wsum)*TickSize();
end
end
for i = FinalBarIndex() downto 0
begin
markeru<em> = void;
markerd<em> = void;
if line3<em> > line3[i+1] then
begin
markeru[i+1] = line3[i+1];
markeru<em> = line3<em>;
end
else
if line3<em> <> line3[i+1] then
begin
markerd[i+1] = line3[i+1];
markerd<em> = line3<em>;
end
else
if line3[i+1] > line3[i+2] then
begin
markeru[i+1] = line3[i+1];
markeru<em> = line3<em>;
end
else
begin
markerd[i+1] = line3[i+1];
markerd<em> = line3<em>;
end
end
end
J'ai un programme qui n'étudie que des choses entre
9h et 9h30 tous les jours, comment faire pour que les
cacluls soient plus rapides quitte à n'afficher que des courbes qur cette durée de 30 minutes.
Merci
pour afficher que sur cette période
tu fais un clic droit sur le contrat , puis symbol details ,
tu coches activate tradingtime filter
et tu mets le range de temps désiré
pour le programme je ne sais pas , sur proréaltime je sais que c'est possible ...
j'avais utilisé la fonction time sur PRT , mais sur futurestation je ne sais pas
par exemple comment utiliser ce programme en UT3 sur future station ?
<strong>a=173300
if time<a then
b=1
c=volume*b
endif
a=(c-c[1])*100/c[1]
return a</strong>
ça permet de calculer la différence de volume au fixing par rapport à la veille avant 17h33 de mémoire
si vous arrivez à le convertir en easy language <img src='http://www.pro-at.com/style/images/icones/icon_smile_cool.gif' border='0' alt='' title='' align='middle' /> merci à vous
Je recherche comment on peut mettre un stop
tout simple lorsque l'on est en trading automatique,
partout on nous propose trailing stop mais je voudrais
un stop tout simple, à x tick du point d'entrée.
Si je le met dans le code le métasentimentor ne le fait qu'en fin de bougie.
Merci pour votre réponse
<blockquote><strong>Citation de : vavril</strong> <em>(au 27-12-2011 12:37:54)</em>
Je recherche comment on peut mettre un stop
tout simple lorsque l'on est en trading automatique,
partout on nous propose trailing stop mais je voudrais
un stop tout simple, à x tick du point d'entrée.
Si je le met dans le code le métasentimentor ne le fait qu'en fin de bougie.
Merci pour votre réponse
</blockquote><hr />
Bonsoir vavril
Un conseil amicale :Merci de ne pas inonder Pro-At de nouvelles files pour obtenir une réponse à ton problème
J'ai créé cette file pour fédérer la communauté des utilisateurs de FuturStation / Nanotrader, autant l'utiliser n'est ce pas! <img src='http://www.pro-at.com/style/images/icones/icon_smile_clown.gif' border='0' alt='' title='' align='middle' />
La création d'un stop en automatique est très simple :
-il ne faut pas vouloir intégrer un stop dans un sentimentor traitant un indicateur ou une stratégie, il faut écrire un sentimentor spécifique au stop dont le nom commence par stop, par exemple pour un stop fixe le programme sera le suivant :
Express stop FixedStop // Express stop permet à la plateforme de savoir que c'est un programme de stop
vars
input $offsetTicks(0,50,20); // fixe le nombre de ticks du stop en variable
calculation
if MarketPosition() = 1 then // pour positions longues
SetStopPrice(EntryPrice() - $offsetTicks * TickSize());
elsi if MarketPosition() = -1 then // pour positions courtes
SetStopPrice (EntryPrice() + $offsetTicks * TickSize());
Ce stop a un effet immédiat sans attendre la fin de la bougie à condition d'avoir la bonne agrégation, si celle ci est en ticks, alors le stop est surveillé pour chaque tick du flux des cours.
Voir la bibliothèque des programmes WHS, ce stop doit être dedans
Je cherche à mettre en place l'indicateur de force relative dans la future station.
Dans une étude liée à une action, j'ai :
<ul><li>ajouté sous forme de "study" le cac </li><li> créer un nouveau sentimentor (cf ci dessous)</li></ul>Ca ne fonctionne pas le message "impossible d'importer la série studyfrance40casheur.main)
je pense que c'est lié au fait qu'il y a 40 dans le titre du study.
Auriez vous une idée ?
Lionel
XXXXXXXXXXXXXXXXX
express LN_force_relative;
Vars
input $periode(0,100,52);
Series indice (studyfrance40casheur.main);
Series ratio;
Series Force_relative;
Calculation
CalculateAtEveryTick(false);
ratio = close/indice*10;
if isfinalbar() then
begin
movingaverage(ratio,force_relative,$periode);
end
Bonjour
une idée du Vwap sur futurestation comme expliquée dans la dernière vidéo de Kevin
<a href='/ref.php?uri=http%3A%2F%2Fwww.pro-at.com%2Fanalyse-bourse%2Ftechnique-Tradez-vous-le-Prix-ou-la-Valeur-1-11487.html' target="_blank">http://www.pro-at.com/analyse-bourse/technique-Tra...</a>
Il fallait juste modifier cette ligne
<em> Series indice (StudyFranceCashEur.close);</em>
retirer le 40 et la série s'appelle close (j'aurai pu m'en douter). J'ai eu l'info de WHselfinvest ils m'ont aussi fait installer un patch.
Bon trade à tous
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
express LN_force_relativeWa;
Vars
Series indice (StudyFranceCashEur.close);
Series ratio, ratio_dif, base, basep;
Calculation
CalculateAtEveryTick(false);
ratio = (close/indice);
movingaverage(ratio, basep, 52);
base = 0;
ratio_dif = ((ratio/basep) -1)*10;
Existe t il une instruction qui permet de se
référer à supertrend dans la programmation express
de la futurestation, je ne trouve nulle part cette info.
Commentaire