Hozzászólások

6 bejegyzés megtekintése - 1-6 / 6
  • Szerző
    Bejegyzés
  • ghipszjakab
    Tag
    Bejegyzések száma: 8

    Köszi a válaszokat, valahogy abból, hogy nem találkoztam én sem kész experttel amelyiknél valahogy limitálta volna már az Input ablakban a bevitelt, sejtettem, hogy nem lehet.

    ghipszjakab
    Tag
    Bejegyzések száma: 8

    A kód az csak annyi amit fentebb már beírtam. Tehát ott van a gond, hogy mint látszik az Ora változó az GMT, de mindegy, hogy mikor indítom a tesztert rögtön kihelyezi a két ordert. Ha élő charton futtatom ott nem, csak a stratégia teszterben.

    ghipszjakab
    Tag
    Bejegyzések száma: 8

    Köszi szépen a további részletes infókat! TE tetted, magadra vess, ezért most jönnek a további nyaggatások :-).
    Valóban, a TimeGMT is lokális időből van származtatva, tehát nem jó. Pont az általad felsoroltak miatt akartam teljesen kizárni a helyi gép idejét (mindegy milyen változatáról lenne is szó)

    Közben egy furcsa dologba futottam a Meta Stratégia tesztere kapcsán. Nem tudom, hogy mi lehet az oka, de hosszú ideig azt hittem, hogy valami hiba van a kódban.
    Ugyanis ahogy a teszter elindul, rögtön kihelyezi a két ordert függetlenül attól, hogy az idő nem jött el. Élő charton fut rendesen, de nyilván, hogy ne mind kelljen állítgatnom a belépési időt, gondoltam, hogy futtatom a teszterben. FxPro-s Demo Meta.
    Ugyanakkor pedig mindegyik időre a Comment azt írja, hogy egyenlő, pld 11 óra. Mi a szösz lehet?

    ghipszjakab
    Tag
    Bejegyzések száma: 8

    Most, hogy átnéztem a kód részletet amit szíveskedtél leírni és részletezni, kicsit több tudással, újból kérdezek. Előbb egy tévedésemet szeretném kijavítani ami a GMT időt illeti (elnézést a pontatlanságért). Pont hogy a szerver nem GMT, (amúgy a TimeLocal nyilván nem, ha magyar időzónában fut az expertes gép) de a megbízások mindenképpen GMT idő szerint kell kikerüljenek. Ezért gondolom, hogy csak a TimeGMT függvénnyel lehet boldogulni, így nem használható a sima Hour() valamint a TimeLocal és TimeCurrent függvény sem.

    A szemaforos megoldás valóban nagyon jó, egy kicsit meghaladja a tudásomat, ezért nem is fordult meg a fejemben.

    Én egy ilyen kivitelezést készítettem:

     
               // Ha ez a függvény lefutott, akkor törölt minden régi megbízást, 
               // és mehet a dolog a két új order irányába..ha nem járt le akkor meg majd a következő 
               // if miatt nem fog új ordereke elhelyezni 
                  Lejart_az_Ido();                                         
                                                        
                  int Ora  = TimeHour( TimeGMT() );
                  int Szerver_Ido =  TimeHour( TimeCurrent( ) );
                  int Local_Ido   = TimeHour( TimeLocal( ) );
               // Ha "ütött az óra", azaz a GMT idő óra komponense megegyezik a megadott óra       változóval,
               // és nincsen sem OP_BUYSTOP sem OP_SELLSTOP akkor...
                  if( Ora == Entry_Hour && Buy_Stop_Darab == 0 && Sell_Stop_Darab == 0 )
                       {
                         Print( "TIME HOUR. GMT: ", Ora, " SERVER: ", Szerver_Ido, " LOCAL: ", Local_Ido );
                         Stop_Limitek_Elhelyezese();
                       }
    

    Úgy találtam, hogy ezzel a megoldással leszűkül pont 1 órányira az az időperiódus, amíg kihelyezheti az ordereket. Egyébként ha mondjuk valamikor délután indítanám az expertet, akkor is nagyobb lenne az Óra komponens, így akkor is kihelyezné…

    ghipszjakab
    Tag
    Bejegyzések száma: 8

    Köszi szépen a részletes választ, ezen most akkor átrágom magamat :-)

    ghipszjakab
    Tag
    Bejegyzések száma: 8

    Bocs, elfelejtettem beírni, hogy eddig mivel próbálkoztam.

     if( TimeHour( TimeCurrent( ) ) < Entry_Hour  ) 
                                { és ebbe tettem azt amit szeretnék } Ezzel megvizsgáltam, hogy legalább órára egyezzen a 
6 bejegyzés megtekintése - 1-6 / 6