Funzione per operare giorni e mesi

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #235698 quote
    Paolo.BPaolo.B
    Participant
    Average

    Ciao Roberto, ho trovato questo codice da te fatto per poter operare e decidere quali giorni e mese utilizzare.

    Mi chiedevo se fosse possibile il mese dividerlo in due.

    Dal 1 al 15 e dal 16 a fine mese.

    Ti ringrazio

    Paolo

    ONCE startT = 000000
    ONCE endT   = 240000
    TimeRef     = OpenTime
    DayRef      = OpenDayOfWeek
    MonthRef    = OpenMonth
    td0         = 1 AND DayRef = 0 AND TimeRef >= startT AND TimeRef <= endT
    td1         = 1 AND DayRef = 1 AND TimeRef >= startT AND TimeRef <= endT
    td2         = 1 AND DayRef = 2 AND TimeRef >= startT AND TimeRef <= endT
    td3         = 1 AND DayRef = 3 AND TimeRef >= startT AND TimeRef <= endT
    td4         = 1 AND DayRef = 4 AND TimeRef >= startT AND TimeRef <= endT
    td5         = 1 AND DayRef = 5 AND TimeRef >= startT AND TimeRef <= endT
    td6         = 1 AND DayRef = 6 AND TimeRef >= startT AND TimeRef <= endT
    tdCond      = td0 OR td1 OR td2 OR td3 OR td4 OR td5 OR td6
    m1          = 1 AND MonthRef = 1
    m2          = 1 AND MonthRef = 2
    m3          = 1 AND MonthRef = 3
    m4          = 1 AND MonthRef = 4
    m5          = 1 AND MonthRef = 5
    m6          = 1 AND MonthRef = 6
    m7          = 1 AND MonthRef = 7
    m8          = 1 AND MonthRef = 8
    m9          = 1 AND MonthRef = 9
    m10         = 1 AND MonthRef = 10
    m11         = 1 AND MonthRef = 11
    m12         = 1 AND MonthRef = 12
    mCond       = m1 OR m2 OR m3 OR m4 OR m5 OR m6 OR m7 OR m8 OR m9 OR m10 OR m11 OR m12
    tdmCond     = tdCond AND mCond
    #235701 quote
    Iván GonzálezIván González
    Moderator
    Legend

    Ciao, puoi aggiungere questo codice al tuo:

    DayOfMonthRef = OpenDay
    firstHalfOfMonth = DayOfMonthRef >= 1 AND DayOfMonthRef <= 15
    secondHalfOfMonth = DayOfMonthRef >= 16 AND DayOfMonthRef <= 31
    
    tdmCondFirstHalf = tdCond AND mCond AND firstHalfOfMonth
    tdmCondSecondHalf = tdCond AND mCond AND secondHalfOfMonth
    #235703 quote
    BobbBobb
    Participant
    New

    Grazie ho provato ma non mi apre nessuna operazione, sicuramente ho sbagliato.

    ho messo queste due nelle mie condizioni — tdmCondFirstHalf — tdmCondSecondHalf

    #235704 quote
    Paolo.BPaolo.B
    Participant
    Average

    Ho provato pure io, ma non apre nulla

    Grazie

    #235710 quote
    Iván GonzálezIván González
    Moderator
    Legend

    Ciao, non apre alcuna posizione perché non è presente alcun ordine di acquisto o vendita nel codice originale…

    #235715 quote
    Paolo.BPaolo.B
    Participant
    Average

    questo è un esempio, ma non riesco a farlo funzionare.

    DEFPARAM CumulateOrders = False

    indicator1 = Average[100](close)
    c1 = (close > indicator1)
    DayOfMonthRef = OpenDay
    firstHalfOfMonth = DayOfMonthRef >= 1 AND DayOfMonthRef <= 15
    secondHalfOfMonth = DayOfMonthRef >= 16 AND DayOfMonthRef <= 31

    tdmCondFirstHalf = tdCond AND mCond AND firstHalfOfMonth
    tdmCondSecondHalf = tdCond AND mCond AND secondHalfOfMonth
    ONCE startT = 000000
    ONCE endT = 240000
    TimeRef = OpenTime
    DayRef = OpenDayOfWeek
    MonthRef = OpenMonth
    td0 = 1 AND DayRef = 0 AND TimeRef >= startT AND TimeRef <= endT
    td1 = 1 AND DayRef = 1 AND TimeRef >= startT AND TimeRef <= endT
    td2 = 1 AND DayRef = 2 AND TimeRef >= startT AND TimeRef <= endT
    td3 = 1 AND DayRef = 3 AND TimeRef >= startT AND TimeRef <= endT
    td4 = 1 AND DayRef = 4 AND TimeRef >= startT AND TimeRef <= endT
    td5 = 1 AND DayRef = 5 AND TimeRef >= startT AND TimeRef <= endT
    td6 = 1 AND DayRef = 6 AND TimeRef >= startT AND TimeRef <= endT
    tdCond = td0 OR td1 OR td2 OR td3 OR td4 OR td5 OR td6
    m1 = 1 AND MonthRef = 1
    m2 = 0 AND MonthRef = 2
    m3 = 1 AND MonthRef = 3
    m4 = 1 AND MonthRef = 4
    m5 = 1 AND MonthRef = 5
    m6 = 0 AND MonthRef = 6
    m7 = 1 AND MonthRef = 7
    m8 = 1 AND MonthRef = 8
    m9 = 0 AND MonthRef = 9
    m10 = 1 AND MonthRef = 10
    m11 = 1 AND MonthRef = 11
    m12 = 1 AND MonthRef = 12
    mCond = m1 OR m2 OR m3 OR m4 OR m5 OR m6 OR m7 OR m8 OR m9 OR m10 OR m11 OR m12
    tdmCond = tdCond AND mCond
    IF c1 and tdmCond and tdmCondFirstHalf and tdmCondSecondHalf THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF

    SET STOP %LOSS 1
    SET TARGET %PROFIT 0.75

    #235716 quote
    Paolo.BPaolo.B
    Participant
    Average

    Funziona solamente se utilizzo dal 1 al 15 o dal 16 al 31, ma insieme non funziona

    Quindi devo solamente utilizzare o — tdmCondFirstHalf — o tdmCondSecondHalf

    Grazie

    #235717 quote
    Paolo.BPaolo.B
    Participant
    Average

    Ciao Ivan, ti ringrazio ho trovato come farlo funzionare.

    #235719 quote
    robertogozzirobertogozzi
    Moderator
    Legend

    Perché le due condizioni non possono entrare a mercato, si escludono a vicenda, altrimenti che senso ha avere suddiviso le quindicine, se va bene qualunque giorno?

    IF c1 and tdmCond and tdmCondFirstHalf and tdmCondSecondHalf THEN
    Iván González thanked this post
Viewing 9 posts - 1 through 9 (of 9 total)
  • You must be logged in to reply to this topic.
ProRealAI ProRealAI New

Stuck on this ProBuilder code?

Describe what this topic is trying to build, in plain English, and ProRealAI writes the ProRealTime™ indicator, screener or system for you.

Available in 7 languages
Try ProRealAI

Funzione per operare giorni e mesi


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
Paolo.B @paolo-b Participant
Summary

This topic contains 8 replies,
has 4 voices, and was last updated by robertogozzirobertogozzi
2 years, 2 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 07/24/2024
Status: Active
Attachments: No files
ProRealCode ProRealCode
Loading...