17_STRATEGII/09_micis: capitol nou, strategia 7 pe actiuni individuale

Aprobat de user. E singura strategie din curs pe actiuni individuale, pe
weekly/monthly, deci singura care se potriveste direct cu swing pe
TradeStation cu bani proprii.

Ce nu e acoperit nicaieri altundeva in document si face miezul capitolului:
ladder-ul 1/3+1/3+1/3 masurat pe marubozu, stopul de 2/3 din doji pe
timeframe-uri mari, trail-ul pe timeframe-ul de sub cel de decizie, si rutina
scanezi-doji -> radar screen cu lista tinuta patru luni. Restul trimite la
01_buy_doji, 05_atmi si A3_intrarea in loc sa rescrie.

7 diagrame, audit curat, eticheta_libera a prins 9 suprapuneri reale in timpul
lucrului. Pe etichete doar preturi rostite; nivelul de 1/2 din marubozu pe JNJ
e lasat fara cifra, fiind derivat.

Lectura "TP2 vine inaintea lui TP1" e marcata ca lectura in fiecare loc unde
e folosita, cu varianta alternativa alaturi, nu doar intr-o nota de subsol.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ThN7ixZrowca8aTGrK1MUJ
This commit is contained in:
Claude Agent
2026-10-02 05:15:17 +00:00
parent d888320114
commit f103d9830f
12 changed files with 4171 additions and 0 deletions

View File

@@ -0,0 +1,113 @@
<svg viewBox="0 0 700 745" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<text x="24" y="90" fill="#333" style="font-weight:bold">MICI-S, tot trade-ul — weekly (exemplu construit)</text>
<rect x="161.5" y="124.2" width="121.0" height="464.2" fill="#c00" fill-opacity="0.08" stroke="#c00" stroke-width="1"/>
<text x="161.5" y="119.2" fill="#c00" style="font-weight:bold">downtrend 7 candele</text>
<rect x="297.5" y="468.0" width="53.0" height="111.4" fill="#188a3e" fill-opacity="0.08" stroke="#188a3e" stroke-width="1"/>
<text x="297.5" y="413.9" fill="#188a3e" style="font-weight:bold">fereastra de intrare</text>
<line x1="24.0" y1="583.5" x2="686" y2="583.5" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30.0" y="577.5" fill="#c00">SL 39.33 = 2/3 din doji</text>
<line x1="24.0" y1="481.4" x2="686" y2="481.4" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="475.4" fill="#188a3e" text-anchor="end">1/3 la close 45.00</text>
<line x1="24.0" y1="511.5" x2="686" y2="511.5" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30.0" y="505.5" fill="#188a3e">limit 1/3 la 43.33</text>
<line x1="24.0" y1="526.4" x2="686" y2="526.4" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="520.4" fill="#188a3e" text-anchor="end">limit 1/3 la 42.50</text>
<line x1="336.5" y1="506.4" x2="686" y2="506.4" stroke="#6a3d9a" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="500.4" fill="#6a3d9a" text-anchor="end">preț mediu 43.61</text>
<line x1="336.5" y1="429.4" x2="686" y2="429.4" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="423.4" fill="#1a5fb4" text-anchor="end">TP2 47.89 — lectura mea</text>
<line x1="24.0" y1="379.3" x2="686" y2="379.3" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="373.3" fill="#1a5fb4" text-anchor="end">TP1 50.67</text>
<polyline points="375.0,336.9 392.0,353.1 409.0,369.2 426.0,382.8 443.0,396.4 460.0,407.4 477.0,417.8 494.0,427.7 511.0,433.1" fill="none" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<line x1="52.0" y1="114.2" x2="52.0" y2="146.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="47.5" y="121.4" width="9" height="18.0" fill="#c00"/>
<line x1="69.0" y1="99.8" x2="69.0" y2="146.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="64.5" y="107.0" width="9" height="32.4" fill="#188a3e"/>
<line x1="86.0" y1="99.8" x2="86.0" y2="141.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="81.5" y="107.0" width="9" height="27.0" fill="#c00"/>
<line x1="103.0" y1="98.0" x2="103.0" y2="141.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="98.5" y="105.2" width="9" height="28.8" fill="#188a3e"/>
<line x1="120.0" y1="98.0" x2="120.0" y2="143.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="115.5" y="105.2" width="9" height="30.6" fill="#c00"/>
<line x1="137.0" y1="128.6" x2="137.0" y2="168.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="132.5" y="135.8" width="9" height="25.2" fill="#c00"/>
<line x1="154.0" y1="132.2" x2="154.0" y2="168.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="149.5" y="139.4" width="9" height="21.6" fill="#188a3e"/>
<line x1="171.0" y1="132.2" x2="171.0" y2="209.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="166.5" y="139.4" width="9" height="63.0" fill="#c00"/>
<line x1="188.0" y1="195.2" x2="188.0" y2="272.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="183.5" y="202.4" width="9" height="63.0" fill="#c00"/>
<line x1="205.0" y1="258.2" x2="205.0" y2="335.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="200.5" y="265.4" width="9" height="63.0" fill="#c00"/>
<line x1="222.0" y1="321.2" x2="222.0" y2="398.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="217.5" y="328.4" width="9" height="63.0" fill="#c00"/>
<line x1="239.0" y1="384.2" x2="239.0" y2="461.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="391.4" width="9" height="63.0" fill="#c00"/>
<line x1="256.0" y1="447.2" x2="256.0" y2="524.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="251.5" y="454.4" width="9" height="63.0" fill="#c00"/>
<line x1="273.0" y1="510.2" x2="273.0" y2="580.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="268.5" y="517.4" width="9" height="55.8" fill="#c00"/>
<line x1="290.0" y1="535.4" x2="290.0" y2="607.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="285.5" y="571.4" width="9" height="1.8" fill="#188a3e"/>
<line x1="307.0" y1="481.4" x2="307.0" y2="571.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="302.5" y="481.4" width="9" height="90.0" fill="#188a3e"/>
<line x1="324.0" y1="476.0" x2="324.0" y2="517.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="319.5" y="481.4" width="9" height="32.4" fill="#c00"/>
<line x1="341.0" y1="510.2" x2="341.0" y2="530.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="336.5" y="513.8" width="9" height="10.8" fill="#c00"/>
<line x1="358.0" y1="500.3" x2="358.0" y2="530.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="353.5" y="506.6" width="9" height="18.0" fill="#188a3e"/>
<line x1="375.0" y1="478.7" x2="375.0" y2="512.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="370.5" y="485.0" width="9" height="21.6" fill="#188a3e"/>
<line x1="392.0" y1="457.1" x2="392.0" y2="491.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="387.5" y="463.4" width="9" height="21.6" fill="#188a3e"/>
<line x1="409.0" y1="422.9" x2="409.0" y2="469.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="404.5" y="429.2" width="9" height="34.2" fill="#188a3e"/>
<line x1="426.0" y1="399.5" x2="426.0" y2="435.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="421.5" y="405.8" width="9" height="23.4" fill="#188a3e"/>
<line x1="443.0" y1="372.5" x2="443.0" y2="412.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="438.5" y="378.8" width="9" height="27.0" fill="#188a3e"/>
<line x1="460.0" y1="349.1" x2="460.0" y2="385.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="455.5" y="355.4" width="9" height="23.4" fill="#188a3e"/>
<line x1="477.0" y1="349.1" x2="477.0" y2="374.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="472.5" y="355.4" width="9" height="12.6" fill="#c00"/>
<line x1="494.0" y1="331.1" x2="494.0" y2="374.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="489.5" y="337.4" width="9" height="30.6" fill="#188a3e"/>
<line x1="511.0" y1="304.1" x2="511.0" y2="343.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="506.5" y="310.4" width="9" height="27.0" fill="#188a3e"/>
<line x1="24" y1="703.4" x2="686" y2="703.4" stroke="#888"/>
<rect x="47.5" y="674.2" width="9" height="29.2" fill="#c00" opacity="0.55"/>
<rect x="64.5" y="669.1" width="9" height="34.3" fill="#188a3e" opacity="0.55"/>
<rect x="81.5" y="672.8" width="9" height="30.6" fill="#c00" opacity="0.55"/>
<rect x="98.5" y="667.7" width="9" height="35.7" fill="#188a3e" opacity="0.55"/>
<rect x="115.5" y="671.3" width="9" height="32.1" fill="#c00" opacity="0.55"/>
<rect x="132.5" y="666.2" width="9" height="37.2" fill="#c00" opacity="0.55"/>
<rect x="149.5" y="669.9" width="9" height="33.5" fill="#188a3e" opacity="0.55"/>
<rect x="166.5" y="673.5" width="9" height="29.9" fill="#c00" opacity="0.55"/>
<rect x="183.5" y="668.4" width="9" height="35.0" fill="#c00" opacity="0.55"/>
<rect x="200.5" y="672.0" width="9" height="31.4" fill="#c00" opacity="0.55"/>
<rect x="217.5" y="666.9" width="9" height="36.5" fill="#c00" opacity="0.55"/>
<rect x="234.5" y="661.1" width="9" height="42.3" fill="#c00" opacity="0.55"/>
<rect x="251.5" y="658.2" width="9" height="45.2" fill="#c00" opacity="0.55"/>
<rect x="268.5" y="655.3" width="9" height="48.1" fill="#c00" opacity="0.55"/>
<rect x="285.5" y="652.4" width="9" height="51.0" fill="#188a3e" opacity="0.55"/>
<rect x="302.5" y="633.4" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="319.5" y="661.1" width="9" height="42.3" fill="#c00" opacity="0.55"/>
<rect x="336.5" y="665.5" width="9" height="37.9" fill="#c00" opacity="0.55"/>
<rect x="353.5" y="659.7" width="9" height="43.8" fill="#188a3e" opacity="0.55"/>
<rect x="370.5" y="655.3" width="9" height="48.1" fill="#188a3e" opacity="0.55"/>
<rect x="387.5" y="650.9" width="9" height="52.5" fill="#188a3e" opacity="0.55"/>
<rect x="404.5" y="646.5" width="9" height="56.9" fill="#188a3e" opacity="0.55"/>
<rect x="421.5" y="652.4" width="9" height="51.0" fill="#188a3e" opacity="0.55"/>
<rect x="438.5" y="645.1" width="9" height="58.3" fill="#188a3e" opacity="0.55"/>
<rect x="455.5" y="674.2" width="9" height="29.2" fill="#188a3e" opacity="0.55"/>
<rect x="472.5" y="669.1" width="9" height="34.3" fill="#c00" opacity="0.55"/>
<rect x="489.5" y="672.8" width="9" height="30.6" fill="#188a3e" opacity="0.55"/>
<rect x="506.5" y="667.7" width="9" height="35.7" fill="#188a3e" opacity="0.55"/>
<text x="24" y="627.4" fill="#555">volum</text>
<text x="290.0" y="621.4" fill="#b06000" text-anchor="middle" style="font-weight:bold">doji</text>
<text x="307.0" y="465.4" fill="#188a3e" text-anchor="middle" style="font-weight:bold">buy doji</text>
<text x="103.0" y="179.2" fill="#888" text-anchor="middle" style="font-weight:bold">consolidare</text>
<text x="341.0" y="602.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">limituri umplute</text>
<text x="24" y="733" fill="#555">Exemplu construit (fără ticker), la scară. R-urile sunt ale mele.</text>
</svg>

