Пређи на главни садржај

Копирање трговања

Зеркалирајте главни cTrader налог на један или више робота налога — кросс-брокер, кросс-cID — са контролом по назначењу и плаћањем-тачним помирењем.

Концепти​

  • Профил копирања — један главни налог (SourceAccountId) + један или више назначена. Животни циклус: Draft → Running → Paused → Stopped (Error на грешку). Агрегатни корен: CopyProfile (поседује CopyDestination).
  • Назначење — један робот налог + комплетан скуп правила како главни скопиран на њега. Сва конфигурација по назначењу, тако да један главни напаја конзервативне и агресивне роботе одједном.
  • Хост копирања мотора — радни радник за профил (CopyEngineHost). Претплаћује се главном току извршавања, примењује сваки bonaparte на свако назначење.
  • Супервизор — CopyEngineSupervisor, услуга позадине на сваком чвору. Домаћин додељених профила, самоулечење кроз кластер (видети скалирање).

Шта се зеркалира​

Главни bonaparteРоботска акција
Позиција отворена на тржишту / опсег тржиштаОтворите величину копирања (означена идентификатором извора позиције)
Налог у очекивању лимита / заустављања / заустављања-лимитаПоставите одговарајући налог у очекивању, носећи стоп-губитак / узми-добитак главног
Амендман налога у очекивањуАмендман зеркалираног налога на месту (укључујући његов стоп-губитак / узми-добитак)
Отказивање налога у очекивању / истекаОтказивање зеркалираног налога у очекивању
Делимично затварањеЗатворите исти удел робота позиције
Прилив средстава (повећање обима)Отворите додани волумен (опционално)
Промена заустављања стоп-губитка / заустављањаАмендман заштите позиције робота
Потпуно затварањеЗатворите робота копирања

Свако копирање означено идентификатором позиције/налога извора. После поновног повезивања хост обнавља стање из помирења: отвара копирања која главни држи али робот недостаје, затвара робота "сирочади" главни више не држи — без дупликатних трговина.

Прављење профила​

Нови профил отвара намерни пуни-странични образац (/copy-trading/new), а не дијалог — скуп опција је довољно велик да се страница боље чита на телефону и десктопу. Прикупља све унапред: назив профила, изворни (главни) рачун, назначени (робни) рачуни (мултиселект са Изабери све дугметом; изабран главни исклучен из робне листе), + комплетан скуп опција за назначена. Сваки контрол има наговештај који објашњава шта ради и како га користити. Структурирани уноси користе правилне валидиране контроле — бројеве/проценте преко нумеричких поља, режиме/правце/филтере преко падајућих листи, филтер симбола преко листе за додавање/уклањање чип-симбола, и карту симбола преко табеле за додавање/уклањање Извор → Назначење (× множитељ) редова — никад текст са зарезима. Сви уноси су валидирани пре чувања — недостају назив/извор/назначење, не-позитивни параметар величине, негативне/недоследне границе, ван опсега проценат губитка, нема дозвољене врсте налога, или празан филтер симбола појављују се као листа грешака + блокирају чување. При креирању профил се креира + свако изабрано назначење се додаје са изабраним поставкама, затим страница враћа на листу копирања трговања.

Извоз / Увоз. Целокупан блок поставки може да се извезе у JSON датотеку и да се поново увезе да унапред попуни образац, тако да се подешавања могу поново користити у профилима без поновног куцања. Карта симбола може слично да буде извезена / увезена као CSV датотека (Source,Destination,VolumeMultiplier) — припремите великој брокерској карти симбола у табели и учитајте је у једном кораку. Исти контроли за симболе и извоз/увоз CSV су доступни и на дијалогу за назначена на страници Копирање трговања.

Управљање редовима поштује животни циклус: Старт је омогућен само када се не извршава, Стоп + Паузе само при извршавању, Брисање је онемогућено док се извршава + пре брисања профила и назначена пита за потврду.

