Non so come mai dovrei sapere che passaggi fai per sapere se c'è qualche errore. Lo script incluso chiamato Strangle StdDev W, sul Wheat a me non da comportamenti strani, il che significa che la funzione non dovrebbe dare problemi.
Ti allego il codice nel caso avessi fatto qualche modifica che potrebbe averne compromesso il funzionamento:
//Input
int N = 10;
double MoltCall = 1, MoltPut = 1;
//Var
int Bin, GroupN = 0;
double StrikeCall, StrikePut, MaxC = 0, MinC = 0;
OLDate MyMaturity;
//A scadenza i trade vengono chiusi in automatico, quindi per questo sistema non devo preoccuparmi dell'uscita. Ma appena torno Flat (gruppo precedente giunto a scadenza), devo cominciare i controlli per la struttura successiva.
if Position = Flat then begin
//Recupero la prima scadenza disponibile con almeno 5 giorni di vita
MyMaturity = GetMaturity(MinDays, 5);
//Garantisce di non fare trade più lunghi di 7 giorni
if MyMaturity - Date <= 7 then begin
//Garantisce di avere sempre un gruppo nuovo, parte da 0 e si incrementa di uno ogni volta che apro una nuova struttura
GroupN = GroupN + 1;
//Elaboro gli strike con Standard Deviation
StrikeCall = GetStrike(MyMaturity, Call, Nearest, C + UStdDev(N));
StrikePut = GetStrike(MyMaturity, Put, Nearest, C - UStdDev(N));
//Eseguo la vendita e sfogo il Ticket restituito in una variabile cestino
Bin = Sell(Call, StrikeCall, MyMaturity, 1, GroupN);
Bin = Sell(Put, StrikePut, MyMaturity, 1, GroupN);
end;
end;