beast-agent 2.63.0 → 2.63.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "beast-agent",
3
3
  "productName": "Beast Agent",
4
- "version": "2.63.0",
4
+ "version": "2.63.1",
5
5
  "description": "Ultra-fast local agent shell for Windows.",
6
6
  "author": "algokodcom (AlgoKod)",
7
7
  "license": "MIT",
@@ -13,7 +13,7 @@
13
13
 
14
14
  ÇOKLU PERİYOT: timeframes:["M1","M15"] (2-3 adet) verilirse her periyot ayrı
15
15
  çekilir ve TEK PNG'de birleştirilir (layout:"h" soldan sağa — varsayılan,
16
- "v" üstten alta). Panellerin SAĞ ÜSTüne "SEMBOL · PERİYOT" etiketi çizilir;
16
+ "v" üstten alta). Panellerin SOL ÜSTüne "SEMBOL · PERİYOT" etiketi çizilir;
17
17
  sonuçta panels[{symbol, timeframe, position, path}] hangi tarafın hangi
18
18
  sembol/periyot olduğunu söyler. tf2:"M15" kısayolu da (timeframe + tf2) kabul edilir.
19
19
 
@@ -324,7 +324,7 @@ function embedData(src, size) {
324
324
  }
325
325
 
326
326
  /* ---- ÇOKLU KARE: plan (sembol × periyot) sırayla çekilir ve TEK PNG'de
327
- birleştirilir — kilit zaten alınmış (ack çakışması yok); her panelin SAĞ
327
+ birleştirilir — kilit zaten alınmış (ack çakışması yok); her panelin SOL
328
328
  ÜSTüne "SEMBOL · PERİYOT" etiketi çizilir; soldan sağa (layout:"v" ile
329
329
  üstten alta). plan: [{symbol, timeframe}] — boş alan = aktif grafik. */