Профил који је управо почео кратко показује статус Starting (не зелена Running) док његов хост учитава референтне податке и покреће први поновни синхроницирање — он још није зеркалирајући налоге кроз назначења. Прелази на Running чим се заврши то прво поновно синхроницирање и мотор може копирати. Starting је третиран као покренут за управљање редовима (Start онемогућен, Stop и лајв-логови омогућени, Edit/Delete блокирани), тако да профил у загревању не може бити поново покренут или уређен средње-затварању. Фаза загревања је пратена у процесу на чвору који домаћинов профил; профил домаћин на другој реплики (или онај који не може бити домаћин — његови извор/назначење налози нису повезани преко отвореног API-ја) показује његов обичан статус.

Опције по назначењу​

Постави на страну новог профила, у дијалогу назначења на страни копирања трговања, или преко POST /api/copy/profiles/{id}/destinations:

  • Величина (MoneyManagementMode + параметар): фиксна партија, партија/номинална вредност мултипликатор, пропорционални баланс/капитал/слободна маржа, фиксни ризик %, фиксна полуга, аутоматско-пропорционално, ризик-%–од–стопа (M7). Плус мин/макс граници партија + принуди-мин-партију. Ризик–од–стопа величине назначење тако да ризикује конфигурисани проценат његовог властитог баланса, изведен из главног растојања стоп–губитка (главни ризикује 2% → робот аутоматски ризикује 2%): партије = баланс×% ÷ (растојање стопа × величина уговора). Главни отвор без стоп–губитка нема растојања да се величина против → користи конфигурисану максималну ризик полупаљену партију (M7) ако је постављена, иначе прескочена (no_stop_loss) не погађа. Пропорционални капитал/слободна маржа величина од правог налога капитала (баланс + Σ плутајући П&Л, изведен по cTrader отвореног API-ја који не доставља капитал), не прост баланс — тако да главни сидећи на отвореном добитку/губитку величина копирања право. Коришћена маржа није изложена преко помирити API-ја, тако да слободна маржа третирана као капитал (поштено расположива средства прокси); други режима читају баланс + прескочи додатну переоцену окрупни пут.
  • Филтер смера: оба / само дуга / само кратка. Обрни: окрени страну (+ замени SL↔TP) за контрарног трговца копирања.
  • Управљај-само (Игнориши-нове-трговине / закупи-само): зеркалирај затварања, делимична затварања + заштита промена на већ копираних позиција, али отвори нема нових позиција/налога у очекивању (прескочена manage_only). Користити за намотавање назначења без сечења постојећих копирања.
  • Синхронизирај-отвори-при-почетку / Синхронизирај-затворена-при-почетку (подразумевано укључено): на профилу први поновни синхроницирање, да ли отворити копирања за главну постојећу позицију, + да ли затворити копирања главна затворена док је профил стао. Оба примењују само на почетку — средње трчање поновно повезивање увек помирава потпуно тако да несинхроницирање опорављена без обзира.
  • Карта симбола + филтер симбола (белина листа / црна листа). Сваки унос карте симбола носи опциону по–симбол волумен мултипликатор (cMAM по–симбол прелазак) скалирање копирања величине за тај симбол на врху назначења величине (1 = без промене). Целе карте увоза/извоза као CSV (GET …/symbol-map.csv, PUT …/symbol-map/csv; колоне Source,Destination,VolumeMultiplier) — сваки ред валидиран кроз домену вредност предмета, тако да није формирана датотека не може произвести неважећу карту.
  • Прозор радног часа (C18) — по–назначењу дневни UTC прозор (почетак/крај минута–од–дана, крај екскузивно; почетак == крај = целодневно). Нова отворена изван прозора прескочена (trading_hours); прозор са почетак > крај уме прошлу ноћ (нпр. 22:00–06:00). Постојеће позиције остају управљане.
  • Филтер натписа извора (C18, cTrader еквивалент MT магијског-броја филтера) — када је постављено, копирај само главне трговине чија натпис подудара тачно (нпр. једног бота трговина, или ручно-само натпис); иначе прескочена (source_label). Празно = копирај све. Носи на ExecutionEvent.SourceLabel од главне позиције/налога TradeData.Label, почтован на поновном синхроницирању такође.
  • Заштита налога (ZuluGuard / глобална заштита налога) — гледај назначење живи капитал (баланс + Σ плутајући П&Л, анкета сваког CopyDefaults.EquityGuardInterval) против StopEquity пода и/или опциона TakeEquity плафона. На кршењу, применити режим: CloseOnly (стоп нови копирања, чувајте управљање постојећима), Замрзнуто (стоп отварања), СелаОут (затворите свако копирање на назначењу одмах). Једном произведена, назначење защеладо — без нових отворена док се домаћин не поново покрене — + CopyAccountProtectionTriggered оповештење подигнуто. SellOut захтева StopEquity; TakeEquity мора седети изнад StopEquity. Без–гаранције услова: продаја–наружа користи трговину на тржишту — као сви конкурентни еквивалент, не може гарантовати цену попуњавања у брзо/гапа тржишту.
  • Уплашити–сви панички дугме (C8) — POST /api/copy/profiles/{id}/flatten одмах затвара свако копирање позиције на сваком назначењу + брава против нових отворена. Усмерен кросс–процес: API поставља флаг, супервизор доставља трчећим домаћину (поновном коришћењем канала ротације жетона), која уплашује на месту; флаг очишћен тако да пали тачно једном (CopyFlattenAll оповештење). Корисник затим паузира/стопира профил.
  • Гарда правила проп-фирме (C7) — спровођење проп-фирме копирача корисника траже. По назначењу, дневни лимит губитака (губитак од дневног отварајућег капитала) и/или пратећи–вучење лимит (губитак од трчања врхунског капитала), оба у валути депозита. На кршењу назначење аутоматски уплашено (свако копирање затворено) + закључано исход остатак UTC дана (нови отваран прескочена prop_lockout); CopyPropRuleBreached оповештење пали. Закључавање чиста када се UTC дан превали (свежа базна линија/врх узета). Дели исту живу–капитал анкету као заштита налога.
  • Извршавање тремора (C11, искл. подразумевано) — случајна 0..N мс кашњење пре него што поставите свако копирање, да де–корелирате скоро идентичне редоследе временских жигова кроз корисника своју налога. Услов усклађеност: помоћ за проп фирме која дозвола копирања — не средство да избегне фирму која је забранила; останак унутар вашег фирме правила је ваша одговорност.
  • Конфигурација брава (C9) — замрзњена назначење подешавања за период (POST …/destinations/{id}/lock са минутима). Док је закључана, назначење не може бити уклоњено (агрегат одбија са CopyDestinationConfigLocked) — намерна гарда против импулсивних промена током вучења. Брава истиче аутоматски на његовој временској марки.
  • Конзистентност пред-оповештење (C10) — упозор (једном по UTC дану) када назначење дневног добитка досегне конфигурисан проценат дневног отварања капитала (CopyConsistencyThresholdApproaching), тако да проп-фирме конзистентност правило почтован пре него што то клиза. Добит–страна, независна од губитка–странична закупа; трчи од исте дневне базне линије као проп–правило гарда.
  • Филтер типа налога — изабери тачно које главне врсте налога копирати: тржиште, опсег тржишта, лимит, стоп, стоп–лимит (CopyOrderTypes означава; подразумевано сви). cMAM–стил селективност.
  • Копирајте SL / копирајте TP — зеркалирај главни стоп–губитак / узми–добитак, или управљајте заштитом независно. Примењује се на обе отворене позиције и почивајуће налоге у очекивању — лимит/стоп/стоп–лимит копија је постављена и амендирана са главним налогом SL/TP (замењена под Обрни), тако да је заштита приложена чим је налог у очекивању напуњен, не само касније.
  • Копирај пратећи стоп, зеркалирај делимично затварање, зеркалирај скалу–у — сваки независно укључук–ов.
  • Копирај налог истека у очекивању (подразумевано укључено) — зеркалирај главни налог истека у очекивању добро–до–датума временска марка.
  • Копирај главни проклизавање (подразумевано укључено) — за опсег тржишта + стоп–лимит налоге, поставите робота налог са главном тачном проклизавањем–у–точкама (базна цена узета од живо робота место).
  • Стражи: максимално вучење %, дневни капитал губитка, максимално кашњење копирања, филтер проклизавања (прескочи копирање ако је робот цена преместила даље од N пипса од главне ставке). Максимално кашњење копирања мерено против главног bonaparte правог временског печата сервера (ExecutionEvent.ServerTimestamp) преко убризганог TimeProvider: сигнал старији од конфигурисаног максималног кашњења прескочена, тако да заста копирање никад није постављена касно (ранија кашњења увек нула + гарда мртва).
  • SL/TP прецизност нормализација (M6) — копирани стоп–губитак/узми–добитак цене заокружене на назначење симбол цифра прецизност пре амендмана (на позицијама и налоге у очекивању плаћања/амендмана), тако да главна цена на финијој прецизности (или кросс–брокер цифра неусклађеност) никад не пута сервер INVALID_STOPLOSS_TAKEPROFIT.
  • Одбацивање склопа откидача / следбеника гарда (G8) — назначење одбијајући CopyDefaults.RejectionBudget отворена у реду је решена: без нових отворена за прохладни прозор (CopyDestinationTripped оповештење пали), заустављању одбацивања олује од чекања (проп–фирме) налога. Постојеће позиције још управљане + затворена док решена; склопац аутоматски ресетује после прохладног + успешних копирања чиста бројач.
  • Партија санитета плафон (C14) — апсолутна максимална величина копирања и/или вишеструка–од–главне капе. Израчунато копирање превишокоапе капе, или превишоказујући N× главни властити лот величина, хард–блокирано (показано као lot_sanity прескочи, рачунати на cmind.copy.skipped) није постављена — браниће против катастрофалне–опреме класе (0.23–лот главни окрећи у 3 лота на сваком приливачу преко пропасти мултипликатор или заокружи грешку). Обе димензије подразумевано 0 (искл.).

