Hozzászólások
-
SzerzőBejegyzés
-
Hozzászólás: Külső változó intervallumának leszűkítése #3469
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.
Hozzászólás: Függő megbízás adott időben #3456A 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.
Hozzászólás: Függő megbízás adott időben #3408Kö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?Hozzászólás: Függő megbízás adott időben #3405Most, 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é…
Hozzászólás: Függő megbízás adott időben #3400Köszi szépen a részletes választ, ezen most akkor átrágom magamat :-)
Hozzászólás: Függő megbízás adott időben #3378Bocs, 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
-
SzerzőBejegyzés