330
330
  async function runPanels(plan, filesDir, cmdFile, ackFile, beatFile, timeoutSec, diag) {
@@ -97,8 +97,9 @@ async function compose(panels, opts) {
97
97
  if (layout === 'h') ctx.fillRect(x - GAP, 0, GAP, H);
98
98
  else ctx.fillRect(0, y - GAP, W, GAP);
99
99
  }
100
- /* etiket: SAĞ ÜST köşede BÜYÜK zaman dilimi (üstünde küçük sembol) —
101
- görsel ajan hangi panelin hangi periyot olduğunu bakışta okur */
100
+ /* etiket: SOL ÜST köşede BÜYÜK zaman dilimi (üstünde küçük sembol) —
101
+ görsel ajan hangi panelin hangi periyot olduğunu bakışta okur;
102
+ son mumlar sağda olduğundan etiket oraya konmaz (mumları kapatıyordu) */
102
103
  if (p.label) {
103
104
  try {
104
105
  const parts = String(p.label).split('·').map((s) => s.trim()).filter(Boolean);
@@ -110,14 +111,14 @@ async function compose(panels, opts) {
110
111
  const padY = Math.round(fsTf * 0.42);
111
112
  const lineGap = Math.round(fsSym * 0.45);
112
113
  ctx.textBaseline = 'middle';
113
- ctx.textAlign = 'right';
114
+ ctx.textAlign = 'left';
114
115
  ctx.font = pickFont(fsTf);
115
116
  const tw = ctx.measureText(tf).width;
116
117
  ctx.font = pickFont(fsSym);
117
118
  const sw = sym ? ctx.measureText(sym).width : 0;
118
119
  const boxW = Math.ceil(Math.max(tw, sw) + padX * 2);
119
120
  const boxH = Math.ceil(padY * 2 + fsTf + (sym ? fsSym + lineGap : 0));
120
- const bx = x + cellW - boxW - 10;
121
+ const bx = x + 10;
121
122
  const by = y + 10;
122
123
  ctx.fillStyle = 'rgba(0,0,0,0.80)';
123
124
  ctx.fillRect(bx, by, boxW, boxH);
@@ -126,11 +127,11 @@ async function compose(panels, opts) {
126
127
  if (sym) {
127
128
  ctx.font = pickFont(fsSym);
128
129
  ctx.fillStyle = '#c9d2d9';
129
- ctx.fillText(sym, bx + boxW - padX, by + padY + fsSym / 2);
130
+ ctx.fillText(sym, bx + padX, by + padY + fsSym / 2);
130
131
  }
131
132
  ctx.font = pickFont(fsTf);
132
133
  ctx.fillStyle = '#00e676';
133
- ctx.fillText(tf, bx + boxW - padX, by + padY + (sym ? fsSym + lineGap : 0) + fsTf / 2);
134
+ ctx.fillText(tf, bx + padX, by + padY + (sym ? fsSym + lineGap : 0) + fsTf / 2);
134
135
  ctx.textAlign = 'start';
135
136
  } catch (e) {}
136
137
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mt5_shot",
3
- "defaultsVersion": 6,
4
- "description": "MT5 grafiğinin GERÇEK ekran görüntüsünü alır ve GÖRSELİ ÇAĞIRAN AJANA GÖSTERİR: MT5\\MQL5\\Files\\beast_cmd.json üzerinden BeastFinance EA'ya 'shot' komutu yazar, EA ChartScreenShot ile PNG üretir; PNG hem tool klasörüne hem <kullanıcı>\\beast_shots altına kopyalanır (dönen path send_file'a verilebilir) hem de data URL olarak sonuca gömülür — engine bunu sonraki turda ajana görsel olarak enjekte eder (embed:false kapatır). ÇOKLU SEMBOL: symbols:[\"GOLD\",\"EURUSD\",\"BTCUSD\"] (2-4 sembol) verirsen her sembolden bir kare çekilip TEK PNG'de birleştirilir (izleme listesinin tamamı TEK görselle gönderilir); timeframes ile birlikte verilirse sembol × periyot ızgarası kurulur (en fazla 6 kare). ÇOKLU ZAMAN DİLİMİ: timeframes:[\"M1\",\"M15\"] verirsen aynı sembolün periyotları SIRAYLA çekilip TEK PNG'de birleştirilir (layout:\"h\" soldan sağa — varsayılan; \"v\" üstten alta; 2-3 periyot) ve her panelin SAĞ ÜST köşesine BÜYÜK periyot etiketi (üstünde küçük sembol) çizilir — solda/sağda hangi sembol/periyot olduğu görüntüden bakışta okunur. Aktif grafik istenen sembol/periyot ile aynıysa ondan çekilir (Beast panosu + seviye çizgileri görünür), değilse EA geçici grafik açar (ChartOpen/ChartSetSymbolPeriod + BeastShot.tpl açık tema); çoklu sembolde her sembol için sırayla. Çekim öncesi grafiğe sağ boşluk payı (chart shift %12) uygulanır — SON MUM sağ kenara yapışmaz; aktif grafikte önceki ayar çekimden sonra geri yazılır. Komut id/ts ile yazılır, ack poll edilir ve PNG MQL5\\Files'ta belirene kadar beklenir; hata halinde gövde şu kodu taşır: err = no_terminal|ea_offline|cmd_write_fail|ea_no_ack|ea_error|png_yok|timeout|stitch_fail (+ cmdId, filesDir, diagnostic, ping). Grafik analizi/raporu ve ekip paylaşımı için birincil screenshot aracıdır.",
3
+ "defaultsVersion": 7,
4
+ "description": "MT5 grafiğinin GERÇEK ekran görüntüsünü alır ve GÖRSELİ ÇAĞIRAN AJANA GÖSTERİR: MT5\\MQL5\\Files\\beast_cmd.json üzerinden BeastFinance EA'ya 'shot' komutu yazar, EA ChartScreenShot ile PNG üretir; PNG hem tool klasörüne hem <kullanıcı>\\beast_shots altına kopyalanır (dönen path send_file'a verilebilir) hem de data URL olarak sonuca gömülür — engine bunu sonraki turda ajana görsel olarak enjekte eder (embed:false kapatır). ÇOKLU SEMBOL: symbols:[\"GOLD\",\"EURUSD\",\"BTCUSD\"] (2-4 sembol) verirsen her sembolden bir kare çekilip TEK PNG'de birleştirilir (izleme listesinin tamamı TEK görselle gönderilir); timeframes ile birlikte verilirse sembol × periyot ızgarası kurulur (en fazla 6 kare). ÇOKLU ZAMAN DİLİMİ: timeframes:[\"M1\",\"M15\"] verirsen aynı sembolün periyotları SIRAYLA çekilip TEK PNG'de birleştirilir (layout:\"h\" soldan sağa — varsayılan; \"v\" üstten alta; 2-3 periyot) ve her panelin SOL ÜST köşesine BÜYÜK periyot etiketi (üstünde küçük sembol) çizilir — solda/sağda hangi sembol/periyot olduğu görüntüden bakışta okunur; etiket son mumları örtmez. Aktif grafik istenen sembol/periyot ile aynıysa ondan çekilir (Beast panosu + seviye çizgileri görünür), değilse EA geçici grafik açar (ChartOpen/ChartSetSymbolPeriod + BeastShot.tpl açık tema); çoklu sembolde her sembol için sırayla. Çekim öncesi grafiğe sağ boşluk payı (chart shift %12) uygulanır — SON MUM sağ kenara yapışmaz; aktif grafikte önceki ayar çekimden sonra geri yazılır. Komut id/ts ile yazılır, ack poll edilir ve PNG MQL5\\Files'ta belirene kadar beklenir; hata halinde gövde şu kodu taşır: err = no_terminal|ea_offline|cmd_write_fail|ea_no_ack|ea_error|png_yok|timeout|stitch_fail (+ cmdId, filesDir, diagnostic, ping). Grafik analizi/raporu ve ekip paylaşımı için birincil screenshot aracıdır.",
5
5
  "parameters": {
6
6
  "type": "object",
7
7
  "properties": {