After

Width:  |  Height:  |  Size: 9.3 KiB

View File

@@ -0,0 +1,409 @@
"""Diagramele pentru summaries/17_STRATEGII/09_micis.md (MICI-S, strategia 7).
Un singur generator pentru cele șapte diagrame ale capitolului: capitolul are
o serie construită folosită de trei desene, deci dacă fiecare diagramă ar sta
în fișierul ei, seria s-ar dubla și s-ar desincroniza la prima retușare.
Regula de cifre, aceeași din `gen/strategia_7_micis.py`: pe etichete intră
DOAR prețuri rostite în transcriere (157.47, 155.02, 86, 94, 133, 182, 28, 48,
217.02, 214.25) sau prețuri dintr-un exemplu declarat construit în titlu.
Valorile derivate (prețul mediu, 1R, 1/2 din marubozu) nu primesc etichetă pe
desenele cu ticker, ci doar pe cele construite, unde captionul spune că R-urile
sunt ale mele.
Scrie gen/strategii/micis_<cheie>.svg și substituie marcajele
<!-- DIAGRAMA: cheie --> din capitol.
Rulează: .venv/bin/python gen/strategii/micis_diagrame.py
"""
import re
import sys
from pathlib import Path
sys.path.insert(0, "/workspace/atm-curs-dl")
sys.path.insert(0, "/workspace/atm-curs-dl/gen")
from eticheta_libera import eticheta_libera # noqa: E402
from svg_candles import MA, Arrow, Chart, Level, Mark, Zone, from_closes # noqa: E402
ROOT = Path("/workspace/atm-curs-dl")
MD = ROOT / "summaries/17_STRATEGII/09_micis.md"
OUT = ROOT / "gen/strategii"
RED, GREEN, BLUE, ORANGE, INK, GRAY = "#c00", "#188a3e", "#1a5fb4", "#b06000", "#333", "#888"
PURPLE = "#6a3d9a"
CONSTRUIT = "Exemplu construit (fără ticker), la scară. R-urile sunt ale mele."
SVG = {}
# ----------------------------------------------------------------- unelte mici
def ramp(a, b, n):
return [round(a + (b - a) * k / n, 2) for k in range(1, n + 1)]
def vols(n, base=44, span=12, **over):
v = [float(base + ((i * 7) % span) - span // 2) for i in range(n)]
for k, x in over.items():
v[int(k[1:])] = float(x)
return v
def lo(cds, a, b):
return round(min(c.l for c in cds[a:b + 1]), 2)
def hi(cds, a, b):
return round(max(c.h for c in cds[a:b + 1]), 2)
def run_desc(cds, end):
"""Câte bare consecutive, terminând cu `end`, au high-uri descrescătoare.
Cititorul numără downtrend-ul după high-uri, nu după culori, deci eticheta
zonei se calculează de aici — altfel desenul încalcă propria regulă de
„5-8 candele".
"""
k = 1
while end - k >= 0 and cds[end - k].h > cds[end - k + 1].h:
k += 1
return k
def zona_downtrend(cds, end, color=RED):
n = run_desc(cds, end)
assert 5 <= n <= 8, f"downtrend-ul desenat are {n} candele, regula cere 5-8"
return Zone(end - n + 1, end, f"downtrend {n} candele", color)
def deco(ch, name, distante=(), intregi=(), libere=(), libere_nivel=(), extra=None):
"""Randează, verifică etichetele, salvează.
`distante` = numere cu două zecimale permise în etichete fără să fie
niveluri desenate. `intregi` = întregi rostiți. `libere` / `libere_nivel` =
etichete pe care `eticheta_libera` le verifică (a doua grupă: etichete de
nivel, lipite de linia lor prin construcție, deci doar candelele contează).
"""
svg = ch.render()
if extra is not None:
svg = svg.replace("\n</svg>", "\n " + "\n ".join(extra(ch)) + "\n</svg>")
assert "\n\n" not in svg, f"{name}: linie goală în svg"
assert ".md:" not in svg, f"{name}: trimitere fișier:linie în svg"
assert len(ch.caption) <= 130, f"{name}: caption de {len(ch.caption)} caractere"
desenate = ({f"{lv.price:.2f}" for lv in ch.levels}
| {f"{a.price:.2f}" for a in ch.arrows if a.price is not None}
| {f"{d:.2f}" for d in distante})
permise_int = {str(i) for i in intregi} | {f"{lv.price:.0f}" for lv in ch.levels}
for t in re.findall(r"<text\b[^>]*>(.*?)</text>", svg, re.S):
plain = re.sub(r"<[^>]+>", "", t)
for m in re.finditer(r"\d+\.\d\d", plain):
assert m.group(0) in desenate, \
f"{name}: eticheta numește {m.group(0)}, care nu e un nivel desenat"
for m in re.finditer(r"(?<![\d.\-])(\d{2,3})(?![\d.])"
r"(?!\s*(?:candele|bare|săptămâni|luni|perioade|mil))", plain):
assert m.group(1) in permise_int, \
f"{name}: eticheta numește întregul {m.group(1)}, nepermis"
sus = min(ch._y(c.h) for c in ch.candles)
jos = max(ch._y(c.l) for c in ch.candles)
for lv in ch.levels:
assert ch._y(lv.price) > sus - 0.06 * (jos - sus), \
f"{name}: nivelul {lv.price} e lipit de marginea de sus"
if libere:
eticheta_libera(svg, name, set(libere), rects=True)
if libere_nivel:
eticheta_libera(svg, name, set(libere_nivel), rects=True, segmente=False)
SVG[name] = svg
print(f" {name}: {len(ch.candles)} bare, {len(ch.levels)} niveluri")
# =========================================================== seria construită
# Un trade construit, folosit de `ansamblu` și de `tinte`, ca să nu se schimbe
# cifrele de la o secțiune la alta. Aceleași cifre ca în sumarizarea lecției.
CL = ([64.00, 65.80, 64.30, 65.90, 64.20, 62.80, 64.00] # 0-6 consolidare
+ [60.50, 57.00, 53.50, 50.00, 46.50, 43.00, 39.90] # 7-13 downtrend, 7 bare
+ [40.00] # 14 doji
+ [45.00] # 15 marubozu de trigger
+ [43.20, 42.60] # 16-17 pullback-ul
+ [43.60, 44.80, 46.00, 47.90, 49.20, 50.70] # 18-23 urcarea
+ [52.00, 51.30, 53.00, 54.50]) # 24-27 continuare
WK = ([(0.40, 0.40)] * 14 + [(2.00, 1.90)] + [(0.00, 0.00)]
+ [(0.30, 0.20), (0.20, 0.30)] + [(0.35, 0.35)] * 10)
VL = vols(28, 46, 12, i11=58, i12=62, i13=66, i14=70, i15=96, i16=58, i17=52,
i18=60, i19=66, i20=72, i21=78, i22=70, i23=80)
CDS = from_closes(CL, wicks=WK, vols=VL, start=65.00)
DOJI_LO, DOJI_HI = lo(CDS, 14, 14), hi(CDS, 14, 14)
H_DOJI = round(DOJI_HI - DOJI_LO, 2)
assert (DOJI_LO, DOJI_HI, H_DOJI) == (38.00, 42.00, 4.00), (DOJI_LO, DOJI_HI)
assert abs(CDS[14].c - CDS[14].o) <= 0.10 * H_DOJI, "candela 14 nu e doji"
assert CDS[15].c > DOJI_HI, "trigger-ul nu închide peste high-ul doji-ului"
assert run_desc(CDS, 13) == 7, "înaintea doji-ului trebuie 7 bare descrescătoare"
TRIG_HI, TRIG_LO = hi(CDS, 15, 15), lo(CDS, 15, 15)
H_TRIG = round(TRIG_HI - TRIG_LO, 2)
E1 = CDS[15].c # 45.00, la close
E2 = round(TRIG_HI - H_TRIG / 3, 2) # 43.33, 1/3 din marubozu
E3 = round(TRIG_HI - H_TRIG / 2, 2) # 42.50, 1/2 din marubozu
SL = round(DOJI_LO + H_DOJI / 3, 2) # 39.33, 2/3 din doji
MED = round((E1 + E2 + E3) / 3, 2) # 43.61
R1, R2 = round(E1 - SL, 2), round(MED - SL, 2)
TP1, TP2 = round(E1 + R1, 2), round(MED + R2, 2)
assert SL == 39.33 and MED == 43.61 and TP1 == 50.67 and TP2 == 47.89
assert lo(CDS, 16, 16) <= E2 and lo(CDS, 17, 17) <= E3, "ladder-ul nu se umple"
assert lo(CDS, 16, 17) > SL, "pullback-ul atinge stopul"
assert hi(CDS, 21, 21) >= TP2 and hi(CDS, 23, 23) >= TP1, "țintele nu sunt atinse"
assert TP2 < TP1, "pe prețul mediu ținta de 1R vine mai jos, nu mai sus"
# stopul de 2/3 stă la o treime deasupra low-ului, nu la jumătate
assert abs((SL - DOJI_LO) - H_DOJI / 3) < 0.01, "stopul nu e la 2/3 din doji"
print(f"construit: doji {DOJI_LO}-{DOJI_HI} intrări {E1}/{E2}/{E3} medie {MED}"
f" SL {SL} TP1 {TP1} ({R1}) TP2 {TP2} ({R2})")
# -------------------------------------------------------------- 1. ansamblu
deco(Chart(
candles=CDS,
levels=[Level(SL, f"SL {SL:.2f} = 2/3 din doji", RED, label_at="left"),
Level(E1, f"1/3 la close {E1:.2f}", GREEN),
Level(E2, f"limit 1/3 la {E2:.2f}", GREEN, label_at="left"),
# la stânga ar cădea peste eticheta limitului de deasupra
Level(E3, f"limit 1/3 la {E3:.2f}", GREEN),
Level(MED, f"preț mediu {MED:.2f}", PURPLE, i0=17),
Level(TP2, f"TP2 {TP2:.2f} — lectura mea", BLUE, i0=17),
Level(TP1, f"TP1 {TP1:.2f}", BLUE)],
marks=[Mark(14, "doji", ORANGE, "below", dy=14),
Mark(15, "buy doji", GREEN, dy=-6),
Mark(3, "consolidare", GRAY, "below", dy=18),
Mark(17, "limituri umplute", GREEN, "below", dy=52)],
zones=[zona_downtrend(CDS, 13), Zone(15, 17, "fereastra de intrare", GREEN)],
mas=[MA(20, ORANGE, dash="4 3")],
scale=18.0, gap=17, body_w=9, left=52, width=700, top=76, vol_h=70,
vol_label="volum", title="MICI-S, tot trade-ul — weekly (exemplu construit)",
caption=CONSTRUIT), "ansamblu", distante=(R1, R2, H_DOJI),
libere=("doji", "buy doji", "limituri umplute"),
libere_nivel=(f"TP1 {TP1:.2f}", f"SL {SL:.2f} = 2/3 din doji"))
# ------------------------------------------- 2. ladder-ul măsurat pe marubozu
J_CL = ([166.00, 164.50, 165.50, 163.00, 161.00, 162.00, 159.50, 157.00,
155.00, 153.00, 151.50, 150.00] # 0-11 downtrend
+ [150.12] # 12 doji
+ [157.47] # 13 marubozu, close = high
+ [155.60, 154.00] # 14-15 pullback
+ [155.50, 157.00, 158.60, 160.50, 162.00, 161.00, 163.50, 165.00,
166.50, 168.00])
J_WK = ([(0.60, 0.60)] * 12 + [(2.40, 2.60)] + [(0.00, 0.00)]
+ [(0.70, 0.70), (0.40, 0.40)] + [(0.60, 0.60)] * 10)
J_VL = vols(26, 44, 12, i12=58, i13=92, i14=54, i15=50, i16=58, i17=64, i18=70)
JC = from_closes(J_CL, wicks=J_WK, vols=J_VL, start=167.00)
J_E1 = JC[13].c
J_HI, J_LO = hi(JC, 13, 13), lo(JC, 13, 13)
J_E2 = round(J_HI - (J_HI - J_LO) / 3, 2)
J_E3 = round(J_HI - (J_HI - J_LO) / 2, 2)
assert J_E1 == 157.47 and J_HI == 157.47, "close-ul rostit e 157.47, pe high"
assert J_E2 == 155.02, f"1/3 din marubozu trebuie să cadă pe 155.02, nu {J_E2}"
assert J_E3 < J_E2, "1/2 din marubozu e sub 1/3 din marubozu"
assert JC[13].c > hi(JC, 12, 12), "trigger-ul nu închide peste high-ul doji-ului"
assert lo(JC, 14, 14) <= J_E2 and lo(JC, 15, 15) <= J_E3, "ladder-ul nu se umple"
assert run_desc(JC, 11) >= 5, "downtrend-ul din stânga doji-ului e prea scurt"
deco(Chart(
candles=JC,
levels=[Level(J_E1, f"1/3 la close {J_E1:.2f}", GREEN),
Level(J_E2, f"limit 1/3 la {J_E2:.2f} = 1/3 din marubozu", GREEN, i0=13),
Level(J_E3, "limit 1/3 la 1/2 din marubozu", PURPLE, label_at="left")],
marks=[Mark(12, "doji", ORANGE, "below", dy=14),
Mark(13, "marubozu de trigger", GREEN, dy=-26),
Mark(15, "pullback-ul umple ambele limituri", GREEN, "below", dy=38)],
scale=10.0, gap=17, body_w=9, left=58, width=700, vol_h=70,
vol_label="volum", title="Ladder-ul, măsurat pe marubozu — JNJ weekly",
caption="Ale lui: close-ul 157.47 și limit-ul de 155.02. Nivelul de 1/2 și "
"barele din jur sunt ale mele."),
"ladder", distante=(J_E3,),
libere=("doji", "marubozu de trigger", "pullback-ul umple ambele limituri"))
# ------------------------------------------------------- 3. stopul (NVDA)
N_CL = ([20.00, 23.50, 27.00, 25.00, 31.00, 38.00, 45.00, 42.00, 50.00, 55.00,
62.00, 75.00, 90.00, 108.00, 125.00, 138.00] # 0-15 uptrend lung
+ [150.00, 138.00, 126.00, 115.00, 101.00] # 16-20 downtrend, 5 bare
+ [100.50] # 21 doji
+ [133.00] # 22 marubozu de trigger
+ [141.00, 152.00, 164.00, 175.00, 182.00]) # 23-27 spre 182
N_WK = ([(1.50, 1.50)] * 16 + [(5.00, 3.00)] + [(3.00, 3.00)] * 4
+ [(13.00, 14.50)] + [(0.50, 1.50)] + [(2.00, 2.00)] * 5)
N_VL = vols(28, 46, 12, i19=66, i20=78, i21=84, i22=104, i23=86, i24=80)
NC = from_closes(N_CL, wicks=N_WK, vols=N_VL, start=19.00)
N_LO, N_HI = lo(NC, 21, 21), hi(NC, 21, 21)
assert (N_LO, round(N_HI - N_LO, 2)) == (86.00, 28.00), (N_LO, N_HI)
assert abs(NC[21].c - NC[21].o) <= 0.10 * 28.00, "candela 21 nu e doji"
assert NC[22].c == 133.00 and NC[22].c > N_HI, "trigger-ul închide la 133, peste doji"
assert hi(NC, 27, 27) >= 182.00, "seria trebuie să ajungă la 182"
# cifrele pe care le afirmă textul capitolului, verificate pe desen
assert abs((133.00 - 86.00) / 133.00 * 100 - 35.3) < 0.1, "distanța 133→86 nu e 35,3%"
assert abs((133.00 - 94.00) / 133.00 * 100 - 29.3) < 0.1, "distanța 133→94 nu e 29,3%"
SL_STRICT = round(86.00 + 28.00 / 3, 2)
assert SL_STRICT == 95.33, SL_STRICT
print(f" NVDA: 2/3 din doji = {SL_STRICT} strict, el citește 94 „din ochi”")
deco(Chart(
candles=NC,
levels=[Level(86.00, "sub low-ul doji-ului: 86", RED, label_at="left"),
Level(94.00, "SL 2/3 din doji: 94", RED, label_at="left"),
Level(133.00, "1/3 la close: 133", GREEN),
Level(182.00, "ținta rostită: 182", BLUE)],
marks=[Mark(21, "doji monthly, înălțime 28", ORANGE, "below", dy=34),
Mark(22, "marubozu de trigger", GREEN, dy=-118)],
zones=[zona_downtrend(NC, 20)],
mas=[MA(20, ORANGE, dash="4 3", text="SMA-20")],
scale=2.4, gap=19, body_w=10, left=58, width=700, top=60, vol_h=70,
vol_label="volum", title="Stopul, cele două variante — NVDA monthly",
caption="Ale lui: 86, 94 (citit din ochi), 133, 182 și înălțimea de 28; "
"barele din jur sunt ale mele."),
"stop", intregi=(86, 94, 133, 182, 28),
libere=("doji monthly, înălțime 28", "marubozu de trigger"))
# ---------------------------------------------- 4. cele două ținte (zoom)
cl4, wk4, vl4 = CL[9:], WK[9:], VL[9:]
cds4 = from_closes(cl4, wicks=wk4, vols=vl4, start=CL[8])
assert lo(cds4, 5, 5) == DOJI_LO and cds4[6].c == E1, "zoom-ul mută seria"
deco(Chart(
candles=cds4,
levels=[Level(SL, f"SL {SL:.2f}", RED, label_at="left"),
Level(MED, f"preț mediu {MED:.2f}", PURPLE),
Level(E1, f"1/3 la {E1:.2f}", GREEN),
Level(TP2, f"TP2 {TP2:.2f}", BLUE),
Level(TP1, f"TP1 {TP1:.2f}", BLUE)],
arrows=[Arrow(10, f"TP2 = 1R pe prețul mediu ({R2:.2f}) — lectura mea",
price=TP2, where="left", color=BLUE, dx=-6, dy=-16),
Arrow(12, f"TP1 = 1R pe prima tranșă ({R1:.2f})", price=TP1,
where="above", color=BLUE, dy=-10)],
mas=[MA(20, ORANGE, dash="4 3", text="SMA-20")],
scale=13.0, gap=28, body_w=14, left=60, width=700, top=56,
title="Cele două ținte — weekly (exemplu construit)",
caption="Lectura mea: mediind în jos, TP2 vine înaintea lui TP1. "
"Fraza-sursă e neinteligibilă exact aici."),
# etichetele de săgeată sunt legate de desen prin coada lor, deci se
# verifică doar etichetele de nivel
"tinte", distante=(R1, R2),
libere_nivel=(f"TP1 {TP1:.2f}", f"TP2 {TP2:.2f}", f"SL {SL:.2f}"))
# ------------------------------- 5. trail-ul, pe timeframe-ul de sub decizie
cl5 = (ramp(44.00, 50.00, 5) + [49.20, 48.60, 49.40] # 0-7 trail 1
+ ramp(49.40, 56.00, 5) + [55.00, 54.20, 55.40] # 8-15 trail 2
+ ramp(55.40, 62.00, 5) + [61.00, 60.20, 61.40] # 16-23 trail 3
+ ramp(61.40, 67.00, 4) + [66.20, 65.60]) # 24-29 trail 4
cds5 = from_closes(cl5, wicks=[(0.40, 0.40)] * 30, vols=vols(30, 50, 12), start=43.00)
SW = [6, 14, 22, 29]
t1, t2, t3, t4 = (lo(cds5, 5, 7), lo(cds5, 13, 15), lo(cds5, 21, 23), lo(cds5, 28, 29))
assert t1 < t2 < t3 < t4, (t1, t2, t3, t4)
for _i0, _t in zip(SW, (t1, t2, t3, t4)):
assert all(c.l >= _t - 1e-9 for c in cds5[_i0:]), \
f"trail-ul {_t} de la bara {_i0} trece peste low-ul unei bare de după"
assert lo(cds5, max(0, _i0 - 1), min(_i0 + 1, len(cds5) - 1)) == _t, \
f"trail-ul {_t} nu e ancorat de swing low-ul de la bara {_i0}"
# trail-ul pe TF-ul deciziei: un singur swing low în toată fereastra, mai jos
# decât toate cele patru mutări de pe TF-ul mic
TF_MARE = lo(cds5, 0, 3)
assert TF_MARE < t1 < t2 < t3 < t4, "trail-ul de pe TF-ul mare nu e cel mai de jos"
assert all(c.l >= TF_MARE - 1e-9 for c in cds5), "trail-ul de pe TF-ul mare e lovit"
def trail_tf_mare(ch):
"""Linia groasă din caption: stopul dacă trail-ul ar sta pe TF-ul deciziei."""
y = ch._y(TF_MARE)
return [f'<line x1="24" y1="{y:.1f}" x2="{ch.width - 14}" y2="{y:.1f}" '
f'stroke="{PURPLE}" stroke-width="3"/>',
f'<text x="{ch.width - 28}" y="{y + 16:.1f}" fill="{PURPLE}" '
f'text-anchor="end">trail pe TF-ul deciziei: {TF_MARE:.2f}, '
f'o singură mutare</text>']
deco(Chart(
candles=cds5,
levels=[Level(t1, f"trail 1: {t1:.2f}", RED, i0=SW[0]),
Level(t2, f"trail 2: {t2:.2f}", RED, i0=SW[1]),
Level(t3, f"trail 3: {t3:.2f}", RED, i0=SW[2]),
Level(t4, f"trail 4: {t4:.2f}", RED, i0=SW[3])],
marks=[Mark(6, "swing low 1", RED, "below", dy=14),
Mark(14, "swing low 2", RED, "below", dy=14),
Mark(22, "swing low 3", RED, "below", dy=14),
Mark(29, "swing low 4", RED, "below", dy=34)],
scale=7.0, gap=17, body_w=9, left=52, width=700, top=64, vol_h=70,
vol_label="volum",
title="Trail pe swing low, pe timeframe-ul de sub decizie (exemplu construit)",
caption="Patru mutări pe TF-ul mic; pe TF-ul deciziei, o singură dată "
"(linia groasă)."),
"trail", distante=(TF_MARE,), extra=trail_tf_mare,
libere=("swing low 1", "swing low 4"))
# ------------------------------------- 6. când nu merge (Tesla, 217.02/214.25)
T_CL = ([320.00, 312.00, 304.00, 298.00]
+ [290.00, 282.00, 272.00, 262.00, 252.00, 244.00, 236.00, 230.00]
+ [232.00] # 12 buy hammer
+ [228.00, 222.00, 216.00] # 13-15 scoate stopul
+ [225.00] # 16 al doilea semnal
+ [240.00, 252.00, 262.00, 272.00, 282.00, 290.00, 298.00])
T_WK = ([(3.00, 3.00)] * 12 + [(2.00, 12.98)]
+ [(2.00, 2.00), (2.00, 2.00), (1.00, 1.75)] + [(2.00, 2.00)] * 8)
T_VL = vols(24, 46, 12, i12=72, i15=78, i16=84, i17=88, i18=80)
TC = from_closes(T_CL, wicks=T_WK, vols=T_VL, start=326.00)
assert lo(TC, 12, 12) == 217.02, f"low-ul hammer-ului trebuie 217.02, e {lo(TC, 12, 12)}"
assert lo(TC, 13, 15) == 214.25, f"minimul următor trebuie 214.25, e {lo(TC, 13, 15)}"
assert round(217.02 - 214.25, 2) == 2.77, "distanța dintre minime nu e 2.77"
assert len(TC) == 24 and len(TC[17:24]) == 7, "urcarea rostită e de 7 săptămâni"
assert all(TC[i].c < TC[i + 1].c for i in range(17, 23)), \
"cele 7 bare etichetate ca urcare trebuie să urce toate"
deco(Chart(
candles=TC,
levels=[Level(217.02, "low-ul hammer-ului: 217.02", ORANGE, label_at="left"),
Level(214.25, "minimul de după: 214.25", RED, label_dy=18)],
marks=[Mark(12, "primul semnal", ORANGE, dy=-72),
Mark(17, "al doilea semnal: acesta merge", GREEN, dy=-34),
Mark(23, "7 săptămâni de urcare", GREEN, dy=-10)],
arrows=[Arrow(15, "stopul pus sub 217.02\na fost luat aici", price=214.25,
where="below", color=RED, dy=4)],
mas=[MA(20, ORANGE, dash="4 3", text="SMA-20")],
scale=2.6, gap=19, body_w=10, left=58, width=700, vol_h=70,
vol_label="volum", title="Când nu merge — Tesla weekly",
caption="Ale lui: 217.02, 214.25 și cele 7 săptămâni de după al doilea "
"semnal; restul barelor e al meu."),
"nu_merge", libere=("primul semnal", "7 săptămâni de urcare"))
# ------------------------------------------------- 7. rutina de scanare
SVG["rutina"] = """<svg viewBox="0 0 700 330" xmlns="http://www.w3.org/2000/svg" style="width:100%;max-width:700px;height:auto;font:12px sans-serif">
<text x="20" y="22" fill="#333" style="font-weight:bold">Rutina: scanezi doji-uri, aștepți buy doji-ul în radar screen</text>
<rect x="20" y="44" width="200" height="56" fill="#eef4ff" stroke="#1a5fb4"/>
<text x="32" y="66" fill="#1a5fb4" style="font-weight:bold">1. Scanner, pe candelă închisă</text>
<text x="32" y="86" fill="#333">doar DOJI, nu buy doji</text>
<rect x="250" y="44" width="200" height="56" fill="#eef4ff" stroke="#1a5fb4"/>
<text x="262" y="66" fill="#1a5fb4" style="font-weight:bold">2. Lista, ținută patru luni</text>
<text x="262" y="86" fill="#333">într-un excel, NYSE + Nasdaq</text>
<rect x="480" y="44" width="200" height="56" fill="#eef4ff" stroke="#1a5fb4"/>
<text x="492" y="66" fill="#1a5fb4" style="font-weight:bold">3. Radar screen</text>
<text x="492" y="86" fill="#333">lista stă acolo și clipocește</text>
<line x1="222" y1="72" x2="246" y2="72" stroke="#1a5fb4" stroke-width="1.6"/>
<line x1="452" y1="72" x2="476" y2="72" stroke="#1a5fb4" stroke-width="1.6"/>
<line x1="580" y1="102" x2="580" y2="128" stroke="#1a5fb4" stroke-width="1.6"/>
<rect x="480" y="130" width="200" height="56" fill="#e9f7ee" stroke="#188a3e"/>
<text x="492" y="152" fill="#188a3e" style="font-weight:bold">4. Clipocește = buy doji</text>
<text x="492" y="172" fill="#333">îl vezi înainte de close</text>
<text x="20" y="128" fill="#555">Scanner-ul vede doar candela închisă: un buy doji weekly l-ai</text>
<text x="20" y="148" fill="#555">afla vineri după 23:00, iar unul monthly în ultima noapte a lunii.</text>
<text x="20" y="168" fill="#555">Radar screen-ul citește candela în formare, deci îl prinzi cu ore</text>
<text x="20" y="188" fill="#555">sau zile înainte să se închidă săptămâna ori luna.</text>
<text x="20" y="224" fill="#333" style="font-weight:bold">Când te uiți</text>
<text x="20" y="244" fill="#555">Weekly: vineri, cu una-două ore înainte de închidere, sau chiar de joi.</text>
<text x="20" y="264" fill="#555">Monthly: cu două-trei zile înainte de finalul lunii.</text>
<text x="20" y="292" fill="#333" style="font-weight:bold">De ce patru luni</text>
<text x="20" y="312" fill="#555">Breakout-ul peste doji poate veni și în a patra perioadă, deci lista nu se golește mai repede.</text>
</svg>"""
# ---------------------------------------------------------------- scriere
for name, svg in SVG.items():
(OUT / f"micis_{name}.svg").write_text(svg, encoding="utf-8")
print(f"{len(SVG)} svg-uri scrise în {OUT}")
if MD.exists():
md = MD.read_text(encoding="utf-8")
lipsa = [n for n in SVG if f"<!-- DIAGRAMA: {n} -->" not in md]
assert not lipsa, f"marcaje lipsă în capitol: {lipsa}"
for name, svg in SVG.items():
md = re.sub(rf"<!-- DIAGRAMA: {name} -->(\n[\s\S]*?\n<!-- /DIAGRAMA: {name} -->)?",
lambda _m: (f"<!-- DIAGRAMA: {name} -->\n{svg.strip()}\n"
f"<!-- /DIAGRAMA: {name} -->"), md, count=1)
MD.write_text(md, encoding="utf-8")
print(f"{len(SVG)} diagrame substituite în {MD.name}")
else:
print(f"{MD.name} nu există încă — doar svg-urile sunt scrise")

View File

@@ -0,0 +1,93 @@
<svg viewBox="0 0 700 406" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<text x="24" y="48" fill="#333" style="font-weight:bold">Ladder-ul, măsurat pe marubozu — JNJ weekly</text>
<line x1="24.0" y1="167.3" x2="686" y2="167.3" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="161.3" fill="#188a3e" text-anchor="end">1/3 la close 157.47</text>
<line x1="274.5" y1="191.8" x2="686" y2="191.8" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="185.8" fill="#188a3e" text-anchor="end">limit 1/3 la 155.02 = 1/3 din marubozu</text>
<line x1="24.0" y1="204.0" x2="686" y2="204.0" stroke="#6a3d9a" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30.0" y="198.0" fill="#6a3d9a">limit 1/3 la 1/2 din marubozu</text>
<line x1="58.0" y1="66.0" x2="58.0" y2="88.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="53.5" y="72.0" width="9" height="10.0" fill="#c00"/>
<line x1="75.0" y1="76.0" x2="75.0" y2="103.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="70.5" y="82.0" width="9" height="15.0" fill="#c00"/>
<line x1="92.0" y1="81.0" x2="92.0" y2="103.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="87.5" y="87.0" width="9" height="10.0" fill="#188a3e"/>
<line x1="109.0" y1="81.0" x2="109.0" y2="118.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="104.5" y="87.0" width="9" height="25.0" fill="#c00"/>
<line x1="126.0" y1="106.0" x2="126.0" y2="138.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="121.5" y="112.0" width="9" height="20.0" fill="#c00"/>
<line x1="143.0" y1="116.0" x2="143.0" y2="138.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="138.5" y="122.0" width="9" height="10.0" fill="#188a3e"/>
<line x1="160.0" y1="116.0" x2="160.0" y2="153.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="155.5" y="122.0" width="9" height="25.0" fill="#c00"/>
<line x1="177.0" y1="141.0" x2="177.0" y2="178.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="172.5" y="147.0" width="9" height="25.0" fill="#c00"/>
<line x1="194.0" y1="166.0" x2="194.0" y2="198.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="172.0" width="9" height="20.0" fill="#c00"/>
<line x1="211.0" y1="186.0" x2="211.0" y2="218.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="206.5" y="192.0" width="9" height="20.0" fill="#c00"/>
<line x1="228.0" y1="206.0" x2="228.0" y2="233.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="223.5" y="212.0" width="9" height="15.0" fill="#c00"/>
<line x1="245.0" y1="221.0" x2="245.0" y2="248.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="240.5" y="227.0" width="9" height="15.0" fill="#c00"/>
<line x1="262.0" y1="216.8" x2="262.0" y2="268.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="257.5" y="240.8" width="9" height="1.6" fill="#188a3e"/>
<line x1="279.0" y1="167.3" x2="279.0" y2="240.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="274.5" y="167.3" width="9" height="73.5" fill="#188a3e"/>
<line x1="296.0" y1="160.3" x2="296.0" y2="193.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="291.5" y="167.3" width="9" height="18.7" fill="#c00"/>
<line x1="313.0" y1="182.0" x2="313.0" y2="206.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="308.5" y="186.0" width="9" height="16.0" fill="#c00"/>
<line x1="330.0" y1="181.0" x2="330.0" y2="208.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="325.5" y="187.0" width="9" height="15.0" fill="#188a3e"/>
<line x1="347.0" y1="166.0" x2="347.0" y2="193.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="342.5" y="172.0" width="9" height="15.0" fill="#188a3e"/>
<line x1="364.0" y1="150.0" x2="364.0" y2="178.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="359.5" y="156.0" width="9" height="16.0" fill="#188a3e"/>
<line x1="381.0" y1="131.0" x2="381.0" y2="162.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="376.5" y="137.0" width="9" height="19.0" fill="#188a3e"/>
<line x1="398.0" y1="116.0" x2="398.0" y2="143.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="393.5" y="122.0" width="9" height="15.0" fill="#188a3e"/>
<line x1="415.0" y1="116.0" x2="415.0" y2="138.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="410.5" y="122.0" width="9" height="10.0" fill="#c00"/>
<line x1="432.0" y1="101.0" x2="432.0" y2="138.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="427.5" y="107.0" width="9" height="25.0" fill="#188a3e"/>
<line x1="449.0" y1="86.0" x2="449.0" y2="113.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="444.5" y="92.0" width="9" height="15.0" fill="#188a3e"/>
<line x1="466.0" y1="71.0" x2="466.0" y2="98.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="461.5" y="77.0" width="9" height="15.0" fill="#188a3e"/>
<line x1="483.0" y1="56.0" x2="483.0" y2="83.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="478.5" y="62.0" width="9" height="15.0" fill="#188a3e"/>
<line x1="24" y1="364.0" x2="686" y2="364.0" stroke="#888"/>
<rect x="53.5" y="335.1" width="9" height="28.9" fill="#c00" opacity="0.55"/>
<rect x="70.5" y="329.8" width="9" height="34.2" fill="#c00" opacity="0.55"/>
<rect x="87.5" y="333.6" width="9" height="30.4" fill="#188a3e" opacity="0.55"/>
<rect x="104.5" y="328.2" width="9" height="35.8" fill="#c00" opacity="0.55"/>
<rect x="121.5" y="332.0" width="9" height="32.0" fill="#c00" opacity="0.55"/>
<rect x="138.5" y="326.7" width="9" height="37.3" fill="#188a3e" opacity="0.55"/>
<rect x="155.5" y="330.5" width="9" height="33.5" fill="#c00" opacity="0.55"/>
<rect x="172.5" y="334.3" width="9" height="29.7" fill="#c00" opacity="0.55"/>
<rect x="189.5" y="329.0" width="9" height="35.0" fill="#c00" opacity="0.55"/>
<rect x="206.5" y="332.8" width="9" height="31.2" fill="#c00" opacity="0.55"/>
<rect x="223.5" y="327.5" width="9" height="36.5" fill="#c00" opacity="0.55"/>
<rect x="240.5" y="331.3" width="9" height="32.7" fill="#c00" opacity="0.55"/>
<rect x="257.5" y="319.9" width="9" height="44.1" fill="#188a3e" opacity="0.55"/>
<rect x="274.5" y="294.0" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="291.5" y="322.9" width="9" height="41.1" fill="#c00" opacity="0.55"/>
<rect x="308.5" y="326.0" width="9" height="38.0" fill="#c00" opacity="0.55"/>
<rect x="325.5" y="319.9" width="9" height="44.1" fill="#188a3e" opacity="0.55"/>
<rect x="342.5" y="315.3" width="9" height="48.7" fill="#188a3e" opacity="0.55"/>
<rect x="359.5" y="310.7" width="9" height="53.3" fill="#188a3e" opacity="0.55"/>
<rect x="376.5" y="334.3" width="9" height="29.7" fill="#188a3e" opacity="0.55"/>
<rect x="393.5" y="329.0" width="9" height="35.0" fill="#188a3e" opacity="0.55"/>
<rect x="410.5" y="332.8" width="9" height="31.2" fill="#c00" opacity="0.55"/>
<rect x="427.5" y="327.5" width="9" height="36.5" fill="#188a3e" opacity="0.55"/>
<rect x="444.5" y="331.3" width="9" height="32.7" fill="#188a3e" opacity="0.55"/>
<rect x="461.5" y="335.1" width="9" height="28.9" fill="#188a3e" opacity="0.55"/>
<rect x="478.5" y="329.8" width="9" height="34.2" fill="#188a3e" opacity="0.55"/>
<text x="24" y="288.0" fill="#555">volum</text>
<text x="262.0" y="282.0" fill="#b06000" text-anchor="middle" style="font-weight:bold">doji</text>
<text x="279.0" y="131.3" fill="#188a3e" text-anchor="middle" style="font-weight:bold">marubozu de trigger</text>
<text x="313.0" y="264.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">pullback-ul umple ambele limituri</text>
<text x="24" y="394" fill="#555">Ale lui: close-ul 157.47 și limit-ul de 155.02. Nivelul de 1/2 și barele din jur sunt ale mele.</text>
</svg>

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

@@ -0,0 +1,91 @@
<svg viewBox="0 0 700 563" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<text x="24" y="48" fill="#333" style="font-weight:bold">Când nu merge — Tesla weekly</text>
<line x1="24.0" y1="347.1" x2="686" y2="347.1" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30.0" y="341.1" fill="#b06000">low-ul hammer-ului: 217.02</text>
<line x1="24.0" y1="354.4" x2="686" y2="354.4" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="366.4" fill="#c00" text-anchor="end">minimul de după: 214.25</text>
<polyline points="419.0,238.1 438.0,244.4 457.0,248.3 476.0,250.1 495.0,250.1" fill="none" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="501" y="244" fill="#b06000">SMA-20</text>
<line x1="58.0" y1="56.0" x2="58.0" y2="87.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="53.0" y="63.8" width="10" height="15.6" fill="#c00"/>
<line x1="77.0" y1="71.6" x2="77.0" y2="108.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="72.0" y="79.4" width="10" height="20.8" fill="#c00"/>
<line x1="96.0" y1="92.4" x2="96.0" y2="128.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="91.0" y="100.2" width="10" height="20.8" fill="#c00"/>
<line x1="115.0" y1="113.2" x2="115.0" y2="144.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="110.0" y="121.0" width="10" height="15.6" fill="#c00"/>
<line x1="134.0" y1="128.8" x2="134.0" y2="165.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.0" y="136.6" width="10" height="20.8" fill="#c00"/>
<line x1="153.0" y1="149.6" x2="153.0" y2="186.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="148.0" y="157.4" width="10" height="20.8" fill="#c00"/>
<line x1="172.0" y1="170.4" x2="172.0" y2="212.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="167.0" y="178.2" width="10" height="26.0" fill="#c00"/>
<line x1="191.0" y1="196.4" x2="191.0" y2="238.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="186.0" y="204.2" width="10" height="26.0" fill="#c00"/>
<line x1="210.0" y1="222.4" x2="210.0" y2="264.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="205.0" y="230.2" width="10" height="26.0" fill="#c00"/>
<line x1="229.0" y1="248.4" x2="229.0" y2="284.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="224.0" y="256.2" width="10" height="20.8" fill="#c00"/>
<line x1="248.0" y1="269.2" x2="248.0" y2="305.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="243.0" y="277.0" width="10" height="20.8" fill="#c00"/>
<line x1="267.0" y1="290.0" x2="267.0" y2="321.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="262.0" y="297.8" width="10" height="15.6" fill="#c00"/>
<line x1="286.0" y1="303.0" x2="286.0" y2="347.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="281.0" y="308.2" width="10" height="5.2" fill="#188a3e"/>
<line x1="305.0" y1="303.0" x2="305.0" y2="323.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="300.0" y="308.2" width="10" height="10.4" fill="#c00"/>
<line x1="324.0" y1="313.4" x2="324.0" y2="339.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="319.0" y="318.6" width="10" height="15.6" fill="#c00"/>
<line x1="343.0" y1="331.6" x2="343.0" y2="354.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="338.0" y="334.2" width="10" height="15.6" fill="#c00"/>
<line x1="362.0" y1="321.2" x2="362.0" y2="355.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="357.0" y="326.4" width="10" height="23.4" fill="#188a3e"/>
<line x1="381.0" y1="282.2" x2="381.0" y2="331.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="376.0" y="287.4" width="10" height="39.0" fill="#188a3e"/>
<line x1="400.0" y1="251.0" x2="400.0" y2="292.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="395.0" y="256.2" width="10" height="31.2" fill="#188a3e"/>
<line x1="419.0" y1="225.0" x2="419.0" y2="261.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="414.0" y="230.2" width="10" height="26.0" fill="#188a3e"/>
<line x1="438.0" y1="199.0" x2="438.0" y2="235.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="433.0" y="204.2" width="10" height="26.0" fill="#188a3e"/>
<line x1="457.0" y1="173.0" x2="457.0" y2="209.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="452.0" y="178.2" width="10" height="26.0" fill="#188a3e"/>
<line x1="476.0" y1="152.2" x2="476.0" y2="183.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="471.0" y="157.4" width="10" height="20.8" fill="#188a3e"/>
<line x1="495.0" y1="131.4" x2="495.0" y2="162.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="490.0" y="136.6" width="10" height="20.8" fill="#188a3e"/>
<line x1="24" y1="521.4" x2="686" y2="521.4" stroke="#888"/>
<rect x="53.0" y="489.5" width="10" height="31.8" fill="#c00" opacity="0.55"/>
<rect x="72.0" y="484.0" width="10" height="37.4" fill="#c00" opacity="0.55"/>
<rect x="91.0" y="487.9" width="10" height="33.4" fill="#c00" opacity="0.55"/>
<rect x="110.0" y="482.4" width="10" height="39.0" fill="#c00" opacity="0.55"/>
<rect x="129.0" y="486.4" width="10" height="35.0" fill="#c00" opacity="0.55"/>
<rect x="148.0" y="480.8" width="10" height="40.6" fill="#c00" opacity="0.55"/>
<rect x="167.0" y="484.8" width="10" height="36.6" fill="#c00" opacity="0.55"/>
<rect x="186.0" y="488.7" width="10" height="32.6" fill="#c00" opacity="0.55"/>
<rect x="205.0" y="483.2" width="10" height="38.2" fill="#c00" opacity="0.55"/>
<rect x="224.0" y="487.1" width="10" height="34.2" fill="#c00" opacity="0.55"/>
<rect x="243.0" y="481.6" width="10" height="39.8" fill="#c00" opacity="0.55"/>
<rect x="262.0" y="485.6" width="10" height="35.8" fill="#c00" opacity="0.55"/>
<rect x="281.0" y="464.1" width="10" height="57.3" fill="#188a3e" opacity="0.55"/>
<rect x="300.0" y="484.0" width="10" height="37.4" fill="#c00" opacity="0.55"/>
<rect x="319.0" y="487.9" width="10" height="33.4" fill="#c00" opacity="0.55"/>
<rect x="338.0" y="459.3" width="10" height="62.0" fill="#c00" opacity="0.55"/>
<rect x="357.0" y="454.5" width="10" height="66.8" fill="#188a3e" opacity="0.55"/>
<rect x="376.0" y="451.4" width="10" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="395.0" y="457.7" width="10" height="63.6" fill="#188a3e" opacity="0.55"/>
<rect x="414.0" y="488.7" width="10" height="32.6" fill="#188a3e" opacity="0.55"/>
<rect x="433.0" y="483.2" width="10" height="38.2" fill="#188a3e" opacity="0.55"/>
<rect x="452.0" y="487.1" width="10" height="34.2" fill="#188a3e" opacity="0.55"/>
<rect x="471.0" y="481.6" width="10" height="39.8" fill="#188a3e" opacity="0.55"/>
<rect x="490.0" y="485.6" width="10" height="35.8" fill="#188a3e" opacity="0.55"/>
<text x="24" y="445.4" fill="#555">volum</text>
<text x="286.0" y="221.0" fill="#b06000" text-anchor="middle" style="font-weight:bold">primul semnal</text>
<text x="381.0" y="238.2" fill="#188a3e" text-anchor="middle" style="font-weight:bold">al doilea semnal: acesta merge</text>
<text x="495.0" y="111.4" fill="#188a3e" text-anchor="middle" style="font-weight:bold">7 săptămâni de urcare</text>
<line x1="343.0" y1="388.4" x2="343.0" y2="366.4" stroke="#c00" stroke-width="1.8"/>
<polygon points="343.0,358.4 347.0,366.4 339.0,366.4" fill="#c00"/>
<text x="343.0" y="402.4" fill="#c00" text-anchor="middle" style="font-weight:bold">stopul pus sub 217.02</text>
<text x="343.0" y="416.4" fill="#c00" text-anchor="middle" style="font-weight:bold">a fost luat aici</text>
<text x="24" y="551" fill="#555">Ale lui: 217.02, 214.25 și cele 7 săptămâni de după al doilea semnal; restul barelor e al meu.</text>
</svg>

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

@@ -0,0 +1,27 @@
<svg viewBox="0 0 700 330" xmlns="http://www.w3.org/2000/svg" style="width:100%;max-width:700px;height:auto;font:12px sans-serif">
<text x="20" y="22" fill="#333" style="font-weight:bold">Rutina: scanezi doji-uri, aștepți buy doji-ul în radar screen</text>
<rect x="20" y="44" width="200" height="56" fill="#eef4ff" stroke="#1a5fb4"/>
<text x="32" y="66" fill="#1a5fb4" style="font-weight:bold">1. Scanner, pe candelă închisă</text>
<text x="32" y="86" fill="#333">doar DOJI, nu buy doji</text>
<rect x="250" y="44" width="200" height="56" fill="#eef4ff" stroke="#1a5fb4"/>
<text x="262" y="66" fill="#1a5fb4" style="font-weight:bold">2. Lista, ținută patru luni</text>
<text x="262" y="86" fill="#333">într-un excel, NYSE + Nasdaq</text>
<rect x="480" y="44" width="200" height="56" fill="#eef4ff" stroke="#1a5fb4"/>
<text x="492" y="66" fill="#1a5fb4" style="font-weight:bold">3. Radar screen</text>
<text x="492" y="86" fill="#333">lista stă acolo și clipocește</text>
<line x1="222" y1="72" x2="246" y2="72" stroke="#1a5fb4" stroke-width="1.6"/>
<line x1="452" y1="72" x2="476" y2="72" stroke="#1a5fb4" stroke-width="1.6"/>
<line x1="580" y1="102" x2="580" y2="128" stroke="#1a5fb4" stroke-width="1.6"/>
<rect x="480" y="130" width="200" height="56" fill="#e9f7ee" stroke="#188a3e"/>
<text x="492" y="152" fill="#188a3e" style="font-weight:bold">4. Clipocește = buy doji</text>
<text x="492" y="172" fill="#333">îl vezi înainte de close</text>
<text x="20" y="128" fill="#555">Scanner-ul vede doar candela închisă: un buy doji weekly l-ai</text>
<text x="20" y="148" fill="#555">afla vineri după 23:00, iar unul monthly în ultima noapte a lunii.</text>
<text x="20" y="168" fill="#555">Radar screen-ul citește candela în formare, deci îl prinzi cu ore</text>
<text x="20" y="188" fill="#555">sau zile înainte să se închidă săptămâna ori luna.</text>
<text x="20" y="224" fill="#333" style="font-weight:bold">Când te uiți</text>
<text x="20" y="244" fill="#555">Weekly: vineri, cu una-două ore înainte de închidere, sau chiar de joi.</text>
<text x="20" y="264" fill="#555">Monthly: cu două-trei zile înainte de finalul lunii.</text>
<text x="20" y="292" fill="#333" style="font-weight:bold">De ce patru luni</text>
<text x="20" y="312" fill="#555">Breakout-ul peste doji poate veni și în a patra perioadă, deci lista nu se golește mai repede.</text>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -0,0 +1,104 @@
<svg viewBox="0 0 700 620" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<text x="24" y="74" fill="#333" style="font-weight:bold">Stopul, cele două variante — NVDA monthly</text>
<rect x="352.0" y="143.6" width="96.0" height="152.8" fill="#c00" fill-opacity="0.08" stroke="#c00" stroke-width="1"/>
<text x="352.0" y="138.6" fill="#c00" style="font-weight:bold">downtrend 5 candele</text>
<line x1="24.0" y1="317.2" x2="686" y2="317.2" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30.0" y="311.2" fill="#c00">sub low-ul doji-ului: 86</text>
<line x1="24.0" y1="298.0" x2="686" y2="298.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30.0" y="292.0" fill="#c00">SL 2/3 din doji: 94</text>
<line x1="24.0" y1="204.4" x2="686" y2="204.4" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="198.4" fill="#188a3e" text-anchor="end">1/3 la close: 133</text>
<line x1="24.0" y1="86.8" x2="686" y2="86.8" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="80.8" fill="#1a5fb4" text-anchor="end">ținta rostită: 182</text>
<polyline points="419.0,345.6 438.0,335.9 457.0,326.6 476.0,313.9 495.0,300.0 514.0,285.5 533.0,270.3 552.0,254.7 571.0,237.9" fill="none" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="577" y="232" fill="#b06000">SMA-20</text>
<line x1="58.0" y1="472.0" x2="58.0" y2="481.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="53.0" y="475.6" width="10" height="2.4" fill="#188a3e"/>
<line x1="77.0" y1="463.6" x2="77.0" y2="479.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="72.0" y="467.2" width="10" height="8.4" fill="#188a3e"/>
<line x1="96.0" y1="455.2" x2="96.0" y2="470.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="91.0" y="458.8" width="10" height="8.4" fill="#188a3e"/>
<line x1="115.0" y1="455.2" x2="115.0" y2="467.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="110.0" y="458.8" width="10" height="4.8" fill="#c00"/>
<line x1="134.0" y1="445.6" x2="134.0" y2="467.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.0" y="449.2" width="10" height="14.4" fill="#188a3e"/>
<line x1="153.0" y1="428.8" x2="153.0" y2="452.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="148.0" y="432.4" width="10" height="16.8" fill="#188a3e"/>
<line x1="172.0" y1="412.0" x2="172.0" y2="436.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="167.0" y="415.6" width="10" height="16.8" fill="#188a3e"/>
<line x1="191.0" y1="412.0" x2="191.0" y2="426.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="186.0" y="415.6" width="10" height="7.2" fill="#c00"/>
<line x1="210.0" y1="400.0" x2="210.0" y2="426.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="205.0" y="403.6" width="10" height="19.2" fill="#188a3e"/>
<line x1="229.0" y1="388.0" x2="229.0" y2="407.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="224.0" y="391.6" width="10" height="12.0" fill="#188a3e"/>
<line x1="248.0" y1="371.2" x2="248.0" y2="395.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="243.0" y="374.8" width="10" height="16.8" fill="#188a3e"/>
<line x1="267.0" y1="340.0" x2="267.0" y2="378.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="262.0" y="343.6" width="10" height="31.2" fill="#188a3e"/>
<line x1="286.0" y1="304.0" x2="286.0" y2="347.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="281.0" y="307.6" width="10" height="36.0" fill="#188a3e"/>
<line x1="305.0" y1="260.8" x2="305.0" y2="311.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="300.0" y="264.4" width="10" height="43.2" fill="#188a3e"/>
<line x1="324.0" y1="220.0" x2="324.0" y2="268.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="319.0" y="223.6" width="10" height="40.8" fill="#188a3e"/>
<line x1="343.0" y1="188.8" x2="343.0" y2="227.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="338.0" y="192.4" width="10" height="31.2" fill="#188a3e"/>
<line x1="362.0" y1="151.6" x2="362.0" y2="199.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="357.0" y="163.6" width="10" height="28.8" fill="#188a3e"/>
<line x1="381.0" y1="156.4" x2="381.0" y2="199.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="376.0" y="163.6" width="10" height="28.8" fill="#c00"/>
<line x1="400.0" y1="185.2" x2="400.0" y2="228.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="395.0" y="192.4" width="10" height="28.8" fill="#c00"/>
<line x1="419.0" y1="214.0" x2="419.0" y2="254.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="414.0" y="221.2" width="10" height="26.4" fill="#c00"/>
<line x1="438.0" y1="240.4" x2="438.0" y2="288.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="433.0" y="247.6" width="10" height="33.6" fill="#c00"/>
<line x1="457.0" y1="250.0" x2="457.0" y2="317.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="452.0" y="281.2" width="10" height="1.6" fill="#c00"/>
<line x1="476.0" y1="203.2" x2="476.0" y2="286.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="471.0" y="204.4" width="10" height="78.0" fill="#188a3e"/>
<line x1="495.0" y1="180.4" x2="495.0" y2="209.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="490.0" y="185.2" width="10" height="19.2" fill="#188a3e"/>
<line x1="514.0" y1="154.0" x2="514.0" y2="190.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="509.0" y="158.8" width="10" height="26.4" fill="#188a3e"/>
<line x1="533.0" y1="125.2" x2="533.0" y2="163.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="528.0" y="130.0" width="10" height="28.8" fill="#188a3e"/>
<line x1="552.0" y1="98.8" x2="552.0" y2="134.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="547.0" y="103.6" width="10" height="26.4" fill="#188a3e"/>
<line x1="571.0" y1="82.0" x2="571.0" y2="108.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="566.0" y="86.8" width="10" height="16.8" fill="#188a3e"/>
<line x1="24" y1="577.6" x2="686" y2="577.6" stroke="#888"/>
<rect x="53.0" y="550.7" width="10" height="26.9" fill="#188a3e" opacity="0.55"/>
<rect x="72.0" y="546.0" width="10" height="31.6" fill="#188a3e" opacity="0.55"/>
<rect x="91.0" y="549.3" width="10" height="28.3" fill="#188a3e" opacity="0.55"/>
<rect x="110.0" y="544.6" width="10" height="33.0" fill="#c00" opacity="0.55"/>
<rect x="129.0" y="548.0" width="10" height="29.6" fill="#188a3e" opacity="0.55"/>
<rect x="148.0" y="543.3" width="10" height="34.3" fill="#188a3e" opacity="0.55"/>
<rect x="167.0" y="546.6" width="10" height="31.0" fill="#188a3e" opacity="0.55"/>
<rect x="186.0" y="550.0" width="10" height="27.6" fill="#c00" opacity="0.55"/>
<rect x="205.0" y="545.3" width="10" height="32.3" fill="#188a3e" opacity="0.55"/>
<rect x="224.0" y="548.7" width="10" height="28.9" fill="#188a3e" opacity="0.55"/>
<rect x="243.0" y="543.9" width="10" height="33.7" fill="#188a3e" opacity="0.55"/>
<rect x="262.0" y="547.3" width="10" height="30.3" fill="#188a3e" opacity="0.55"/>
<rect x="281.0" y="550.7" width="10" height="26.9" fill="#188a3e" opacity="0.55"/>
<rect x="300.0" y="546.0" width="10" height="31.6" fill="#188a3e" opacity="0.55"/>
<rect x="319.0" y="549.3" width="10" height="28.3" fill="#188a3e" opacity="0.55"/>
<rect x="338.0" y="544.6" width="10" height="33.0" fill="#188a3e" opacity="0.55"/>
<rect x="357.0" y="548.0" width="10" height="29.6" fill="#188a3e" opacity="0.55"/>
<rect x="376.0" y="543.3" width="10" height="34.3" fill="#c00" opacity="0.55"/>
<rect x="395.0" y="546.6" width="10" height="31.0" fill="#c00" opacity="0.55"/>
<rect x="414.0" y="533.2" width="10" height="44.4" fill="#c00" opacity="0.55"/>
<rect x="433.0" y="525.1" width="10" height="52.5" fill="#c00" opacity="0.55"/>
<rect x="452.0" y="521.1" width="10" height="56.5" fill="#c00" opacity="0.55"/>
<rect x="471.0" y="507.6" width="10" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="490.0" y="519.7" width="10" height="57.9" fill="#188a3e" opacity="0.55"/>
<rect x="509.0" y="523.8" width="10" height="53.8" fill="#188a3e" opacity="0.55"/>
<rect x="528.0" y="546.0" width="10" height="31.6" fill="#188a3e" opacity="0.55"/>
<rect x="547.0" y="549.3" width="10" height="28.3" fill="#188a3e" opacity="0.55"/>
<rect x="566.0" y="544.6" width="10" height="33.0" fill="#188a3e" opacity="0.55"/>
<text x="24" y="501.6" fill="#555">volum</text>
<text x="457.0" y="371.2" fill="#b06000" text-anchor="middle" style="font-weight:bold">doji monthly, înălțime 28</text>
<text x="476.0" y="75.2" fill="#188a3e" text-anchor="middle" style="font-weight:bold">marubozu de trigger</text>
<text x="24" y="608" fill="#555">Ale lui: 86, 94 (citit din ochi), 133, 182 și înălțimea de 28; barele din jur sunt ale mele.</text>
</svg>

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

@@ -0,0 +1,58 @@
<svg viewBox="0 0 700 372" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<text x="24" y="70" fill="#333" style="font-weight:bold">Cele două ținte — weekly (exemplu construit)</text>
<line x1="24.0" y1="312.9" x2="686" y2="312.9" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30.0" y="306.9" fill="#c00">SL 39.33</text>
<line x1="24.0" y1="257.3" x2="686" y2="257.3" stroke="#6a3d9a" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="251.3" fill="#6a3d9a" text-anchor="end">preț mediu 43.61</text>
<line x1="24.0" y1="239.2" x2="686" y2="239.2" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="233.2" fill="#188a3e" text-anchor="end">1/3 la 45.00</text>
<line x1="24.0" y1="201.6" x2="686" y2="201.6" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="195.6" fill="#1a5fb4" text-anchor="end">TP2 47.89</text>
<line x1="24.0" y1="165.5" x2="686" y2="165.5" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="159.5" fill="#1a5fb4" text-anchor="end">TP1 50.67</text>
<line x1="60.0" y1="78.0" x2="60.0" y2="133.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="53.0" y="83.2" width="14" height="45.5" fill="#c00"/>
<line x1="88.0" y1="123.5" x2="88.0" y2="179.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="81.0" y="128.7" width="14" height="45.5" fill="#c00"/>
<line x1="116.0" y1="169.0" x2="116.0" y2="224.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="109.0" y="174.2" width="14" height="45.5" fill="#c00"/>
<line x1="144.0" y1="214.5" x2="144.0" y2="270.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="137.0" y="219.7" width="14" height="45.5" fill="#c00"/>
<line x1="172.0" y1="260.0" x2="172.0" y2="310.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="165.0" y="265.2" width="14" height="40.3" fill="#c00"/>
<line x1="200.0" y1="278.2" x2="200.0" y2="330.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="193.0" y="304.2" width="14" height="1.6" fill="#188a3e"/>
<line x1="228.0" y1="239.2" x2="228.0" y2="304.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="221.0" y="239.2" width="14" height="65.0" fill="#188a3e"/>
<line x1="256.0" y1="235.3" x2="256.0" y2="265.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.0" y="239.2" width="14" height="23.4" fill="#c00"/>
<line x1="284.0" y1="260.0" x2="284.0" y2="274.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="277.0" y="262.6" width="14" height="7.8" fill="#c00"/>
<line x1="312.0" y1="252.8" x2="312.0" y2="274.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="305.0" y="257.4" width="14" height="13.0" fill="#188a3e"/>
<line x1="340.0" y1="237.2" x2="340.0" y2="261.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="333.0" y="241.8" width="14" height="15.6" fill="#188a3e"/>
<line x1="368.0" y1="221.6" x2="368.0" y2="246.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="361.0" y="226.2" width="14" height="15.6" fill="#188a3e"/>
<line x1="396.0" y1="196.9" x2="396.0" y2="230.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="389.0" y="201.5" width="14" height="24.7" fill="#188a3e"/>
<line x1="424.0" y1="180.0" x2="424.0" y2="206.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="417.0" y="184.6" width="14" height="16.9" fill="#188a3e"/>
<line x1="452.0" y1="160.5" x2="452.0" y2="189.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="445.0" y="165.1" width="14" height="19.5" fill="#188a3e"/>
<line x1="480.0" y1="143.6" x2="480.0" y2="169.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="473.0" y="148.2" width="14" height="16.9" fill="#188a3e"/>
<line x1="508.0" y1="143.6" x2="508.0" y2="161.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="501.0" y="148.2" width="14" height="9.1" fill="#c00"/>
<line x1="536.0" y1="130.6" x2="536.0" y2="161.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="529.0" y="135.2" width="14" height="22.1" fill="#188a3e"/>
<line x1="564.0" y1="111.1" x2="564.0" y2="139.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="557.0" y="115.7" width="14" height="19.5" fill="#188a3e"/>
<line x1="293.0" y1="185.6" x2="321.7" y2="198.4" stroke="#1a5fb4" stroke-width="1.8"/>
<polygon points="329.0,201.6 320.1,202.0 323.3,194.7" fill="#1a5fb4"/>
<text x="289.0" y="189.6" fill="#1a5fb4" text-anchor="end" style="font-weight:bold">TP2 = 1R pe prețul mediu (4.28) — lectura mea</text>
<line x1="396.0" y1="125.5" x2="396.0" y2="153.5" stroke="#1a5fb4" stroke-width="1.8"/>
<polygon points="396.0,161.5 392.0,153.5 400.0,153.5" fill="#1a5fb4"/>
<text x="396.0" y="120.5" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">TP1 = 1R pe prima tranșă (5.67)</text>
<text x="24" y="360" fill="#555">Lectura mea: mediind în jos, TP2 vine înaintea lui TP1. Fraza-sursă e neinteligibilă exact aici.</text>
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@@ -0,0 +1,110 @@
<svg viewBox="0 0 700 398" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<text x="24" y="78" fill="#333" style="font-weight:bold">Trail pe swing low, pe timeframe-ul de sub decizie (exemplu construit)</text>
<line x1="149.5" y1="220.4" x2="686" y2="220.4" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="214.4" fill="#c00" text-anchor="end">trail 1: 48.20</text>
<line x1="285.5" y1="181.2" x2="686" y2="181.2" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="175.2" fill="#c00" text-anchor="end">trail 2: 53.80</text>
<line x1="421.5" y1="139.2" x2="686" y2="139.2" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="133.2" fill="#c00" text-anchor="end">trail 3: 59.80</text>
<line x1="540.5" y1="101.4" x2="686" y2="101.4" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="95.4" fill="#c00" text-anchor="end">trail 4: 65.20</text>
<line x1="52.0" y1="238.6" x2="52.0" y2="259.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="47.5" y="241.4" width="9" height="15.4" fill="#188a3e"/>
<line x1="69.0" y1="230.2" x2="69.0" y2="244.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="64.5" y="233.0" width="9" height="8.4" fill="#188a3e"/>
<line x1="86.0" y1="221.8" x2="86.0" y2="235.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="81.5" y="224.6" width="9" height="8.4" fill="#188a3e"/>
<line x1="103.0" y1="213.4" x2="103.0" y2="227.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="98.5" y="216.2" width="9" height="8.4" fill="#188a3e"/>
<line x1="120.0" y1="205.0" x2="120.0" y2="219.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="115.5" y="207.8" width="9" height="8.4" fill="#188a3e"/>
<line x1="137.0" y1="205.0" x2="137.0" y2="216.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="132.5" y="207.8" width="9" height="5.6" fill="#c00"/>
<line x1="154.0" y1="210.6" x2="154.0" y2="220.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="149.5" y="213.4" width="9" height="4.2" fill="#c00"/>
<line x1="171.0" y1="209.2" x2="171.0" y2="220.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="166.5" y="212.0" width="9" height="5.6" fill="#188a3e"/>
<line x1="188.0" y1="200.0" x2="188.0" y2="214.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="183.5" y="202.8" width="9" height="9.2" fill="#188a3e"/>
<line x1="205.0" y1="190.7" x2="205.0" y2="205.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="200.5" y="193.5" width="9" height="9.2" fill="#188a3e"/>
<line x1="222.0" y1="181.5" x2="222.0" y2="196.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="217.5" y="184.3" width="9" height="9.2" fill="#188a3e"/>
<line x1="239.0" y1="172.2" x2="239.0" y2="187.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="175.0" width="9" height="9.2" fill="#188a3e"/>
<line x1="256.0" y1="163.0" x2="256.0" y2="177.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="251.5" y="165.8" width="9" height="9.2" fill="#188a3e"/>
<line x1="273.0" y1="163.0" x2="273.0" y2="175.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="268.5" y="165.8" width="9" height="7.0" fill="#c00"/>
<line x1="290.0" y1="170.0" x2="290.0" y2="181.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="285.5" y="172.8" width="9" height="5.6" fill="#c00"/>
<line x1="307.0" y1="167.2" x2="307.0" y2="181.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="302.5" y="170.0" width="9" height="8.4" fill="#188a3e"/>
<line x1="324.0" y1="158.0" x2="324.0" y2="172.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="319.5" y="160.8" width="9" height="9.2" fill="#188a3e"/>
<line x1="341.0" y1="148.7" x2="341.0" y2="163.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="336.5" y="151.5" width="9" height="9.2" fill="#188a3e"/>
<line x1="358.0" y1="139.5" x2="358.0" y2="154.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="353.5" y="142.3" width="9" height="9.2" fill="#188a3e"/>
<line x1="375.0" y1="130.2" x2="375.0" y2="145.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="370.5" y="133.0" width="9" height="9.2" fill="#188a3e"/>
<line x1="392.0" y1="121.0" x2="392.0" y2="135.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="387.5" y="123.8" width="9" height="9.2" fill="#188a3e"/>
<line x1="409.0" y1="121.0" x2="409.0" y2="133.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="404.5" y="123.8" width="9" height="7.0" fill="#c00"/>
<line x1="426.0" y1="128.0" x2="426.0" y2="139.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="421.5" y="130.8" width="9" height="5.6" fill="#c00"/>
<line x1="443.0" y1="125.2" x2="443.0" y2="139.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="438.5" y="128.0" width="9" height="8.4" fill="#188a3e"/>
<line x1="460.0" y1="115.4" x2="460.0" y2="130.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="455.5" y="118.2" width="9" height="9.8" fill="#188a3e"/>
<line x1="477.0" y1="105.6" x2="477.0" y2="121.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="472.5" y="108.4" width="9" height="9.8" fill="#188a3e"/>
<line x1="494.0" y1="95.8" x2="494.0" y2="111.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="489.5" y="98.6" width="9" height="9.8" fill="#188a3e"/>
<line x1="511.0" y1="86.0" x2="511.0" y2="101.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="506.5" y="88.8" width="9" height="9.8" fill="#188a3e"/>
<line x1="528.0" y1="86.0" x2="528.0" y2="97.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="523.5" y="88.8" width="9" height="5.6" fill="#c00"/>
<line x1="545.0" y1="91.6" x2="545.0" y2="101.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="540.5" y="94.4" width="9" height="4.2" fill="#c00"/>
<line x1="24" y1="355.6" x2="686" y2="355.6" stroke="#888"/>
<rect x="47.5" y="299.6" width="9" height="56.0" fill="#188a3e" opacity="0.55"/>
<rect x="64.5" y="290.7" width="9" height="64.9" fill="#188a3e" opacity="0.55"/>
<rect x="81.5" y="297.1" width="9" height="58.5" fill="#188a3e" opacity="0.55"/>
<rect x="98.5" y="288.1" width="9" height="67.5" fill="#188a3e" opacity="0.55"/>
<rect x="115.5" y="294.5" width="9" height="61.1" fill="#188a3e" opacity="0.55"/>
<rect x="132.5" y="285.6" width="9" height="70.0" fill="#c00" opacity="0.55"/>
<rect x="149.5" y="292.0" width="9" height="63.6" fill="#c00" opacity="0.55"/>
<rect x="166.5" y="298.3" width="9" height="57.3" fill="#188a3e" opacity="0.55"/>
<rect x="183.5" y="289.4" width="9" height="66.2" fill="#188a3e" opacity="0.55"/>
<rect x="200.5" y="295.8" width="9" height="59.8" fill="#188a3e" opacity="0.55"/>
<rect x="217.5" y="286.9" width="9" height="68.7" fill="#188a3e" opacity="0.55"/>
<rect x="234.5" y="293.2" width="9" height="62.4" fill="#188a3e" opacity="0.55"/>
<rect x="251.5" y="299.6" width="9" height="56.0" fill="#188a3e" opacity="0.55"/>
<rect x="268.5" y="290.7" width="9" height="64.9" fill="#c00" opacity="0.55"/>
<rect x="285.5" y="297.1" width="9" height="58.5" fill="#c00" opacity="0.55"/>
<rect x="302.5" y="288.1" width="9" height="67.5" fill="#188a3e" opacity="0.55"/>
<rect x="319.5" y="294.5" width="9" height="61.1" fill="#188a3e" opacity="0.55"/>
<rect x="336.5" y="285.6" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="353.5" y="292.0" width="9" height="63.6" fill="#188a3e" opacity="0.55"/>
<rect x="370.5" y="298.3" width="9" height="57.3" fill="#188a3e" opacity="0.55"/>
<rect x="387.5" y="289.4" width="9" height="66.2" fill="#188a3e" opacity="0.55"/>
<rect x="404.5" y="295.8" width="9" height="59.8" fill="#c00" opacity="0.55"/>
<rect x="421.5" y="286.9" width="9" height="68.7" fill="#c00" opacity="0.55"/>
<rect x="438.5" y="293.2" width="9" height="62.4" fill="#188a3e" opacity="0.55"/>
<rect x="455.5" y="299.6" width="9" height="56.0" fill="#188a3e" opacity="0.55"/>
<rect x="472.5" y="290.7" width="9" height="64.9" fill="#188a3e" opacity="0.55"/>
<rect x="489.5" y="297.1" width="9" height="58.5" fill="#188a3e" opacity="0.55"/>
<rect x="506.5" y="288.1" width="9" height="67.5" fill="#188a3e" opacity="0.55"/>
<rect x="523.5" y="294.5" width="9" height="61.1" fill="#c00" opacity="0.55"/>
<rect x="540.5" y="285.6" width="9" height="70.0" fill="#c00" opacity="0.55"/>
<text x="24" y="279.6" fill="#555">volum</text>
<text x="154.0" y="254.4" fill="#c00" text-anchor="middle" style="font-weight:bold">swing low 1</text>
<text x="290.0" y="215.2" fill="#c00" text-anchor="middle" style="font-weight:bold">swing low 2</text>
<text x="426.0" y="173.2" fill="#c00" text-anchor="middle" style="font-weight:bold">swing low 3</text>
<text x="545.0" y="155.4" fill="#c00" text-anchor="middle" style="font-weight:bold">swing low 4</text>
<text x="24" y="386" fill="#555">Patru mutări pe TF-ul mic; pe TF-ul deciziei, o singură dată (linia groasă).</text>
<line x1="24" y1="237.6" x2="686" y2="237.6" stroke="#6a3d9a" stroke-width="3"/>
<text x="672" y="253.6" fill="#6a3d9a" text-anchor="end">trail pe TF-ul deciziei: 42.60, o singură mutare</text>
</svg>

After

Width:  |  Height:  |  Size: 8.8 KiB