Поузданост и гранични случајеви​

Мотор грађен за реалност да било шта може неуспети било када:

  • Робот–налог у очекивању попуњавање–корелацијаTimeout (C13) — зеркалирани робот налог у очекивању чији главни налог у очекивању нестао (ни почивајући ни свежо попуњена) отказан после корелације timeout, тако да робот копирање не може попунити неусклађена у неуправљана позиција (CopyPendingTimedOut). Поновни синхроницирање такође чистокупира налог–идентификатор–назначен попуњена–налог сиротињу.

  • Прелазна брокер налог у очекивању попуњавање–рака — робота сопствени налог у очекивању може напунити (његова цена погодена) у малом прозору пре него што је главни попуњена/отказ bonaparte обработљена. То оставља робота позицију означена главни налог идентификатор, који канонични близ/SL–TP путање (кључаљен по главни позиција идентификатор) би пропустио. На главни попуњена рана робота попуњена је пензионирана и замењена један канонични–означена тржишна копија — тако да назначење завршава са тачно једна копија, никад двоја позиција; на главни отказ то је затворена одмах (главни никад узета трговину). Оба деловања одмах, не само на следећем поновном синхроницирању. Робота–страна SL/TP погођена која затвара копија главни још задржава је извор–вођена и поновно отворена на следећем помирењу (мотор зеркалира главни bonaparte; то не конзумира назначење–страна извршавања).

  • Робусна близину/уплашити (M8) — затварањеиротиње на поновном синхроницирању, или уплашавању на гарда кршењу, толерише позиција брокер већ затворена (POSITION_NOT_FOUND): сваки близ трчи независно, тако да једна застара идентификатор никад абортира поновни синхроницирање или оставља остатак налога неуплашена.

  • Почните са главном већ у трговинама — на почетак домаћин помирава + отвара копирања за главну постојећу позицију.

  • Повезивање пада / несинхроницирање — на поновно повезивање домаћин помирава: отварајте недостајућа копирања, затворите сирочади, поново натписи налози у очекивању. Без дупликатних налога.

  • Налог плаћања неуспеха — неуспех на једном назначењу регистрован, никад не блокира другу назначење.

  • Јединствени важећи жетон по cID — cTrader инвалидира cID стари приступ жетон момент нови издан. cMind замене трчећег домаћина жетон на месту (поновне–ауториз на живом гниезду) тако да копирање наставља без паљаја тока. Видети живот жетона.

