Fix: entryTime perso in completedTrades (era 0), LogBarHistory mai chiamata in OnTick, data.Time(0) -> data.time[0], return lotMin -> 0 in CalcRiskLot, entryTime esportato per open trades in CSV
This commit is contained in:
@@ -699,7 +699,7 @@ UpdateHealth(actualReturn);
|
|||||||
completedTrades[ct].maeATR = openTrades[idx].maeATR;
|
completedTrades[ct].maeATR = openTrades[idx].maeATR;
|
||||||
completedTrades[ct].mfeATR = openTrades[idx].mfeATR;
|
completedTrades[ct].mfeATR = openTrades[idx].mfeATR;
|
||||||
completedTrades[ct].actualReturn = actualReturn;
|
completedTrades[ct].actualReturn = actualReturn;
|
||||||
completedTrades[ct].entryTime = 0;
|
completedTrades[ct].entryTime = openTrades[idx].entryTime;
|
||||||
completedTrades[ct].closeTime = TimeCurrent();
|
completedTrades[ct].closeTime = TimeCurrent();
|
||||||
completedTrades[ct].exitReason = exitReason;
|
completedTrades[ct].exitReason = exitReason;
|
||||||
for(int ei = 0; ei < agentCount; ei++) completedTrades[ct].entryZScores[ei] = openTrades[idx].entryZScores[ei];
|
for(int ei = 0; ei < agentCount; ei++) completedTrades[ct].entryZScores[ei] = openTrades[idx].entryZScores[ei];
|
||||||
@@ -1067,8 +1067,8 @@ UpdateHealth(actualReturn);
|
|||||||
riskPerLot = (tickValue / tickSize) * MathAbs(slPoints);
|
riskPerLot = (tickValue / tickSize) * MathAbs(slPoints);
|
||||||
|
|
||||||
if(riskPerLot <= 0) {
|
if(riskPerLot <= 0) {
|
||||||
Print(" CalcRiskLot: tickValue=", tickValue, " tickSize=", tickSize, " — impossibile calcolare lotto");
|
Print(" CalcRiskLot: tickValue=", tickValue, " tickSize=", tickSize, " — impossibile calcolare lotto, skip");
|
||||||
return lotMin;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
double lot = riskAmount / riskPerLot;
|
double lot = riskAmount / riskPerLot;
|
||||||
@@ -1572,7 +1572,7 @@ UpdateHealth(actualReturn);
|
|||||||
if(!openTrades[i].active) continue;
|
if(!openTrades[i].active) continue;
|
||||||
string line = (string)openTrades[i].ticket;
|
string line = (string)openTrades[i].ticket;
|
||||||
line += "," + (string)(openTrades[i].isBuy ? 1 : 0);
|
line += "," + (string)(openTrades[i].isBuy ? 1 : 0);
|
||||||
line += ",,"; // no close time yet
|
line += "," + TimeToString(openTrades[i].entryTime) + ","; // entryTime, no close time yet
|
||||||
line += "," + (string)openTrades[i].barsHeld;
|
line += "," + (string)openTrades[i].barsHeld;
|
||||||
line += "," + StringFormat("%.5f", openTrades[i].entryPrice);
|
line += "," + StringFormat("%.5f", openTrades[i].entryPrice);
|
||||||
line += ","; // no close price yet
|
line += ","; // no close price yet
|
||||||
|
|||||||
@@ -260,6 +260,7 @@ void OnTick() {
|
|||||||
if(!data.Fetch()) return;
|
if(!data.Fetch()) return;
|
||||||
|
|
||||||
double z = orchestrator.Analyze(data);
|
double z = orchestrator.Analyze(data);
|
||||||
|
orchestrator.LogBarHistory(data.time[0]);
|
||||||
FinalSignal fs = orchestrator.GetFinalSignal(Inp_MinZ);
|
FinalSignal fs = orchestrator.GetFinalSignal(Inp_MinZ);
|
||||||
|
|
||||||
double minZ = (Inp_MinZ > 0) ? Inp_MinZ : orchestrator.AdaptiveMinZ();
|
double minZ = (Inp_MinZ > 0) ? Inp_MinZ : orchestrator.AdaptiveMinZ();
|
||||||
|
|||||||
Reference in New Issue
Block a user