// je cherche a trouver la barre ayant fait un plus bas (lowest low)
// entre la barre actuelle et le dernier SwingHighs (cf plus bas definition)
// et a repertorier les infos date, plus haut , plus bas, barnumber dans un tableau
// nomme SwingLows
// voici le debut de code
If SwingHighBar(1, High, TopStren, TopStren+1) = TopStren then begin
for Value1=1 downto 0 begin
SwingHighs[Value1+1,0> = SwingHighs[Value1,0>;
SwingHighs[Value1+1,1> = SwingHighs[Value1,1>;
SwingHighs[Value1+1,2> = SwingHighs[Value1,2>;
SwingHighs[Value1+1,3> = SwingHighs[Value1,3>;
SwingHighs[Value1+1,4> = SwingHighs[Value1,4>;
end;
SwingHighs[0,0> = BarNumber[TopStren>;
SwingHighs[0,1> = Date[TopStren>;
SwingHighs[0,2> = Time[TopStren>;
SwingHighs[0,3> = High[TopStren>;
SwingHighs[0,4> = 0; // 0 = pattern not drawn / 1 = partern drawn
End;
if High[1>>High[2> and High[2>>High[3> then
LookBack = Currentbar ;
If SwingHighs[0,0><>0 then // Existence d'un dernier SwingHighs
LookBack = currentbar - SwingHighs[0,0>;
MyLow = Lowest(Low,LookBack);
// c'est a partir de la que je coince
// merci d'avance pour votre aide
quand tu dis "a partir de la tu coinces" qu'entends-tu par la? Ton code est bien jusque la donc qu'est-ce qui te pose probleme? La mise dans un tableau? Le tri ?
salut Marcd
quand je dis que je coince c'est que je n'arrive pas à traduire de facon informatique l'idee
pour le code ci dessous, je pense qu'il est bon
comprends tu l'idee que je veux traduire?
// je cherche a trouver la barre ayant fait un plus bas (lowest low)
// entre la barre actuelle et le dernier SwingHighs (cf plus bas definition) des que la condition emise dans le code est realisée
( if High[1]>High[2] and High[2]>High[3] )
// et a repertorier les infos date, plus haut , plus bas, barnumber dans un tableau
// nomme SwingLows
If SwingHighBar(1, High, TopStren, TopStren+1) = TopStren then begin
for Value1=1 downto 0 begin
SwingHighs[Value1+1,0] = SwingHighs[Value1,0];
SwingHighs[Value1+1,1] = SwingHighs[Value1,1];
SwingHighs[Value1+1,2] = SwingHighs[Value1,2];
SwingHighs[Value1+1,3] = SwingHighs[Value1,3];
SwingHighs[Value1+1,4] = SwingHighs[Value1,4];
end;
SwingHighs[0,0] = BarNumber[TopStren];
SwingHighs[0,1] = Date[TopStren];
SwingHighs[0,2] = Time[TopStren];
SwingHighs[0,3] = High[TopStren];
SwingHighs[0,4] = 0; // 0 = pattern not drawn / 1 = partern drawn
End;
if High[1]>High[2] and High[2]>High[3] then
LookBack = Currentbar ;
If SwingHighs[0,0]<>0 then // Existence d'un dernier SwingHighs
LookBack = currentbar - SwingHighs[0,0];
MyLow = Lowest(Low,LookBack);
OK. si je comprends bien l'idee de ton systeme de trading:
-> Tu regardes d'abord si tu as fait un SwingHigh il y a 5 barres -> Si oui tu sockes ton SwingHigh dans un tableau et tu decales la valeur precedente du swingHigh sur la plus haute dimension de ton tableau
Maintenant si tes 3 derniers chandeliers japonais ont des haut de plus en plus haut alors tu regardes le plus bas entre ta barre actuelle et le dernier SwingHigh.
Maintenant quel est ton probleme? Tu dis
Citer:
quand je dis que je coince c'est que je n'arrive pas à traduire de facon informatique l'idee pour le code ci dessous, je pense qu'il est bon
Ca veut dire que le code Easylanguage est correct, mais ce n'est pas toi qui l'a ecrit, et tu voudrais etre sur de ce que le code fait ?
" Maintenant si tes 3 derniers chandeliers japonais ont des haut de plus en plus haut
alors tu regardes le plus bas entre ta barre actuelle et le dernier SwingHigh."
je veux :
- trouver le plus bas une fois la condition des plus hauts réalisée
- stocker les infos de la barre ayant ce plus bas dans un tableau (date, high, bas,
barnumber) tabbas
Mais attention:
une fois que cela est fait,
il se peut il y ait à nouveau la condition des plus hauts que se realise avant l'arrivée
d'un nouveau SwingHigh
et alors le plus bas trouvé auparavant et mis dans un tableau tabbas devra etre remplacé
par un eventuel nouveau plus bas!
si tu vois comment faire?
voici ce que j'ai déjà fait (en plus du code que j'ai adapté)
If High[3]<High[2] and High[2]<High[1] then
LookBack = Currentbar ;
If SwingHighs[0,0]<>0 then // Existence d'un dernier SwingHigh
LookBack = currentbar - SwingHighs[0,0];
t'as du oublier un Begin et End dans cette instruction
if High[1]>High[2] and High[2]>High[3] then LookBack = Currentbar ; If SwingHighs[0,0]<>0 then // Existence d'un dernier SwingHighs LookBack = currentbar - SwingHighs[0,0]; MyLow = Lowest(Low,LookBack);
pour l'instant la seule chose que tu fasses quand tu as la condition des plus haut remplis et de faire l'instruction LookBack = Currentbar ; Ton instruction MyLow = Lowest(Low,LookBack); est elle faite sur chaque barre
Essaie de remplacer cela dans ton systeme de trading sur tradestation if High[1]>High[2] and High[2]>High[3] then BEGIN LookBack = Currentbar ; If SwingHighs[0,0]<>0 then // Existence d'un dernier SwingHighs LookBack = currentbar - SwingHighs[0,0]; MyLow = Lowest(Low,LookBack); END;
Enfin je ne vois nulle part ou tu stockes ton plus bas MyLow. Tu devrais avoir quelque chose du genre SwingHigh[0,5]=myLow si tu voulais le stocker.