beast-agent 2.76.2 → 2.76.3

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.76.2",
4
+ "version": "2.76.3",
5
5
  "description": "Ultra-fast local agent shell for Windows.",
6
6
  "author": "algokodcom (AlgoKod)",
7
7
  "license": "MIT",
package/src/main.js CHANGED
@@ -13986,12 +13986,25 @@ function finTsStrategyTf() {
13986
13986
  }
13987
13987
 
13988
13988
  /* Talimat "zorunlu giriş" istiyor mu? ("her mumda işlem açmak zorundasın" gibi)
13989
- Olumsuz yazım ("zorunlu değil") modu AÇMAZ. */
13989
+ SADECE açık emir cümleleri modu açar; teyit cümleleri ("her mum kapanışını
13990
+ bekle", "her mumda alarm kur") modu AÇMAZ → girişler İSTEĞE BAĞLI kalır
13991
+ (eşik + teyit kapıları çalışır). Olumsuz yazım ("zorunlu değil / zorunda
13992
+ değil / mecbur değil") modu kapatır. */
13990
13993
  function finTsMandatoryEntry() {
13991
- const s = String(finTsStrategyText() || '').toLowerCase();
13994
+ const s = String(finTsStrategyText() || '')
13995
+ .toLocaleLowerCase('tr')
13996
+ .replace(/\u0307/g, ''); /* İ → i̇ (birleşik nokta) temizliği */
13992
13997
  if (!s) return false;
13993
13998
  if (/zorunlu değil|mecbur değil|zorunda değil/.test(s)) return false;
13994
- return /her mum|her barda?|her mumda|işlem açmak zorunda|her zaman işlem|sürekli işlem|durmadan işlem|zorunlu (?:olarak )?(?:işlem|giriş|al|sat)|mecbur/.test(s);
13999
+ const trade = '(?:i[şs]lem|trade|giri[şs]|pozisyon|emir|al\\b|sat\\b|a[çc]\\b)';
14000
+ return (
14001
+ new RegExp('her\\s*(?:mum(?:da|de)?|bar(?:da|de)?)[^.\\n]{0,24}?' + trade).test(s) ||
14002
+ new RegExp('(?:i[şs]lem|giri[şs]|pozisyon|emir)\\s*(?:a[çc]mak|a[çc]ma)?\\s*zorunda').test(s) ||
14003
+ new RegExp('her\\s*zaman\\s*' + trade).test(s) ||
14004
+ new RegExp('(?:s[üu]rekli|durmadan)\\s*' + trade).test(s) ||
14005
+ new RegExp('zorunlu\\s*(?:olarak\\s*)?' + trade).test(s) ||
14006
+ /\bmecbur\b/.test(s)
14007
+ );
13995
14008
  }
13996
14009
 
13997
14010
  /* Ritim: talimatta M1 → işlem ajanı turları en hızlı 60 sn, M5 → 300 sn
@@ -15072,6 +15085,11 @@ async function finTypeSafeRound(sid, agent) {
15072
15085
  agent,
15073
15086
  `🤖 TypeSafe karar turu #${agent.round} (LLM yok — girdi yalnız TypeSafe):\n` +
15074
15087
  (insTxt ? 'TALİMAT AYARLARI (kod uygular): ' + insTxt + '\n' : '') +
15088
+ /* giriş serbestliği görünür olsun: zorunlu mod yalnız talimat açıkça
15089
+ isterse; yoksa girişler eşik/teyit kapılı (isteğe bağlı) */
15090
+ (talimatZorunlu
15091
+ ? 'TALİMAT MODU: ZORUNLU GİRİŞ — talimat gereği bu turda giriş zorunlu\n'
15092
+ : 'GİRİŞ MODU: İSTEĞE BAĞLI — yalnız eşik/teyit geçen sinyalde işlem açılır\n') +
15075
15093
  'TF KARARI: ' + symbols.map((s) => `${s}=${market[s].tf}`).join(', ') + '\n' +
15076
15094
  'ÖĞRENİLMİŞ: ' +
15077
15095
  symbols
@@ -10941,7 +10941,7 @@ function finHelpHtml(which) {
10941
10941
  ['<code>martingale</code><code>martingale 1.2</code><code>martingale x1.20</code><code>1.2 kat martingale</code>',
10942
10942
  '<b>Kod otomatik uygular.</b> Kayıp serisi KAPANAN işlemlerden sayılır (aç+kapa = 1 işlem): 1. işlem stop → 2. işlem ×1.2, o da stop → ×1.44… Kâra geçen ilk işlemde seri sıfırlanır ve taban lota dönülür. Faktör serbest (ör. 1.2); varsayılan ×2, 1.01–5 arası geçerli, seri en çok ×3, toplam risk tavanı %10 ve max lot kilidi geçerli.'],
10943
10943
  ['<code>her mumda işlem açmak zorundasın</code><code>her barda işlem</code><code>her zaman işlem</code>',
10944
- '<b>ZORUNLU GİRİŞ modu.</b> "bekle" seçeneği kaldırılır, eşik/teyit kapıları atlanır, emir market olur. "zorunlu değil" yazarsan mod açılmaz.'],
10944
+ '<b>ZORUNLU GİRİŞ modu (isteğe bağlı).</b> Bu ifadeyi <b>yazmazsan girişler isteğe bağlıdır</b>: yalnız eşik + teyit geçen sinyalde işlem açılır. Yazarsan "bekle" kaldırılır, eşik/teyit atlanır, emir market olur. Teyit cümleleri ("her mum kapanışını bekle") modu açmaz; "zorunlu değil" yazarsan kapanır.'],
10945
10945
  ['<code>M1</code><code>1m</code><code>M15</code><code>5 dk</code><code>4 saat</code>',
10946
10946
  'İşlem zaman dilimi. Yazdığın TF (ör. <b>M15</b>) tüm girişlerde birincil kuraldır: analiz, bildirim ve pozisyon yorumu o periyodu kullanır — talimatta M1 yazmadıkça M1\'de işlem açılmaz. M1/M5 yazarsan tur ritmi hızlanır (M1 en hızlı 60 sn).'],
10947
10947
  ['<code>başlangıç bakiye 10.000</code><code>gün başı: 10000</code><code>starting balance 10000</code>',
@@ -10955,7 +10955,7 @@ function finHelpHtml(which) {
10955
10955
  ];
10956
10956
  const example = posmgr
10957
10957
  ? `1- 1R'de %50 kısmi kapat\n2- kâr 2R'ye gelince kalanı kapat\n3- zarar -0.5R'yi geçerse kes`
10958
- : `1- M15'te işlem aç\n2- risk yüzde 2\n3- martingale kullan (x1.2)\n4- her mumda işlem açmak zorundasın\n5- aynı anda en fazla 10 işlem\n6- başlangıç bakiye 10.000\n7- günlük zarar %3`;
10958
+ : `1- zaman dilimi M15\n2- risk yüzde 2\n3- martingale kullan (x1.2)\n4- sadece uygun sinyalde işlem aç (isteğe bağlı)\n5- aynı anda en fazla 10 işlem\n6- başlangıç bakiye 10.000\n7- günlük zarar %3`;
10959
10959
  const head = posmgr
10960
10960
  ? 'Pozisyon Yöneticisi (ayarlı sıklık — varsayılan 5 sn) açık pozisyonları yönetir: kapat / kısmi kapat / SL taşı. Trade Ajanı pozisyon açıkken de tur atmaya devam eder ve yeni girişleri değerlendirir.'
10961
10961
  : 'Trade Ajanı girişleri yönetir: yön, emir tipi, risk, lot, martingale ve günlük limitler.';