Ревизија​

Свака акција испушта структуирано, извор–генерисано дневник bonaparte (LogMessages) са профилом идентификатор, назначење cID, налог/позиција идентификатор, + вредности — налог постављена/прескочена (са разлогом), делимична близ, заштита примењена, пратећа примењена, налог у очекивању постављена/амендирана/отказана, истек зеркалира, опсег тржишта проклизавање зеркалирана, жетон замене, поновни синхроницирање резиме. Ово је дневник ревизије за исправност + решавање спорова.

Поред дневника, мотор испушта OpenTelemetry метрика на cMind.Copy метру (регистрована у дељеном OTel току, извезена кроз OTLP / за Azure Монитор као остатак): cmind.copy.latency (главни–bonaparte → брзина, ms), cmind.copy.dispatch.duration (вентилатор–наружа на сво назначењу, ms), cmind.copy.slippage.points, cmind.copy.placed (означена назначењем), cmind.copy.skipped (означена разлогом), + cmind.copy.failed. Ови чине кашњење/проклизавање регресија мерљива, не само видљива у дневник линију — живот люд тврди против буџета.

API​

  • GET /api/copy/profiles — листа.
  • POST /api/copy/profiles — креирај (са опциона назначењу налог идентификатор).
  • GET /api/copy/profiles/{id} — пуна детаљ укл. свако назначење опција.
  • POST /api/copy/profiles/{id}/destinations — додај назначење са комплетан опција скуп.
  • DELETE /api/copy/profiles/{id}/destinations/{destinationId} — уклони.
  • POST /api/copy/profiles/{id}/{start|pause|stop} — животни циклус.

