MACD_Scout/Sequence MACD Scalping.svg
2025-11-14 10:14:48 +00:00

37 lines
No EOL
11 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="635px" preserveAspectRatio="none" style="width:795px;height:635px;" version="1.1" viewBox="0 0 795 635" width="795px" zoomAndPan="magnify"><defs><filter height="300%" id="f30b87uhapp6p" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="294" x="246" y="26.708">Sequence - Eksekusi &amp; Exit 80/20</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="33" x2="33" y1="121.25" y2="547.9766"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="140" x2="140" y1="121.25" y2="547.9766"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="384.5" x2="384.5" y1="121.25" y2="547.9766"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="507.5" x2="507.5" y1="121.25" y2="547.9766"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="711" x2="711" y1="121.25" y2="547.9766"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="45" x="8" y="117.9482">Trader</text><ellipse cx="33.5" cy="47.9531" fill="#FEFECE" filter="url(#f30b87uhapp6p)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M33.5,55.9531 L33.5,82.9531 M20.5,63.9531 L46.5,63.9531 M33.5,82.9531 L20.5,97.9531 M33.5,82.9531 L46.5,97.9531 " fill="none" filter="url(#f30b87uhapp6p)" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="45" x="8" y="559.9717">Trader</text><ellipse cx="33.5" cy="573.2734" fill="#FEFECE" filter="url(#f30b87uhapp6p)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M33.5,581.2734 L33.5,608.2734 M20.5,589.2734 L46.5,589.2734 M33.5,608.2734 L20.5,623.2734 M33.5,608.2734 L46.5,623.2734 " fill="none" filter="url(#f30b87uhapp6p)" style="stroke: #A80036; stroke-width: 2.0;"/><rect fill="#FEFECE" filter="url(#f30b87uhapp6p)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="138" x="69" y="85.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="124" x="76" y="105.9482">StrategyController</text><rect fill="#FEFECE" filter="url(#f30b87uhapp6p)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="138" x="69" y="546.9766"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="124" x="76" y="566.9717">StrategyController</text><rect fill="#FEFECE" filter="url(#f30b87uhapp6p)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="103" x="331.5" y="85.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="89" x="338.5" y="105.9482">RiskManager</text><rect fill="#FEFECE" filter="url(#f30b87uhapp6p)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="103" x="331.5" y="546.9766"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="89" x="338.5" y="566.9717">RiskManager</text><rect fill="#FEFECE" filter="url(#f30b87uhapp6p)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="448.5" y="85.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="100" x="455.5" y="105.9482">OrderExecutor</text><rect fill="#FEFECE" filter="url(#f30b87uhapp6p)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="448.5" y="546.9766"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="100" x="455.5" y="566.9717">OrderExecutor</text><rect fill="#FEFECE" filter="url(#f30b87uhapp6p)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="129" x="645" y="85.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="115" x="652" y="105.9482">PositionManager</text><rect fill="#FEFECE" filter="url(#f30b87uhapp6p)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="129" x="645" y="546.9766"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="115" x="652" y="566.9717">PositionManager</text><polygon fill="#A80036" points="128,148.3828,138,152.3828,128,156.3828,132,152.3828" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="33.5" x2="134" y1="152.3828" y2="152.3828"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="40.5" y="147.3169">onNewBar()</text><polygon fill="#A80036" points="373,177.5156,383,181.5156,373,185.5156,377,181.5156" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="140" x2="379" y1="181.5156" y2="181.5156"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="221" x="147" y="176.4497">hitung SL/TP berdasar base candle</text><polygon fill="#A80036" points="151,206.6484,141,210.6484,151,214.6484,147,210.6484" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="145" x2="384" y1="210.6484" y2="210.6484"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="132" x="157" y="205.5825">SL, TP1=1R, TP2=2R</text><polygon fill="#A80036" points="495.5,235.7813,505.5,239.7813,495.5,243.7813,499.5,239.7813" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="140" x2="501.5" y1="239.7813" y2="239.7813"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="247" x="147" y="234.7153">kirim order (LONG/SHORT) dgn SL, TP1</text><polygon fill="#A80036" points="151,264.9141,141,268.9141,151,272.9141,147,268.9141" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="145" x2="506.5" y1="268.9141" y2="268.9141"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="35" x="157" y="263.8481">ticket</text><rect fill="#EEEEEE" filter="url(#f30b87uhapp6p)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="780" x="3" y="297.4805"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="783" y1="297.4805" y2="297.4805"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="783" y1="300.4805" y2="300.4805"/><rect fill="#EEEEEE" filter="url(#f30b87uhapp6p)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="152" x="317" y="286.9141"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="133" x="323" y="302.981">Saat TP1 Tercapai</text><polygon fill="#A80036" points="699.5,337.1797,709.5,341.1797,699.5,345.1797,703.5,341.1797" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="507.5" x2="705.5" y1="341.1797" y2="341.1797"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="92" x="514.5" y="336.1138">TP1 hit (ticket)</text><polygon fill="#A80036" points="518.5,366.3125,508.5,370.3125,518.5,374.3125,514.5,370.3125" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="512.5" x2="710.5" y1="370.3125" y2="370.3125"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="154" x="524.5" y="365.2466">closePartial(ticket, 80%)</text><polygon fill="#A80036" points="518.5,395.4453,508.5,399.4453,518.5,403.4453,514.5,399.4453" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="512.5" x2="710.5" y1="399.4453" y2="399.4453"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="180" x="524.5" y="394.3794">moveSLToBreakeven(ticket)</text><polygon fill="#A80036" points="518.5,424.5781,508.5,428.5781,518.5,432.5781,514.5,428.5781" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="512.5" x2="710.5" y1="428.5781" y2="428.5781"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="164" x="524.5" y="423.5122">setTarget(ticket, TP2=2R)</text><rect fill="#EEEEEE" filter="url(#f30b87uhapp6p)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="780" x="3" y="457.1445"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="783" y1="457.1445" y2="457.1445"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="783" y1="460.1445" y2="460.1445"/><rect fill="#EEEEEE" filter="url(#f30b87uhapp6p)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="229" x="278.5" y="446.5781"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="210" x="284.5" y="462.645">Saat TP2 Tercapai atau Stop</text><polygon fill="#A80036" points="699.5,496.8438,709.5,500.8438,699.5,504.8438,703.5,500.8438" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="507.5" x2="705.5" y1="500.8438" y2="500.8438"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="130" x="514.5" y="495.7778">TP2 hit atau Stop hit</text><polygon fill="#A80036" points="151,525.9766,141,529.9766,151,533.9766,147,529.9766" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="145" x2="710.5" y1="529.9766" y2="529.9766"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="157" y="524.9106">posisi selesai</text><!--MD5=[93f6f25413a4c975b051a6c513ffa5f7]
@startuml
title Sequence - Eksekusi & Exit 80/20
actor Trader
participant StrategyController as SC
participant RiskManager as RM
participant OrderExecutor as EX
participant PositionManager as PM
Trader -> SC: onNewBar()
SC -> RM: hitung SL/TP berdasar base candle
RM - -> SC: SL, TP1=1R, TP2=2R
SC -> EX: kirim order (LONG/SHORT) dgn SL, TP1
EX - -> SC: ticket
== Saat TP1 Tercapai ==
EX -> PM: TP1 hit (ticket)
PM -> EX: closePartial(ticket, 80%)
PM -> EX: moveSLToBreakeven(ticket)
PM -> EX: setTarget(ticket, TP2=2R)
== Saat TP2 Tercapai atau Stop ==
EX -> PM: TP2 hit atau Stop hit
PM - -> SC: posisi selesai
@enduml
PlantUML version 1.2020.08(Sun Apr 26 14:08:22 UTC 2020)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 1.8.0_402-heroku-b06
Operating System: Linux
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>