_SECTION_BEGIN("Boucle HA (pas de AMA() )");
(Open[0]+High[0]+Low[0]+Close[0]) / 4;
HaOpen[0] = (HaClose[0] + Open[0]) / 2;
HaHigh[0] = Max( High[0], Max( HaClose[0], HaOpen[0] ) );
HaLow[0] = Min( Low[0], Min( HaClose[0], HaOpen[0] ) );
pour (i=1; i<NombreDeBarres; i++)
{
(Open + High + Low + Close) / 4;
Haopen = (HaClose[i-1] + HaOpen[i-1]) / 2; // Voici le problème lorsque vous utilisez
Tableaux : Haopen utilise toujours sa propre valeur précédente
HaHigh = Max( High, Max( HaClose, HaOpen ) );
Min( Low, Min( HaClose, HaOpen ) );
}
//TracerOHLC( HaOpen, HaHigh, HaLow, HaClose, "HA", couleurOrange, styleBougie );
_SECTION_END();
Heikin Ashi - Calculé correctement sans utilisation d'AMA
HHV( C - 2 * ATR( 10 ), 15 );
EMA( H, 13 ) + 2 * ATR( 10 );
/* **********************************
Code pour identifier automatiquement les pivots
********************************** */
// -- quelle sera notre plage de retour pour le hh et le ll ?
140; //Quelle distance remonter
nBars = 12; //Number of bars
// -- Créer des tableaux initialisés à 0 de la taille de barcount
aHPivs = H - H;
aLPivs = L - L;
// -- Plus pour une utilisation future, pas nécessaire pour le traçage de base
aHPivHighs = H - H;
aLPivLows = L - L;
aHPivIdxs = H - H;
aLPivIdxs = L - L;
nHPivs = 0;
nLPivs = 0;
lastHPIdx = 0;
lastLPIdx = 0;
lastHPH = 0;
lastLPL = 0;
curPivBarIdx = 0;
// -- en regardant en arrière depuis la barre actuelle, combien de barres
// arretez-vous où se trouvaient les valeurs hhv et llv précédentes
// n bars, etc.?
aHHVBars = HHVBars( H, nBars );
aLLVBars = LLVBars( L, nBars );
aHHV = HHV( H, nBars );
aLLV = LLV( L, nBars );
Souhaite mettre cela en place pour que les pivots soient calculés en arrière à partir de
// dernière barre visible pour faciliter le retour en arrière et voir les pivots
// ce code trouverait. Cependant, la première instance de
// Le résultat de Trace affichera une valeur de 0
Statut("barvisible")
nDernierBarVis = DernièreValeur( PlusHaut( Si( aVisBars, IndexBar(), 0 ) ) )
_TRACE( "Dernière barre visible : " + nLastVisBar );
// -- Initialiser la valeur de curTrend
curBar = ( BarCount - 1 );
curTrend
si ( aLLVBars[curBar] < aHHVBars[curBar] )
{
D
}
sinon
{
U
}
// -- Boucle à travers les barres. Rechercher pour
// approche entièrement basée sur les tableaux
// dans une version future
pour ( i = 0; i < BarCount; i++ )
{
curBar = ( BarCount - 1 ) - i;
// -- Avons-nous identifié un pivot ? Si la tendance est à la baisse...
si ( aLLVBars[curBar] < aHHVBars[curBar] )
{
// ... et avait été en hausse, c'est un changement de tendance
si ( curTrend == "U" )
{
D
// -- Capturer les informations de pivot
curPivBarIdx = curBar - aLLVBars[curBar];
aLPivs[curPivBarIdx] = 1;
aLPivLows[nLPivs] = L[curPivBarIdx];
aLPivIdxs[nLPivs] = curPivBarIdx;
nLPivs++;
}
// -- ou la tendance actuelle est à la hausse
}
sinon
{
si ( curTrend == "D" )
{
U
curPivBarIdx = curBar - aHHVBars[curBar];
aHPivs[curPivBarIdx] = 1;
aHPivHighs[nHPivs] = H[curPivBarIdx];
aHPivIdxs[nHPivs] = curPivBarIdx;
nHPivs++;
}
// -- Si curTrend est à la hausse...sinon...
}
// -- boucle à travers les barres
}
// -- Tentative de base pour ajouter un pivot, cette logique a peut-être été manquée
// -- D'accord, maintenant je veux regarder les deux derniers pivots. Si le plus
// le récent pivot bas est après le dernier sommet, je pourrais
// j'ai toujours un sommet élevé que je n'ai pas capté
// -- Commencez au dernier bar
( BarCount - 1 );
candIdx = 0;
candPrc = 0;
aLPivIdxs[0];
aLPivLows[0];
dernierHPIdx = aHPivIdxs[0];
aHPivHighs[0];
si ( lastLPIdx > lastHPIdx )
{
// -- Informations sur le bar et le prix pour le pivot candidat
candIdx = curBar - aHHVBars[curBar];
aHHV[curBar];
si (
dernierHPH < prixCandidature ET
candIdx > lastLPIdx ET
candIdx < curBar
{
// -- D'accord, nous allons ajouter cela comme un pivot...
aHPivs[candIdx] = 1;
// ...et puis réorganiser les éléments dans le
// pivoter les tableaux d'informations
pour ( j = 0; j < nHPivs; j++ )
{
aHPivHighs[nHPivs-j] = aHPivHighs[nHPivs- ( j+1 )];
aHPivIdxs[nHPivs-j] = aHPivIdxs[nHPivs-( j+1 )];
}
aHPivHighs[0] = candPrc ;
aHPivIdxs[0] = candIdx;
nHPivs++;
}
}
sinon
{
// -- Informations sur la barre et le prix pour le pivot candidat
candIdx = curBar - aLLVBars[curBar];
aLLV[curBar];
si (
lastLPL > candPrc ET
candIdx > lastHPIdx ET
candIdx < curBar
{
// -- D'accord, nous allons ajouter cela comme un pivot...
aLPivs[candIdx] = 1;
// ...et ensuite réorganiser les éléments dans le
// informations de pivot des tableaux
pour ( j = 0; j < nLPivs; j++ )
{
aLPivLows[nLPivs-j] = aLPivLows[nLPivs-(j+1)];
aLPivIdxs[nLPivs-j] = aLPivIdxs[nLPivs-(j+1)];
}
aLPivLows[0] = candPrc;
aLPivIdxs[0] = candIdx;
nLPivs++;
}
}
//============== EXPLORATION ==============
Acheter
Vendre = Court = aHPivs == 1;
PrixDeVente = ValeurQuand(Vendre, C, 1);
PrixAchat = ValeurQuand( Achat, C, 1 );
Long = Flip( Acheter, Vendre );
Court
// pic de volume ( vérifier les actions dont le volume pour la journée est d'au moins 10 % supérieur
que sa moyenne de volume sur 30 jours)
Volume_to = Somme(Volume, 31);
Volume_to = Volume_to - Volume;
Volume30 = Volume_to / 30;
pourcentage = ( abs( Volume30 - Volume ) ) / Volume30;
pourcentage = pourcentage * 100;
Filtre = Volume > Volume30 ET pourcentage > 10;
pointe de volume
Filtrer=Acheter OU Vendre;
Vendre
AjouterColonne(Acheter,"Acheter");
AjouterColonne(Vendre,"Vendre");
AjouterColonne(V*C, "Valeur");
AddColumn(AchatPrix,"AchatPrix", 1.4);
AjouterColonne(PrixDeVente,"PrixDeVente", 1.4);
AjouterColonne(O, "Ouverture");
AjouterColonne(H, "Élevé");
AjouterColonne(L, "Basse");
AjouterColonne(C, "Fermer");
AjouterColonne(Volume30,"Volume moyen sur 30 jours", 1, couleurBleu);
AjouterColonne(Volume,"Volume Aujourd'hui", 1, couleurBleue);
AjouterColonne(Pourcentage," % Augmentation", 1.2, couleurBleu);
//============== Tracer le prix ==============
n = 15;
a = C > ( MA( H, n ) + MA( L, n ) ) / 2;// puis acheter au prochain bar au marché ;
b = C < ( MA( H, n ) + MA( L, n ) ) / 2; // alors vendre à découvert au marché lors de la prochaine barre;
IIf( BarsSince( a ) < BarsSince( b ), 1, 0 );
Longs = état == 1;
shorts = état == 0;
//Graphique
IIf( Longs, colorVert, IIf( Shorts, colorRouge, colorGris40 ) );
Tracer( C, "Fermé", ParamCouleur("Couleur", couleurDéfaut), stylePasDeTitre |
ParamStyle("Style") | GetPriceStyle() );
//Tracer(C, "Fermer", barreDeCouleur, styleSansLigne, styleSansTitre);
// ================= Le code original de Rasheed (avec Lookback et Shift par défaut définis
selon ses spécifications)
H0 = H;
L0 = L;
C0 = C;
O0 = O;
Param("LookBack", 10, 10, 50, 1); // Valeur par défaut pour les matières premières interjournalières
trading de devises
Paramètre( "Déplacement", 5, 1, 50, 1); // ?
x0 = DernièreValeur(Cum(1));
x1 = x0 - décalage;
H = Ref(H, - décalage + 1);
L = Ref(L, - décalage + 1);
DernièreValeur(Réf(HHV(H, RegardRétro), - 1));
L1 = DernièreValeur(Ref(LLV(L, RegardArrière), - 1));
Tracer(H1, "H1", couleurJaune);
Tracer(L1, "L1", couleurJaune);
H = H0;
L = L0;
C = C0;
O = O0;
up = Cross(H, H1)ET Cum(1) > x1;
dn = Croisée(L1, L) ET Cum(1) > x1;
// ================= Le code original de Rasheed (avec Lookback et Shift par défaut définis
à ses spécifications) =================
//============== Tracer la forme (SIGNAL D'ACHAT/VENTE) ==============
TracezDesFormes( IIf( aHPivs == 1, formeChiffre5, formeAucun ), couleurRouge, 0, Haut, Décalage =
30 );
TracezFormes( IIf( aLPivs == 1, formeChiffre3 , formeAucun ), couleurVertVif, 0, Bas,
Décalage = -30 );
//TracezFormes( IIf(Acheter, formeCerclePetit, formeAucune), couleurBlanc, 0, PrixAchat, Décalage
= -30 );
//TracerFormes( IIf(Vendre, formePetitCercle, formeAucune), couleurBlanc, 0, PrixDeVente,
Décalage = 30 );
BarreVisibleDébut
DernièreBarVisible = Statut("DernièreBarVisible");
pour( b = PremierBarVisible; b <= DernierBarVisible ET b < CompteBar; b++)
//============== EMA(13) ==============
//Tracer( EMA( C, 5 ), "" , couleurCiel + styleLigne + stylePasDeRedimensionnement );
//============== TENDANCES ==============
DTL = 30; // DTL = Définir la tendance longue
DTM = 7; // DTM = Define Trend Medium
TL = PenteRegressionLinéaire( MA( C, DTL ), 2 ); // TL = Tendance Longue
TM = LinRegSlope( MA( C, DTM ), 2 ); // TM = Tendance Moyenne
TS = LinRegSlope( MA( C, DTS ), 2 ); // TS = Tendance Courte
TLL = IIf( LinRegSlope( MA( C, DTL ), 2 ) > 0, Vrai, Faux );
TMM = IIf( LinRegSlope( MA( C, DTM ), 2 ) > 0, Vrai, Faux );
TSS = IIf( LinRegSlope( MA( C, DTS ), 2 ) > 0, Vrai, Faux );
//============== VOLUME ==============
Vlp = 30; //Volume lookback period
Vrg = MA( V, Vlp );
St = ÉcStd( Vrg, Vlp );
Vrg + 3 * st
Vp2 = Vrg + 2 * st;
Vp1 = Vrg + 1 * st;
Vrg - 1 * st;
Vn2 = Vrg - 2 * st;
//============== %R DE WILLIAM ==============
WR = ( ( HHV( H, 14 ) - C ) / ( HHV ( H, 14 ) - LLV ( L, 14 ) ) ) * -100;
//============== A/D ==============
TRH = IIf( Ref( C, -1 ) > H, Ref( C, -1 ), H );
TRL = IIf( Ref( C, -1 ) < L, Ref( C, -1 ), L );
ad = IIf( C > Ref( C, -1 ), C - TRL, IIf( C < Ref( C, -1 ), C - TRH, 0 ) );
WAD = Cum( ad );
wu = wad > Ref( wad, -1 );
wd = wad < Ref( wad, -1 );
//============== MACD ==============
MB = Croisement ( MACD(), Signal() );
MS = Croix( Signal(), MACD() );
MB = ExRem( MB, MS );
MS = ExRem( MS, MB );
MB1 = MACD() > Signal();
MS1 = MACD() < Signal();
//============== STOCH ==============
StochK( 10, 5 );
StochD(10, 5, 5);
Croisement( StochK( 10, 5 ), StochD( 10, 5, 5 ) );
StochSell = Croisement ( StochD( 10, 5, 5 ), StochK( 10, 5 ) );
StochK( 10, 5 ) > StochD( 10, 5, 5 );
StochK( 10, 5 ) < StochD( 10, 5, 5 );
//============== ADX ==============
Croiser( PDI( 14 ), MDI( 14 ) );
adxSell = Croisée( MDI( 14 ), PDI( 14 ) );
adxAcheter
adxVente
PDI(14) > MDI(14);
MDI( 14 ) > PDI( 14 );
//==============TMA sans décalage ==============
fonction ZeroLagTEMA( tableau, période )
{
TEMA( tableau, période );
TMA2 = TEMA( TMA1, période );
Diff = TMA1 - TMA2;
retourner TMA1 + Diff ;
}
( haClose + haOpen + haHigh + haLow ) / 4;
periodtm = 55;
ZLHa = ZeroLagTEMA( haClose, periodtm );
ZeroLagTEMA( Avg, periodtm );
Croiser( ZLTyp, ZLHa );
Croiser( ZLHa, ZLTyp );
ZLTyp > ZLHa
ZLHa > ZLTyp
//============== ZLW ==============
R = ( ( HHV( H, 14 ) - C ) / ( HHV ( H, 14 ) - LLV ( L, 14 ) ) ) * -100;
MaxGraph = 10;
PeriodZ = 10;
EMA1 = EMA( R, PériodeZ );
EMA2 = EMA( EMA1, 5 );
Différence = EMA1 - EMA2;
ZeroLagEMA = EMA1 + Différence;
PR = 100 - abs( ZeroLagEMA );
MoyenneMobile = MA( PR, 5 );
Acheter = Croiser( PR, moyenneMobile ) ET PR < 30;
Vendre = Croiser( moyenneMobile, PR ) ET PR > 70;
ZBuy1 = PR >= MoyenneMobile ET PR >= Ref( PR, -1 ) ;
ZSell1 = ( PR < MoveAvg ) OU PR >= MoveAvg ET PR < Ref( PR, -1 ) ;
//============== RS ==============
p = ( H + L + C ) / 3;
r1 = ( 2 * p ) - L;
(2 * p) - H;
r2 = p + ( r1 - s1 );
s2 = p - ( r2 - s1 );
R3 = P + ( R2 - S2 );
S3 = P - ( R3 - S2 );
//============== IBUY ==============
J'achète = Croiser( RSI( 14 ), EMA( RSI( 14 ), 9 ) );
Isell = Croisé( EMA( RSI( 14 ), 9 ), RSI( 14 ) );
Ibuy = ExRem(Ibuy, ISell);
Isell = ExRem( ISell, Ibuy );
BlRSI = RSI( 14 ) > EMA( RSI( 14 ), 9 );
BrRSI = RSI( 14 ) < EMA( RSI( 14 ), 9 );
//=================Tendances & Signaux & Indice de Marché ===============================
/// Veuillez remplacer "00DSEGEN" par le symbole de votre indice de marché et activer les codes
Marché taureau ours
Étranger("^PSEi", "C");
Cgo= Ref(Cg,-1);
//Haussier ou baissier à long terme
Bullg = Cg > WMA(Cg,200);
Bearg= Cg <WMA(Cg,200);
//Midterm Baissier ou Haussier
mBullg = Cg >WMA(Cg,50);
Cg <WMA(Cg,50);
À court terme haussier ou baissier
sBullg = Cg > WMA(Cg,15);
sBearg= Cg <WMA(Cg,15);
////////////////////////////////
Cg - Ref(Cg,-1);
Change1 = StrFormat("%1.2f% ",xChange1);
xChange1>=0;
xChange1<0;
xChange1/100;
StrFormat("%1.2f% ", xperchange1);
xperchange1>0
xperchange1 < 0;
Tendances & Signaux & Indice du Marché
FIN===============================
VOLUME
-----------------------------------------------------------------------------------
_SECTION_BEGIN("Volume");
ParamCouleur("Couleur", CouleurRGB(128, 128, 192));
Tracer( Volume, _NOM_PAR_DÉFAUT(), MélangeDeCouleur( Couleur, ObtenirCouleurFondGraphique(), 0.5 ),
stylePasDeTitre | ParamStyle( "Style", styleHistogramme | stylePropreÉchelle | styleÉpais |
styleNoLabel, maskHistogram ), 2 );
_SECTION_END();
VOLUME
-----------------------------------------------------------------------------------
// NOM DE STOCK / PRIX DU MARCHÉ AGRANDI
-----------------------------------------------------------------------------------
Nom de l'Action
si (PAS ParamToggle("InterrupteurNomStock","Activé,Désactivé"))
ParamCouleur("Couleur du nom du stock", CouleurRGB(44,44,37));
FS=Param("Taille de police",36,11,100,1);
Param("Position Horizontale",750,1,1200,1)
Ver=Param("Position Verticale",1,1,830,1);
YC=TimeFrameGetPrice("C",inDaily,-1);
DD=Préc(C-YC,2);
xx=Préc((DD/YC)*100,2);
{
GfxSelectFont("Time news roman", Status("pxheight")/7 );
GfxSetTextAlign(6 );
GfxSetOverlayMode(1);
GfxSetTextColor(nomDuStock);
GfxSetBkMode(0);
GfxTextOut(Nom(),Statut("pxwidth")/2, Statut("pxheight")/18 );
GfxSelectFont("Arial Narrow", 36, 700, True );
GfxSetBkMode( couleurBlanche );
GfxSetTextColor( ParamColor("Couleur", couleurOr) );
GfxTextOut(""+C, Hor+150, Ver);
GfxSelectFont("Arial Narrow", 14, 700, True);
GfxSetBkMode( couleurBlanche );
GfxSetTextColor(ParamColor("Couleur", colorRed) );
GfxTextOut("")+DD+" ("+xx+"%)", Hor+150 , Ver+45);
}
_SECTION_END();
// NOM DE L'ACTION / PRIX DU MARCHÉ AGRANDI
-----------------------------------------------------------------------------------
_SECTION_BEGIN( "Spécial 6" );
// Paramètres
Param("GraphXSpace", 5, -30, 30, 1);
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
de = 1;
Param( "N Barres Pivot" , 31, 2, 500, 1 );
Hh = HHV( H, n );
Ll = LLV( L, n );
p1 = ll + ( hh - ll ) * 0.5;
p2 = ll + ( hh - ll ) * 0.382;
p3 = ll + ( hh - ll ) * 0,618;
p4 = ll + ( hh - ll ) * 0,236 ;
p5 = ll + ( hh - ll ) * 0.786;
(ParamColor("(Plus Haut Hi )",colorBrightGreen));
//Tracer(Hh, "p1:", Couleur1, stylePasDeLigne);
//Couleur2 =(ParamCouleur("ll + ( hh - ll ) * 0.786",couleurJaune));
//Tracer( p5, "p1:", Couleur2, stylePasDeLigne );
//Couleur3 =(ParamCouleur("ll + ( hh - ll ) * 0.618",couleurBleue));
//Tracer( p3, "p1:", Couleur3, styleSansLigne );
//Color4 =(ParamColor("ll + ( hh - ll ) * 0.5",colorBrightGreen));
//Tracer( p1, "p1:", Couleur4, styleSansLigne );
(ParamCouleur("ll + ( hh - ll ) * 0.382",couleurRouge));
//Tracer( p2, "p1:", Couleur5, stylePasDeLigne );
(ParamColor("ll + (hh - ll) * 0.236", couleurBleuClair));
//Tracer( p4, "p1:", Couleur6, stylePasDeLigne );
(ParamColor("( ll )",colorBlack))
//Tracer( Ll, "p1:", Color7, styleNoLine );
//Acheter = Croiser(L, LLV(L, n));
//Vendre = Croiser(HHV(H, n), H);
//TracerDesFormes(IIf(Acheter, formeCarré, formeAucun), couleurVerte, 0, L, Décalage=-5);
//TracéFormes(IIf(Acheter, formeCarrée, formeAucune), couleurCitronVert, 0,L, Décalage=-15);
//TracerFormes(IIf(Acheter, formeFlècheHaut, formeAucune), couleurBlanc, 0,L, Décalage=-10);
//TracerLesFormes(IIf(Vendre, formeCarré, formeAucune),couleurRougeFoncé, 0,H, Décalage= 5);
//TracerDesFormes(IIf(Vendre, formeCarré, formeAucune), couleurRouge, 0, H, Décalage = 15);
//TracerDesFormes(IIf(Vendre, formeFlècheBas, formeAucun),couleurBlanc, 0,H, Décalage=-10);
//PrixAchat =ValeurQuand(Achat,C);
PrixDeVente=ValeurQuand(Vendre,C);
//Acheter = ExRem(Acheter,Vendre);
//Vendre = ExRem(Vendre,Acheter);
//Acheter1 = Croiser(C, p4) ;
//Vendre1 = Croiser(p5, C) ;
//TracerDesFormes(shapeSmallUpTriangle*Acheter1,CouleurRGB( 80,125,165), 0,L,-20);
//PlotShapes(shapeSmallDownTriangle*Vente1,couleurJaune, 0,H,-20);
//PrixAchat1 =ValeurQuand(Achat1, C,1);
//PrixDeVente1=ValeurLorsDe(Vente1, C,1);
//Acheter1 = ExRem(Acheter1,Vendre1);
//Vendre1 = ExRem(Vendre1,Acheter1);
//Acheter2 = Croix(C, p2) ;
//Vendre2 = Croiser(p3, C) ;
//TracerDesFormes(shapeSmallUpTriangle*Acheter2,CouleurRGB(230, 0, 0), 0,L,-20);
//TracerDesFormes(shapeSmallDownTriangle*Vendre2,couleurBleu, 0,H,-20);
ValeurQuand(Achat2, C,1);
//PrixDeVente2=ValeurQuand(Vendre2, C,1);
//Acheter2 = ExRem(Acheter2,Vendre2);
//Vendre2 = ExRem(Vendre2,Acheter2);
//Acheter3 = Croiser(C, p1) ;
//Vendre3 = Croix(p1, C) ;
//TracerFormes(shapeSmallUpTriangle*Acheter3,couleurVertVif, 0,L,-30);
//TracerDesFormes(shapeSmallDownTriangle*Vendre2,couleurVertBrillant, 0,H,-20);
//PrixAchat3 =ValeurQuand(Achat3, C,1);
ValeurQuand(Sell3, C,1);
//Acheter3 = ExRem(Acheter3,Vendre3);
//Vendre3 = ExRem(Vendre3,Acheter3);
/*si(ValeurSélectionnée(Acheter OU Acheter1 OU Acheter2 OU Acheter3))
{
StaticVarSet( "tmp", 1 );
JouerSon("C:\Program Files\AmiBroker\son\[Link]");
DIS("BILI BILI BILI");
// Définir la couleur d'arrière-plan du graphique (ColorRGB(143,188,143));
}
si(ValeurSélectionnée(Vendre OU Vendre1 OU Vendre2 OU Vendre3))
{
StaticVarSet( "tmp", 0 );
JouerSon("C:\Program Files\AmiBroker\sound\[Link]");
BENTA BENTA BENTA
// Définir la couleur de fond du graphique (ColorRGB(240,128,128));
}
if(StaticVarGet("tmp")==1)
{
// Définir la couleur de fond du graphique (ColorRGB(143,188,143));
}
sinon
{
// DéfinirLaCouleurDeFondDuGraphique(ColorRGB(240,128,128));
}*/
_SECTION_END();
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
//=================================================================================
===================================================================================
==============
ICHIMOKU
_SECTION_BEGIN("Ichimoku");
Param( "Ligne Tenkan-Sen", 9, 1, 100 );
Param( "Kijun-Sen Ligne", 26, 1, 26, 1 );
Paramètre( "Période des Spans", 52, 1, 52, 1 );
//DéfinirOptionsDuGraphique(0, graphiqueAfficherFlèches|graphiqueAfficherDates);
SL = ( HHV( H, tour ) + LLV( L, tour ) ) / 2;
TL = ( HHV( H, prds ) + LLV( L, prds ) ) / 2;
DL = C;
Sp1 = ( SL + TL ) / 2;
Sp2 = ( HHV( H, étendue ) + LLV( L, étendue ) ) / 2;
{{NAME}} - {{INTERVAL}} {{DATE}} Ouvert %g, Haut %g, Bas %g
Fermer %g (%.1f%%) Vol " + WriteVal( V, 1.0 ) + " {{VALUES}}
ValeurSélectionnée( ROC( C, 1 ) ) );
//Tracer( C, "Fermeture", couleurNoire, stylePasTitre | ObtenirStylePrix() );
//Tracer( SL, "SL", couleurRouge, styleÉpais | stylePasDeLabel );
//Tracer( TL, "TL", couleurBleu, styleÉpais | styleSansÉtiquette );
//Tracer( DL, "CS", couleurJaune, styleEpais | styleSansÉtiquette, Null, Null, -prds, -2 );
IIf( Sp1 > Sp2, ParamColor( "Couleur de Span A", colorLightBlue ),
ParamCouleur( "Couleur de l'Espacement B", couleurBleuClair );
//TracerOHLC ( Sp1, Sp1, Sp2, Sp2, "Nuage", Couleur, styleNuage | stylePasDeLabel, Null,
Null, prds, -2 );
MyPort = 50000;
MonATR=ATR(7);//Entrez la moyenne ATR ou utilisez la moyenne mobile de 14 jours de l'ATR
PL = Ref(C,-26);
//Titre = Nom() + " (" + StrGauche(NomComplet(), 10) +
//") ATR : " + NumToStr(ATR(1), 4.2) + " ( " +
//NumToStr((C - Ref(C, -1)), 4.2) + " / " +
//NumToStr((((C - Ref(C, -1)) / Ref(C, -1)) * 100), 2.1) + "% ) " +
//WriteVal( SelectedValue( DateTime() ), formatDateTime) +
//" TL: " + WriteVal(SL, 2.2) +
//" KL:
Span A:
//" Span B :
Différence de portée :
Chikou Span Aujourd'hui :
Chikou Span 26 Jours Ago:
Limite de prix :
Ichimoku SL Pt :
Valeur SL:
//" Risque :
//" Limite de partage :
P
WriteVal ((MonPort)/1000, format=1.0) + "T";
_SECTION_END();
_SECTION_END();
//
//=================================================================================
===================================================================================
==============
//============== TITRE ==============
Titre
DéfinirOptionsDeGraphique(0,graphiqueAfficherFlèches|graphiqueAfficherDates);
printf( "Ouvrir : " + O );
si ( Statut( "action" ) == indicateurAction )
(
EncodeColor( couleurOr ) + "Système POPOY" + EncodeColor( CouleurRGB( 111,
208, 255 ) ) + " (" + Nom() + ") " + EncoderCouleur( couleurOr ) + Intervalle( 2 ) +
" " + Date() + " " + " Ouvert " + O + " " + "Salut " + H + " " + "Lo " + L + " "
EncodeCouleur( CouleurRGB( 111, 208, 255 ) ) +
Fermer
%)
+ " " + WriteIf( V*C > Vp2, EncodeColor( colorBrightGreen ) + "(Très Élevé)",
ÉcritSi( V*C > Vp1, EncoderCouleur( couleurCitron ) + "(Élevé)", ÉcritSi( V*C > Vrg,
EncodeColor( couleurCitron ) + "(Au-dessus de la moyenne)"
ÉcrivezSi( V*C <Vrg ET V*C >Vn1, EncoderCouleur( CouleurRGB( 255, 0, 128 ) ) + "(Moins
que la moyenne)
EncodeColor( couleurOr ) + " "
+ EncoderCouleur( couleurOr ) + "EMA(Fermeture,9) = " + EncoderCouleur( couleurVertVif ) +
ÉcrireVal( MA( C, 9 ), 1.4 )
+ "\n" + EncodeColor( colorGrey40 ) +
"--------------------------------------------------------"
ÉcrireSi( TS > 0 ET TS < 0.3, EncoderCouleur( couleurCitronVert ) + "Tendance Haussière Faible",
ÉcrireSi( TS >= 0.3 ET TS < 0.6 , EncoderCouleur( couleurOr ) + "Tendance Haussière Moyenne",
WriteIf( TS >= 0.6, EncodeColor( colorGreen ) + "Tendance Haussière Forte",
ÉcrivezSi( TS<0 ET TS> -0.3, EncodeCouleur( couleurRose ) + "Tendance Baissière Faible",
ÉcrireSi( TS <= -0,3 ET TS > -0,6 , EncoderCouleur( CouleurRGB( 255, 0, 128 ) ) +
Tendance baissière modérée
ÉcrireSi( TS <= -0.6, EncoderCouleur( couleurRouge ) + "Fort Tendance à la Baisse",
EncodeColor( couleurOr ) + "De côté" ) ) ) ) ) )
ÉcrireSi( TM > 0 ET TM < 0,3, EncoderCouleur( couleurLime ) + "Tendance Haussière Faible",
ÉcrireSi( TM >= 0.3 ET TM < 0.6 , EncoderCouleur( couleurOr ) + "Tendance Haussière Moyenne",
EcrisSi( TM >= 0.6, EncodeCouleur( couleurVerte ) + "Fort Tendance Haussière",
ÉcrireSi( TM<0 ET TM> -0.3, EncoderCouleur( couleurRose ) + "Tendance à la baisse faible",
ÉcrisSi( TM <= -0.3 ET TM > -0.6 , EncodeCouleur( CouleurRGB( 255, 0, 128 ) ) +
Tendance baissière modérée
ÉcrireSi( TM <= -0.6, EncoderCouleur( couleurRouge ) + "Fort tendance baissière",
EncodeColor( couleurOr ) + "De côté" ) ) ) ) ) )
ÉcrireSi( TL > 0 ET TL < 0,3, EncodeCouleur( couleurCitron ) + "Tendance Haussier Faible",
ÉcrireSi( TL >= 0.3 ET TL < 0.6 , EncoderCouleur( couleurOr ) + "Tendance haussière moyenne",
ÉcrireSi( TL >= 0.6, EncoderCouleur( couleurVerte ) + "Forte Tendance à la Haussé",
ÉcrireSi( TL<0 ET TL> -0.3, EncoderCouleur( couleurRose ) + "Tendance Baissière Faible",
ÉcrireSi( TL <= -0.3 ET TL > -0.6 , EncoderCouleur( CouleurRGB( 255, 0, 128 ) ) +
Tendance baissière moyenne
ÉcrivezSi( TL <= -0.6, EncodeCouleur( couleurRouge ) + "Fort Tendance Baissière",
EncodeColor( couleurOr ) + "De côté" ) ) ) ) ) )
"--------------------------------------------------------"
AccDist ():
EncodeColor( couleurOr ) + "Accumulation", WriteIf( wd, EncodeColor( couleurRouge ) +
Distribution
+ "\n" + EncodeColor( ColorRGB( 111, 208, 255 ) ) + "RSI (14): " + WriteIf( RSI( 14
) > 30 ET RSI( 14 ) < 70, EncodeColor( couleurOr ), WriteIf( RSI( 14 ) < 30 ,
EncodeColor( couleurBleue ), EncodeColor( couleurRouge ) ) ) + WriteVal( RSI( 14 ), format
= 1.1 )
+ ÉcrireSi( RSI( 14 ) > 30 ET RSI( 14 ) < 70, " Plage" + EncoderCouleur( couleurOr ),
ÉcrireSi( RSI( 14 ) < 30 , " SousVendu" + EncoderCouleur( couleurBleue ), " SurVendu" +
EncoderCouleur( couleurRouge ) ) )
+ "\n" + EncodeColor( ColorRGB( 111, 208, 255 ) ) + "CCI (14): " + WriteIf( CCI( 14
) > -100 ET CCI( 14 ) < 100, EncodeColor( colorGold ), WriteIf( CCI( 14 ) < -100 ,
EncodeCouleur( couleurBleue ), EncodeCouleur( couleurRouge ) ) ) + ÉcrireValeur( CCI( 14 ), format
= 1.1 )
+ ÉcrireSi( CCI( 14 ) > -100 ET CCI( 14 ) < 100, " Plage" +
EncodeColor( couleurOr ), ÉcrireSi( CCI( 14 ) < -100 , " SurVendu" +
EncodeColor( couleurBleue ), " SurAchat" + EncodeColor( couleurRouge ) ) )
EcrireSi( ROC( C, 14 ) > -10 ET ROC( C, 14 ) < 10, EncoderCouleur( couleurOr ),
ÉcrireSi( ROC( C, 14 ) < -10 , EncoderCouleur( couleurBleue ), EncoderCouleur( couleurRouge ) ) )
+ ÉcrireVal( ROC( C, 14 ), format = 1.1 )
+ ÉcrisSi( ROC( C, 14 ) > -10 ET ROC( C, 14 ) < 10, " Plage" +
EncodeColor( couleurOr ), WriteIf( ROC( C, 14 ) < -10 , " SurVendu" +
EncodeColor( couleurBleue ), " SurAcheter" + EncodeColor( couleurRouge ) ) )
EncodeColor( ColorRGB( 111, 208, 255 ) ) + "Wm%R (14): " + WriteIf( WR >
-80 ET WR < -20, EncodeColor( couleurOr ), WriteIf( WR < -80 ,
EncodeColor( couleurBleue ), EncodeColor( couleurRouge ) ) ) + WriteVal( WR, format =
1.1 )
+ ÉcrireSi( WR > -80 ET WR < -20, " Plage" + EncodeCouleur(couleurOr ), ÉcrireSi( WR <
SurVendu
) ) )
"--------------------------------------------------------"
ÉcrireSi( Jachète, EncoderCouleur( couleurOr) + "AvertissementAchat", ÉcrireSi( JeVends, EncoderCouleur(
colorRouge ) + "AlerteDeVente", ÉcrireSi( BlRSI, EncoderCouleur( couleurOr ) +
"ZoneHaussière", ÉcrireSi( BrRSI, EncoderCouleur( couleurRouge ) + "ZoneBaissière", "Neutre" )
) ) )
WriteIf( TMBuy, EncodeColor(colorGold ) + "Acheter", WriteIf( TMSell,
EncodeColor( couleurRouge ) + "Vendre", WriteIf( TMBuy1, EncodeColor( couleurOr ) +
Haussier, ÉcrireSi( TMSell1, EncoderCouleur( couleurRouge ) + "Baissier", "Neutre" ) ) ) )
ÉcrireSi( MB, EncodeCouleur( couleurOr ) + "Acheter", ÉcrireSi( MS, EncodeCouleur( couleurRouge )
+ "Vendre", ÉcrireSi( MB1, EncoderCouleur( couleurOr ) + "Haussier", ÉcrireSi( MS1,
EncodeColor( colorRouge ) + "Baissier", "Neutre" ) ) ) )
ÉcrivezSi( StochAchat, EncodeCouleur( couleurOr ) + "Achat", ÉcrivezSi( StochVente,
EncodeColor( couleurRouge ) + "Vendre", WriteIf( StAchat, EncodeColor( couleurOr ) +
"Haussier", WriteIf( StSell, EncodeColor( couleurRouge ) + "Baissier", "Neutre" ) ) ) )
ÉcrireSi( adxAchat, EncoderCouleur( couleurOr ) + "Achat", ÉcrireSi( adxVente,
EncodeCouleur( couleurRouge ) + "Vendre", ÉcrireSi( adxAcheter1, EncodeCouleur( couleurOr ) +
"Haussier", ÉcrireSi( adxVente1, EncoderCouleur( couleurRouge ) + "Baissier",
Neutre
+ "\n" + EncodeColor( couleurGrise40 ) +
"--------------------------------------------------------"
Fibo Retracement
100%
+EcrireVal(Hh,1.4)
78,6%
+WriteVal(p5,1.4)+EncodeColor(colorRed)+" 38.2% "+EncodeColor(colorRed)
+WriteVal(p2,1.4)
+WriteVal(p3,1.4)+EncodeColor(colorRed)+" 23,6% "+EncodeColor(colorRed)
+ÉcrireVal(p4,1.4)
50,0%
EncodeColor( couleurRouge )+" 00.0% "+WriteVal(Ll,1.4)
// + "\n" + EncodeColor( couleurNoire ) +
"----------------------------------------------------------------------------"
// + "\n" + EncodeColor( ColorRGB( 111, 208, 255 ) ) + "Déclencher l'arrêt : " +
EncoderCouleur( couleurCitron ) + ÉcrireValeur( TrailStop, format = 1.4 )
EncodeColor( couleurCitron ) + WriteVal( PrendreProfit, format = 1.4 )
"--------------------------------------------------------"
//+ EncodeColor( couleurBlanche )+ TL:
//+ EncodeColor( couleurBlanche )+" KL: " + WriteVal(TL, 2.2)
//+ EncodeColor( couleurBlanche )+"\nSpan A: " + WriteVal(Sp1, 2.2)
//+ EncodeColor( couleurBlanche )+"\nSpan B: " + WriteVal(Sp2, 2.2)
//+ EncodeColor( couleurBlanche )+" Diff span: " + WriteVal(Sp1 - Sp2, 2.2)
//+ EncodeColor( couleurBlanche )+"\nChikou Span Aujourd'hui: " + WriteVal(C, 2.2)
//+ EncodeColor( couleurBlanche )+"\nChikou Span il y a 26 jours : " + WriteVal(PL, 2.2)
//+ EncodeColor( couleurBlanche )+" Limite de prix: " + WriteVal((TL+ATR(14)*1.5), 2.2)
//+ EncodeColor( couleurBlanche )+" Ichimoku SL Pt :" + WriteVal (MonATR*3,format=1.2 )
//+ EncodeColor( couleurBlanche )+" Valeur SL: " + WriteVal ( Fermer - (MonATR*3),
(format=1.2))
//+ EncodeColor( couleurBlanche )+" Risque : " + WriteVal
( (MonATR*3/Fermeture)*100,format=1.2 ) + "%"
//+ EncodeColor( couleurBlanche )+"\nLimite de partage: " + WriteVal
((MonPort*0.01)/(MonATR*3),(format=1.2))
//+ EncoderCouleur( couleurBlanche )+"\n"+ "P"+EcrireVal(C*((MonPort*0.02)/(MonATR*3)),
(format=1.0))+ " de" +" " + WriteVal ((MyPort)/1000,format=1.0)+"T"
// + "\n" + EncodeColor( ColorRGB( 111, 208, 255 ) ) + "R1: " +
EncodeColor( couleurOrange ) + WriteVal( r1, format = 1.4 )
// + EncodeColor( ColorRGB( 111, 208, 255 ) ) + " R2: " +
EncodeColor( couleurOrange ) + WriteVal( r2, format = 1.4 )
// + EncoderCouleur( CouleurRGB( 111, 208, 255 ) ) +
EncodeColor( couleurOrange ) + WriteVal( r3, format = 1.4 )
// + "\n" +EncodeColor( ColorRGB( 111, 208, 255 ) ) + "S1: " +
EncodeCouleur( couleurOrange ) + ÉcrireValeur( s1, format = 1.4 )
// + EncoderCouleur( CouleurRGB( 111, 208, 255 ) ) + " S2: " +
EncoderCouleur( couleurOrange ) + ÉcrireValeur( s2, format = 1.4 )
// +EncodeColor( ColorRGB( 111, 208, 255 ) ) + " S3: " + EncodeColor( colorOrange )
+ WriteVal( s3, format = 1.4 )
);
_SECTION_END();
//=================================================================================
===================================================================================
==============
//=================================================================================
===================================================================================
==============
VOLUME AU PRIX
_SECTION_BEGIN("Volume Au Prix");
PlotVAPOverlay( Param("Lignes", 300, 100, 1000, 1 ), Param("Largeur", 5, 1, 100, 1 )
ParamCouleur("Couleur", cycleCouleur ), ParamToggle("Côté", "Gauche|Droite" ) |
4*ParamToggle("Ordre-Z", "Au-dessus|Derrière", 1 ) );
_SECTION_END();
//=================================================================================
===================================================================================
==============
//=================================================================================
===================================================================================
==============
// LIGNES DE TENDANCE
//pourcentage = 0.01 * 1; /* Ajustez ce pourcentage si nécessaire, j'utilise .01 parce que FOREX
est un nombre 0.0000
//firstpointL = 2;
//firstpointH = 2;
//
//y0=DernièreValeur(Fond(L, pourcentage, premierPointL));
//y1=DernièreValeur(Fond(Ref(L,-1),pourcentage,1));
//
//pour( t = 1; t < BarCount ET y0 >= y1; t++ )
//{
// premierpointL++;
// y0=ValeurDernière(Fosse(L, pourcentage, premierPointL));
//}
//
//x0=NombreBarres - 1 - DernièreValeur(BarsCreux(L, pourcentage, premierPointL));
//x1=NombreDeBarres - 1 - DernièreValeur(BarsDeCreux(Ref(L,-1),pourcentage,1));
//LineL = TableauDeLigne( x0, y0, x1, y1, 1 );
//
//Tracer( LineL, " Ligne de tendance de support", couleursBlanc, 1 + 4 );
//
//yt0=DernièreValeur(Pic(H, pourcentage, premierPointH));
//yt1=DernièreValeur(Peak(Ref(H,-1),pourcentage,1));
//
//pour(t = 1; t < BarCount ET yt0 <= yt1; t++ )
//{
// premierpointH++;
// yt0=DernièreValeur(Peak(H,percent,premierpointH));
//}
//xt0=NombreDeBarres - 1 - DernièreValeur(BarsDePic(H, pourcentage, premierPointH));
//xt1=NombreDeBarres - 1 - DernièreValeur(BarsDePic(Ref(H,-1),pourcentage,1));
//LineH = TableauLigne( xt0, yt0, xt1, yt1, 1 );
//
//Tracé(LigneH, "Ligne de tendance de résistance", couleurBlanche, 1 + 4);
//
//=================================================================================
===================================================================================
==============
_SECTION_BEGIN("MA3");
P = ChampParam("Champ de prix", -1);
Paramètres("Périodes", 15, 2, 300, 1, 10);
Tracer(MA(P, Périodes), _NOM_PAR_DÉFAUT(), ParamCouleur("Couleur", cycleDeCouleur))
ParamStyle("Style") ;
_SECTION_END();