Тестови​

  • Јединица (tests/UnitTests/CopyTrading) — величина начина, одлука филтера, налог–тип филтер, истек копирање, опсег тржишта/стоп–лимит проклизавање, SL/TP укључук–ова, делимична близ, налог у очекивању амендирање/отказивање, почните–са–отвори, гниездо→несинхроницирање→поновни синхроницирање, у–месту жетон замене, кросс–cID инвалидација. Трчи против FakeTradingSession, cTrader–верна у–меморији симулатор.
  • Интеграција (tests/IntegrationTests/CopyLive) — чвор–aффинитета/закупа захтева, жетон–верзија размножавања на правој Postgres.
  • E2E (tests/E2ETests) — назначење–опција окрупни пут кроз API + UI, пуна животни циклус.
  • Напор / DST (tests/StressTests) — детерминистички–симулација тестирање: семе насумично радне оптерећења + неисправност убризгавање (гниездо флоп, налог одбацивање, опсег тржишта одбацивање, жетон ротација, чвор смр) диск CopyEngineHost да квиесценција + тврде конвергенција инвиеријанта. Видети тестирање/стрес–тестирање.md. Овај люд површина + исправљена прави стартни раса: OnReconnected жичана пре иницијала референца–учитавање + поновни синхроницирање, тако гниездо флоп събира почетак могао покренути други поновни синхроницирање истовремено + корупција домаћина не–истовремено стање речници — почетак учитавање + прву поновни синхроницирање сада трчи под _stateGate.
  • Живо — прави cTrader демо налога; видети тестирање/живо–копирање–трговања.md.

Видети дев–믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믿믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믿믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믿믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믿믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믹믿믹믹.md за јединствену датотеку живо + E2E тире читајте.

Контроле профила и управљање назначењем​

Почећи/стопирање су иконе дугмади на сваком реду профила (онемогућена када акција не важи). Изворни налог и назначење налога су приказани по њихове налог број, никад унутрашње идентификатор. Клик профила отвара дијалог да управља назначењу налога (додај/уклони са комплетан по–назначењу подешавања).