Announcement

Collapse
No announcement yet.

Confrontare il Profitto

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Confrontare il Profitto

    Ragazzi mi serve un aiuto ho fatto questa funzione

    HTML Code:
    extern double MaxOrderLoss = - 0.02;//Max Loss void
    void RiskOfProfit(double maxRisk )
    {
    for(int i=0; i<OrdersTotal();i++)
    {
    if(OrderSelect(0, SELECT_BY_POS)==true)
    { Comment("Profit for the open order",OrderProfit());
    Print("Profit for the open order",OrderProfit());
    if (OrderProfit()>= maxRisk){
    CloseAll();
    Print ("Chiuso tutto");
    }
    }
    else
    Print("OrderSelect returned the error of ",GetLastError());
    }
    Praticamente vorrei che se la perdita delle posizioni aperte è > di MaxOrderLoss mi chiuda tutte le posizioni aperte ora ho queste difficoltà:
    1)
    a volte mi da questo formato
    "2020.10.22 16:14:41.625 2019.09.18 23:00:00 Moving Averages Levels Temp GBPAUD.c,M15: Profit for the open order-0.05" che sarebbe quello corretto
    e a volte mi da questo(nello stesso test):
    "2020.10.22 16:14:41.542 2019.09.18 22:30:00 Moving Averages Levels Temp GBPAUD.c,M15: Profit for the open order-0.07000000000000001"come mai?
    2)
    io vorrei fare in modo che invece di assegnare a "MaxOrderLoss " un numero negativo tipo -0.02 ma assegnarli un numero senza segno 0.02 e vorrei che il confronto venga fatto lo stesso anche se la funzione restituisce un valore negativo.
    Avete idee grazie!




    #2
    io farei così:
    1) imposti una variabile che somma tutti i trade, vincenti e perdenti, che convivono aperti a mercato, es. double sommaTradeperdenti come somma del valore corrente di tutti i trade aperti

    2) fatta la somma cambi di segno moltiplicando il valore per (-1)

    3) infine, avendo impostato una variabile double MaxPerdita con un valore scelto da te > 0 , ad ogni tick o ad ogni avvio di barra metti un IF "se sommaTradeperdenti >=MaxPerdita allora chiudi tutti i trade"


    SE sommaTradeperdenti > 0 --> (-1)*sommaTradeperdenti è < 0 e quindi sommaTradeperdenti >=MaxPerdita non sarà mai soddisfatta
    SE sommaTradeperdenti < 0 --> (-1)*sommaTradeperdenti è > 0 e quindi sommaTradeperdenti >=MaxPerdita potrebbe venir soddisfatta
    La vita non è un giro di prova, cogli l’attimo..
    Realizzazione per Metatrader4 di trading system, indicatori, pattern grafici, Ottimizzazioni IS-OOS su Forex e CFD, Analisi di Portafoglio .

    Comment

    Working...
    X