|
|
Help!
by VoroneTZ. 10/14/25 05:04
|
|
|
|
|
|
|
2 registered members (joenxxx, VoroneTZ),
9,295
guests, and 1
spider. |
Key:
Admin,
Global Mod,
Mod
|
|
|
1 hour ago
Magic logs can provide unbelievable amounts of experience compared to Yew logs. The cutting down of Magic trees is among the most profitable AFK ways to earn money.To this end, you could decide to use your axe to cut Magic trees on your own or purchase the equipment with OSRS gold to use at the Grand Exchange where you are certain to locate some. Like our guide to woodcutting in this guide, we'll finish by introducing Redwood logs for this guide to making fire and. Although it isn't as significant an improvement in the experience of Magic logs in the same way Magic logs come made from Yew logs, it's nonetheless superior.In addition, because Redwood trees are so extensively cut down, you will be able to find these trees on GE and at a reasonable price. They are better that Magic logs, typically. Wintertodt is not locked at the level 50 of Firemaking. It's found in Zeah's northernmost portion of Zeah and, unlike other continent-wide activities there is no House prerequisite for favors. It is accessible with the Games necklaces if you've been on a trip through Great Kourend at least once prior to. While Wintertodt requires a level 50 firemaking, having other skills can be beneficial too as they can boost your chances of receiving higher reward.These are skills like mining, herblore, farming fishing, Construction and lastly the art of woodcutting. The higher the level of these skills more rewarding, the greater the benefits you'll earn. However, the rewards you earn from supply crates that you collect during Wintertodt are calculated after OPENING them, not the moment you receive the crates. This means you can keep as many supply crates you want and then unload them later, in the event that your skills are better and therefore earn higher rewards. The most important thing to keep in mind is you can only get the Pyromancer outfit is available only through these crates, therefore you must get them open to get the complete set to get the Firemaking boost. It is also possible to increase Fletching in the course of battle However, this is only possible in case you're not shooting at the highest amount of experience from Firemaking per hour.Be sure to bring food as well as a hammer, firebox, and a good mood. If you've left them behind you'll be glad to know that there's a nearby bank. The Wintertodt encounter is easy: you have to assist to help Pyromancers combat Wintertodt by lighting the braziers and aiding Pyromancers when they suffer more damage than they should and become disabled. There are three kinds of attacks Wintertodt utilizes: Standard attack. Players are periodically hit every 10 to 20 seconds. The frequency of these attacks decreases If at the very least three braziers are lit, and Wintertodt's power is reduced.Brazier attack. Snowfalls fall in clumps on braziers, breaking them. The people who are standing in front of the brazier suffer damage. Area attack. Similar to the brazier attack but the snow falls in random areas of 3x3 instead of being deposited on braziers made of concrete. The attack is identified by snowflakes falling, and you can avoid it by paying attention. The harm of all three attacks is reduced by the number of braziers that are lit, the amount of warm clothing worn and the level of players' Firemaking. Damage is calculated according to the Hitpoints of players so less HP you have is, the lower damage you suffer. This mechanism allows players with OSRS gold for sale to bring low-quality food items. Warm clothing can minimize the damage caused by all attacks by a significant amount.Warm clothing comprises items like Santa outfits, Hunter gear, Yak-hide armor, Pyromancer outfit, etc. Be sure to purchase four pieces from any set of warm clothes as it will make your job much simpler.
0
1
Read More
|
|
2 hours ago
EA College Football 26 received a surprise update last night that brought some major roster changes. While the update was smaller than expected, it made adjustments to player ratings, affecting top players in multiple positions. At the same time, nba2king has carefully prepared College Football 26 Coins for players with College Football 26 Coins and wishes players an exciting experience in this update. Here is a breakdown of the most notable changes: Key Player Updates 1. Will Johnson (CB, Michigan): Dropped one point to a 96 overall, making him the second-highest rated cornerback in the game, just behind Travis Hunter. 2. Shadour Sanders (QB, Colorado): Up one point to a 95 overall, solidifying his position as the highest-rated quarterback in the game. 3. Abdul Carter (Edge, Penn State): Gained one point, reaching a 95 overall, tying him for the highest-rated edge rusher. 4. Xavier Watts (S, Notre Dame): Increased to a 95 overall with a speed boost (+1 to 87), making him a more dynamic safety. 5. Tyler Warren (TE, Penn State): Up two points to a 95 overall, tying him with Harold Fanning Jr. as the highest-rated tight end. 6. Harold Fanning Jr. (TE, Alabama): Also increased to 95 overall, marking his continued dominance at the tight end position. 7. Malachi Moore (S, Alabama): A substantial +3 boost, bringing him up to a 95 overall, tying him with Starks as the top-rated strong safety. 8. Omari Hampton (RB, North Carolina): Up one point to a 95 overall, tying him for second place among the game’s best running backs. Rising Stars · Jack Sawyer (DE, Ohio State): Improved to a 94 overall, becoming tied for the highest-rated left end. · Noah Williams (CB, Alabama): Went up by two points to a 93 overall, making him one of the top cornerbacks in the game. · Caleb Johnson (RB, Iowa): A notable +2 increase, reaching a 93 overall after a breakout season. · Xavier (WR, Miami): Had a major jump, rising to a 92 overall with +3 speed and +2 acceleration, making him one of the most improved wide receivers. Downward Trends · Ali Gordon (RB, Oklahoma State): Dropped one point to a 93 overall after a less-than-expected performance this season. · Sebastian Castro (S, Iowa): Dropped one point to a 91 overall, marking a decline compared to earlier in the season. Freshman Standouts · Top Offensive Freshmen: Jeremiah Smith, Ryan Williams (90 overall), Jordan Sean, Kaden Durham, and Ahmad Hardy (all 85 overall). · Top Defensive Freshmen: Dylan Stewart (87 overall), Kylin Simmons (86 overall), KJ Balton (84 overall), Coy Perit, and OJ Frederi (83 overall). How to Stay Updated As the landscape of college football continues to change, these roster updates provide players with an important way to keep their teams competitive in EA College Football 26. Stay tuned for the next big update next week, and don’t forget to head over to nba2king to purchase cheap NCAA Football 26 Coins for the latest news and updates on the upcoming CFB 26. Patience is Crucial: Trick plays often require a little more time to develop than standard plays. If you rush your decision-making, you’re likely to make a mistake. Be patient, wait for the play to develop, and take what the defense gives you. Set Up Plays Effectively: Great trick plays aren’t just random; they’re set up by other plays. Use your standard plays to create an environment where the defense is more susceptible to being tricked. Don’t Overuse Trick Plays: Trick plays lose their magic with NCAA Football 26 Coins for sale if you use them too frequently. Mix them in with standard plays and make sure they’re a surprise when they happen.
0
6
Read More
|
|
2 hours ago
As NBA 2K26 approaches its launch, players are buzzing with excitement about the new features, improved gameplay mechanics, and the ever-important MyTeam mode. At the heart of the MyTeam experience is NBA 2K26 MT (MyTeam Points), the game's currency, which players with NBA 2K26 MT can use to enhance their rosters, acquire player cards, and unlock various in-game rewards. However, a common question among gamers is: "Is buying NBA 2K26 MT legit?" In this article, we'll explore the legitimacy of purchasing MT, as well as important considerations for ensuring a safe and satisfactory transaction. Understanding NBA 2K26 MT NBA 2K26 MT serves a vital role in the game. It allows players to purchase gift packs, player cards, and other valuable items that enhance gameplay and team building. For those looking to expedite their progress and bolster their roster, purchasing MT can be tempting. However, it's essential to ensure that you engage in legitimate transactions with trusted platforms. Evaluating the Legitimacy of MT Sales When considering purchasing NBA 2K26 MT, here are several key factors to evaluate the legitimacy of the platform you are looking into: 1.Legality of Gold Coin Sources: The most crucial consideration is the legitimacy of the source from which the MT is derived. It's important to ensure that the platform complies with official requirements and that it employs ethical practices for acquiring MT. Buying MT from unauthorized sources can lead to account bans or penalties, significantly affecting your gaming experience. 2.Professionalism and Industry Experience: Assess the professionalism of the website. Reputable platforms, such as NBA2king, typically have extensive industry experience and a track record of successful transactions. Look for platforms that offer clear information about their services, pricing, and customer support, as professionalism often correlates with a reliable buying experience. 3.Customer Feedback and Reviews: Before making a purchase, take the time to read customer reviews and feedback about the site. Real experiences from previous buyers provide valuable insights into the reliability and trustworthiness of the platform. Look for testimonials regarding the speed of delivery, customer service, and overall satisfaction. If a site has an overwhelming number of negative reviews or no reviews at all, it may be best to steer clear. 4.Secure Payment Options: Legitimate platforms will offer secure payment methods. Look for sites that use trusted payment gateways to protect your financial information. Avoid sites that push for unconventional or untraceable payment methods, as these can pose a risk to your security. Making the Most of Your MT Once you've determined that you're using a reliable platform for your NBA 2K26 MT purchase, you can fully enjoy the benefits that come with it. With enough MT, players can open gift packs and unlock their favorite player cards, boosting their MyTeam roster and tailoring their gaming experience. The excitement of building a dream team and the thrill of discovery with each pack opening are key elements that make NBA 2K26 engaging and fun. Conclusion The question of whether buying NBA 2K26 MT is legit boils down to choosing the right platform and ensuring that you are well-informed before making any transactions. By considering the legality of MT sources, the professionalism of the site, customer feedback, and secure payment options to Buy MT NBA 2K26, you can navigate the world of MT purchases with confidence. With the impending launch of NBA 2K26, being equipped with enough MT can enhance your gaming experience, allowing you to dive straight into the action and build the ultimate basketball team. Make informed decisions, enjoy the game, and it's time to hit the virtual court!
0
8
Read More
|
|
Yesterday at 09:01
Since no bugs were found so far, version 2.70 will now be officially released.
1
272
Read More
|
|
10/12/25 13:58
Cation This is under Heavy Testing : The Serpent of Skew
// ===============================================================
// Heston Vol-Arb (lite-C, Zorro)
// - Calibrate Heston (?v, ?) to ~30D slice via MC RMSE grid
// - Buy underpriced calls, Sell overpriced calls by model-vs-mid
// - Uses Zorro option functions (contractXXX) per manual
// ===============================================================
#include <contract.c> // required for all contract* functions
#define UNDERLYING "SPY"
#define DAYS_TARGET 30
#define DELTA_ATM 0.50
#define HISTVOL_DFLT 0.20
#define LOTS 1
#define USE_EUROPEAN 1
// ---- Mispricing thresholds (tune) ----
var TAU_UNDER = 0.02; // buy if model >= mid*(1+2%)
var TAU_OVER = 0.02; // sell if model <= mid*(1-2%)
int MAX_BUYS = 1; // cap # of long calls this bar
int MAX_WRITES = 1; // cap # of short calls this bar
// ===== Heston params (kappa, theta, v0 anchored; fit sigmaV, rho) =====
var kappa = 2.0;
var theta = 0.04; // will be reset from ATM IV^2
var v0 = 0.04; // will be reset from ATM IV^2
var sigmaV = 0.30; // fitted
var rho = -0.70; // fitted
// ===== MC controls =====
int NPaths = 15000; // raise in live/research
int NSteps = 32; // ~1M maturity
int ANT = 1;
// ===== globals refreshed per bar =====
var S0 = 0, r = 0, q = 0; // market inputs
// ===== Math / RNG =====
var max0(var x){ return ifelse(x>0, x, 0); }
int _bm_hasSpare=0; var _bm_spare=0;
var gauss01(){
if(_bm_hasSpare){ _bm_hasSpare=0; return _bm_spare; }
var u,v,s;
do{ u=2.0*random()-1.0; v=2.0*random()-1.0; s=u*u+v*v; }while(s<=1e-12||s>=1.0);
var m=sqrt(-2.0*log(s)/s);
_bm_spare=v*m; _bm_hasSpare=1; return u*m;
}
void corrGauss(var* outZ1,var* outZ2){
var z1=gauss01(), zP=gauss01();
var z2 = rho*z1 + sqrt(max0(1.0 - rho*rho))*zP;
*outZ1=z1; *outZ2=z2;
}
// ===== Heston MC (full truncation) =====
var heston_call_MC(var S, var K, var r_, var q_, var T){
var dt = T/(var)NSteps;
var sum=0; int n;
_bm_hasSpare=0; _bm_spare=0;
int p;
for(p=0;p<NPaths;p++){
var S1=S, v1=v0, S2=S, v2=v0; // antithetic
int i;
for(i=0;i<NSteps;i++){
var z1=gauss01(), zperp=gauss01();
var z2=rho*z1 + sqrt(max0(1.0-rho*rho))*zperp;
var z1a=-z1, z2a=-z2;
// path 1
{ var vPos=max0(v1);
v1 += kappa*(theta - vPos)*dt + sigmaV*sqrt(vPos)*sqrt(dt)*z2;
if(v1<0) v1=0;
S1 += (r_ - q_)*S1*dt + sqrt(max0(vPos))*S1*sqrt(dt)*z1;
if(S1<1e-6) S1=1e-6;
}
// path 2 (antithetic)
{ var vPos2=max0(v2);
v2 += kappa*(theta - vPos2)*dt + sigmaV*sqrt(vPos2)*sqrt(dt)*z2a;
if(v2<0) v2=0;
S2 += (r_ - q_)*S2*dt + sqrt(max0(vPos2))*S2*sqrt(dt)*z1a;
if(S2<1e-6) S2=1e-6;
}
}
var p1=max0(S1-K), p2=max0(S2-K);
sum += 0.5*(p1+p2);
}
return exp(-r_*T)*(sum/(var)NPaths);
}
// ===== Helpers for options chain =====
int select_30d_call_near(var strike){
int type = CALL; if(USE_EUROPEAN) type |= EUROPEAN;
return (contract(type, DAYS_TARGET, strike) != 0); // ?Days and nearest strike // :contentReference[oaicite:5]{index=5}
}
int step_to_next_strike_same_expiry(){ // walk strikes at same expiry
CONTRACT* c = contractNext(CALL | (USE_EUROPEAN?EUROPEAN:0), ContractExpiry, ContractStrike);
if(!c) return 0;
return 1;
}
// ===== Collect a small calibration set around ATM =====
int build_calib_slice(var S, var frac, int maxPts, var* outK, var* outMid, int* outN){
// start from ATM strike by delta target
var kATM = contractStrike(CALL, DAYS_TARGET, S, HISTVOL_DFLT, r, DELTA_ATM); // :contentReference[oaicite:6]{index=6}
if(!select_30d_call_near(kATM)) return 0;
int cnt=0;
// walk down strikes
CONTRACT* start = contract(0); start=start; // keep compiler happy
var kMin = S*(1.0-frac), kMax = S*(1.0+frac);
// go to lower strikes within range
while(ContractStrike > kMin){
CONTRACT* c = contractNext(CALL | (USE_EUROPEAN?EUROPEAN:0), ContractExpiry, -ContractStrike);
if(!c) break;
}
// move up, collect mids
do{
if(ContractStrike >= kMin && ContractStrike <= kMax){
var mid = contractPrice(0); // fetch bid/ask/underlying; returns mid // :contentReference[oaicite:7]{index=7}
if(mid > 0){
outK[cnt]=ContractStrike; outMid[cnt]=mid; cnt++;
if(cnt>=maxPts) break;
}
}
} while(step_to_next_strike_same_expiry());
*outN = cnt;
return (cnt>=5); // need at least 5 points
}
// ===== ATM IV anchor (uses RQuantLib via manual function) =====
var estimate_ATM_IV(var S){
var kATM = contractStrike(CALL, DAYS_TARGET, S, HISTVOL_DFLT, r, DELTA_ATM); // :contentReference[oaicite:8]{index=8}
if(!select_30d_call_near(kATM)) return 0.0;
var mid = contractPrice(0); if(mid<=0) return 0.0; // :contentReference[oaicite:9]{index=9}
var T = (var)contractDays(0)/365.0; // :contentReference[oaicite:10]{index=10}
// contractVol: IV from market price (needs R + RQuantLib) // :contentReference[oaicite:11]{index=11}
return contractVol(0, S, HISTVOL_DFLT, mid, q, r);
}
// ===== Calibrate sigmaV & rho on small grid (RMSE) =====
void calibrate_sigma_rho(var S, var T, var* Ks, var* Mids, int N){
// anchor theta = v0 = ATM^2
var ivATM = estimate_ATM_IV(S);
if(ivATM > 0){
theta = ivATM*ivATM;
v0 = theta;
}
var bestErr = 1e100, bestSig = sigmaV, bestRho = rho;
var sMin=0.10, sMax=1.00, sStep=0.10;
var rMin=-0.90, rMax=-0.05, rStep=0.05;
var s, rr;
for(s=sMin; s<=sMax+1e-12; s+=sStep){
sigmaV = s;
for(rr=rMin; rr<=rMax+1e-12; rr+=rStep){
rho = rr;
// RMSE over the set
var se=0; int i;
for(i=0;i<N;i++){
var mdl = heston_call_MC(S, Ks[i], r, q, T);
var diff = mdl - Mids[i];
se += diff*diff;
}
var rmse = sqrt(se/ifelse(N>0,N,1));
if(rmse < bestErr){ bestErr=rmse; bestSig=s; bestRho=rr; }
}
}
sigmaV = bestSig; rho = bestRho;
printf("\n[Calib] ATM IV=%.3f theta=v0=%.5f sigmaV=%.3f rho=%.2f RMSE=%.4f",
(double)ivATM,(double)theta,(double)sigmaV,(double)rho,(double)bestErr);
}
// ===== Trading: scan ~30D calls, buy underpriced, sell overpriced =====
void scan_and_trade_30d_calls(var S){
// start near ATM
var kStart = contractStrike(CALL, DAYS_TARGET, S, HISTVOL_DFLT, r, DELTA_ATM); // :contentReference[oaicite:12]{index=12}
if(!select_30d_call_near(kStart)) return;
int nBuys=0, nWrites=0;
int sameExp = ContractExpiry;
do{
if(ContractExpiry != sameExp) break; // stay in same maturity bucket
var mid = contractPrice(0);
if(mid <= 0) continue;
var T = (var)contractDays(0)/365.0;
var model = heston_call_MC(S, ContractStrike, r, q, T);
// underpriced? buy
if(nBuys < MAX_BUYS && model >= mid*(1.0 + TAU_UNDER) && !NumOpenLong){
Lots = LOTS; enterLong(); // buys the selected CALL // :contentReference[oaicite:13]{index=13}
nBuys++;
printf("\nBUY CALL K=%.2f mid=%.3f mdl=%.3f", (double)ContractStrike,(double)mid,(double)model);
}
// overpriced? write
if(nWrites < MAX_WRITES && model <= mid*(1.0 - TAU_OVER) && !NumOpenShort){
Lots = LOTS; enterShort(); // writes (sells) the selected CALL // :contentReference[oaicite:14]{index=14}
nWrites++;
printf("\nSELL CALL K=%.2f mid=%.3f mdl=%.3f", (double)ContractStrike,(double)mid,(double)model);
}
} while(step_to_next_strike_same_expiry());
}
// ===== Zorro hooks =====
function init(){
set(LOGFILE);
asset(UNDERLYING);
BarPeriod = 60; // 1h
LookBack = 60; // ensure chain loads after warmup (manual) // :contentReference[oaicite:15]{index=15}
Multiplier = 100; // typical US equity options; adjust per market (manual) // :contentReference[oaicite:16]{index=16}
}
function run(){
if(Bar <= LookBack) return;
// 1) Load options chain (CALL|PUT) once per day ideally (manual) // :contentReference[oaicite:17]{index=17}
if(!contractUpdate(Asset,0,CALL|PUT)) return;
// 2) Market inputs
S0 = contractUnderlying(); if(S0<=0) S0 = priceClose(); // :contentReference[oaicite:18]{index=18}
r = yield()/100; // annual risk-free
q = 0.00; // set dividend if needed
// 3) Build a small calibration slice around ATM (±15% strikes)
var Ks[32], Mids[32]; int N=0;
if(!build_calib_slice(S0, 0.15, 32, Ks, Mids, &N)) return;
var T_bar = (var)DAYS_TARGET/365.0;
calibrate_sigma_rho(S0, T_bar, Ks, Mids, N);
// 4) Scan ~30D calls and trade mispricings
scan_and_trade_30d_calls(S0);
}
106
32,742
Read More
|
|
10/11/25 18:45
Looking for new games to score!
99
48,677
Read More
|
|
10/11/25 06:15
I run a few versions of Monte-Carlo Realty Check on my strategy, sharing the results with you. You can find an excellent blog on this issue here: Monte Carlo Reality Check As jcl wrote in the above post: Therefore, neither MRC nor WRC can give absolute guarantee that a system works when it passes the check. But when it does not pass, you’re advised to better not trade it with real money.
I would appreciate to hear from you, insights and your experience on this regard. My strategy is a rotation one, running once a week, long only, no leverage. I optimized two global variables: lookback period and number of assets to trade. Those are the results: 1. MRC with SUFFLE - Test only, no train, uses default parameters ------------------------------------------- P-Value 2.0% Result is significant ------------------------------------------- Win 75814$ MI 2111$ DD 12690$ Capital 100934$ Trades 65 Win 50.8% Avg +479.0p Bars 33 CAGR 20.75% PF 2.94 SR 1.75 UI 7% R2 0.88
Time 00:03:39
See the attached histogram plot 2. MRC with BOOTSTRAP - Test only, no train, uses default parameters ------------------------------------------- P-Value 1.9% Result is significant ------------------------------------------- Win 76200$ MI 2122$ DD 5109$ Capital 85135$ Trades 76 Win 59.2% Avg +598.6p Bars 28 CAGR 20.84% PF 2.87 SR 1.47 UI 13% R2 0.70
Time 00:03:47
3. MRC with SUFFLE, 2 parameters trained Run MRC.......................... Read MRC_1.par Read MRC_2.par MRC_3.par MRC_4.par MRC_5.par MRC_6.par MRC_7.par MRC_8.par MRC_9.par MRC_10.par MRC_11.par MRC_12.par MRC_13.par MRC_14.par ------------------------------------------- P-Value 2.0% Result is significant ------------------------------------------- Win 82974$ MI 2311$ DD 5544$ Capital 61839$ Trades 68 Win 58.8% Avg +571.6p Bars 29 CAGR 22.37% PF 3.88 SR 2.03 UI 4% R2 0.94
Time 06:22:37
4. MRC BOOTSTRAP, 2 trained parameters Run MRC.......................... Read MRC_1.par Read MRC_2.par MRC_3.par MRC_4.par MRC_5.par MRC_6.par MRC_7.par MRC_8.par MRC_9.par MRC_10.par MRC_11.par MRC_12.par MRC_13.par MRC_14.par ------------------------------------------- P-Value 1.9% Result is significant ------------------------------------------- Win 15548$ MI 433$ DD 5863$ Capital 77991$ Trades 72 Win 43.1% Avg +197.1p Bars 28 CAGR 4.95% PF 1.45 SR 0.43 UI 40% R2 0.00
Time 05:06:57
The p value for all versions is around 2%, which is very good. The CAGR for the 3 version are quite the same, for the last version it drops a lot, I don't understand what that means. David P.S. I don't have Zorro-S license, so the run time is very long
0
68
Read More
|
|
10/10/25 19:33
I found the problem The manual says: Due to the 7 digit limit, var X = 123456789.0; would in fact set X to 123456792.0; but var X = 123456789; sets it to 123456789.0 since int has 10 significant digits.
So, I changed the code to:
double a1 = 56434;
double a2 = 56506;
printf("\n %.10e %.10e %.10e",a1,a2,(a1-a2)/a2);
Got the desired results:
returns compiling............ ok
5.6434000000e+004 5.6506000000e+004 -1.2742009698e-003
Thanks David
5
336
Read More
|
|
09/29/25 09:21
You need not convert them, the new Zorro version will accept the old format.
1
314
Read More
|
|
09/27/25 17:07
Thank you AndrewAMD for your reply. Your suggestion unfortunately didn't work; it made optimization for the first asset only. I read many times the manual and made the following changes in the code: If asset/algo specific optimization is not desired at all, don't use loop, but enumerate the assets in a simple for loop, f.i. for(used_assets) ...,
I changed: while(loop(asset.... ===> for(used_assets) ... and optimize the parameters outside the for loop.
Make sure in that case to select all assets before the first optimize call;
otherwise the optimizer will assume a single-asset strategy.
var threshold; // global optimize parameter
function run()
{
set(LOGFILE | PLOTNOW );
set(PARAMETERS);
threshold = optimize(a,b,c,1);
for(used_assets) // first loop
{
Needs no optimization
}
for(used_assets) // second loop
{
Needs no optimization
}
for(used_assets) // third loop
{
threshold decides how many assets to trade
without optimize, go 3 assets long
with optimize, go 1 or 2 or 3 or 4 or 5 assets long
}
The optimize runs on the last asset only. The manual says: [b]Make sure in that case to select all assets before the first optimize call[/b]
How to select all assets before the first optimize call?
David
***** UPDATE ***** The above code works OK, I got the optimization for the global var "threshold" Interesting that the performance degraded after the optimization, holding always 3 assets got the best performance.
2
352
Read More
|
|
09/23/25 01:38
Hello folks, What is the best practice for futures intraday data organization? ie, should tick data for different future expiries/contracts for the same futures class, for the same month or day be stored under the same t8 file? ie,should tick data for ESU25 and ESZ25 for the month of the september (both contracts trade) be stored in the same ES_202509.t8 file? Is it best practice to store files by day instead to avoid overlap? Given I have bid, ask and trade data, how should those be stored? It seems t8 doesn't care about last trade - should be store those in a separate .t2 file? Should both bid and ask data be stored in the same file, with negative bid prices? If so, can they have the same time stamp, or should one be 1ms offset from the other? What about bar data - should those be stored in a .t6, and if so how do we manage contracts -- does each contract get it's own .t6? is there any management of related contracts for .t6 based on the name, or has to be explicitly handled in code? Are contract data generally first class citizens in the different scripts, or is it better to just store everything under the contract symbol (eg ESU25) and manually manage rollovers, expiry dates, etc? Generally speaking, if I care about the spread, and may want to simulate using both trades (eg stop activation) and bid-ask (limit order activation) with the real spread, do I need to save all 3 data series separately? And for dynamic spread, do I need to load the bid series and compare timestamps myself, or is there a way to stipulate both bid and ask files during a run?
Thank you!
0
157
Read More
|
|
09/21/25 11:36
Possibly the prices are stored on the broker server with timestamps belonging to the begin instead of the end of the bar, while live prices have a end of bar timestamp. This is not very visible with M1 data, but on 15 min data it can become obvious. Use the TickFix variable for fixing the lookback data on the fly.
1
279
Read More
|
|
09/17/25 16:28
You already started a thread about this before, so why start a new one?
1
211
Read More
|
|
09/17/25 15:50
Thanks for the additional suggestions. Much appreciated.
I'l try 1) since I imagine it might be a very light existing plugin update.
I'll also look into 3) but this will be a much challenging thing for me....
4
465
Read More
|
|
09/14/25 12:58
Solution: I can check the trade if it's open it in the tick() function.
1
161
Read More
|
|
09/14/25 11:43
I wanted to try Petra's code for the blog post “High-Conviction Trading.” However, neither the download via Yahoo (“too many requests” – I don't have a VPN running) nor the download of the COT data works for me, even though I have stored the API key in Zorro S and in Z.ini. Who can help me?
0
108
Read More
|
|
|