ObjectCreate2012-12-18T12:48:46+00:00

Címkézve: ,

5 bejegyzés megtekintése - 1-5 / 5
  • Szerző
    Bejegyzés
  • Tamás
    Tag
    Bejegyzések száma: 2

    Szia Radu!
    OBJ_HLINE vonalakat szeretnék létrehozni experttel/indikátorral amikor a charthoz csatolom úgy, hogy ne várjon thicket hanem egyből jelenjen meg. Amennyiben kézzel odébb húzom a vonalakat és idősíkot váltok, ne ugorjanak alapértelmezett szintre de ha eltávolítom az expertet a chartról akkor tűnjenek el a vonalak. Ha véletlenül letörlöm kézzel a vonalat, akkor az első thickre rajzolja újra alapértelmezett szintre.
    valami ilyesmi:
    int init()
    ObjectCreate…
    int deinit()
    ObjectDelete („xy”); itt gondok valamilyen trükkre, hogy ne törölje idősík váltáskor is
    int start()
    if (ObjectFind(„xy”) == -1) ObjectCreate…

    Radulovic Attila
    Tag
    Bejegyzések száma: 646

    Az ObjectDelete deinit-ben teljesen jó megoldás. Az idősíkváltásnál a törlés elkerülésére az UninitializeReason() függvény lehet a segítségedre, amely alapján lekérdezhető hogy a legutóbbi init-deinit oka mi volt pontosan.

    Annyit csinálj meg, hogy a függvény visszatérési értékét megnézed;ha az értéke eltér a REASON_CHARTCHANGE -től, akkor mehet a törlés.

    Az objektumrajzolásra érdemes saját függvényt létrehozni, amely megfelelően paraméterezve a későbbi fejlesztéseidet egyszerűsíti le.

    Tamás
    Tag
    Bejegyzések száma: 2

    Köszönöm, működik 🙂

    Kellemes Karácsonyt és Boldog Új Évet kívánok!

    RoBot
    Tag
    Bejegyzések száma: 26

    Hello Radu!

    for(i=1;i<=20;i++){
    if(iHigh(Symb,PERIOD_D1,i)-Bid<=0.0015){
       bool Ellenállás_D1=True;
       ObjectCreate("Ellenállás_D1",OBJ_HLINE,0,iTime(Symb,PERIOD_D1,i),iHigh(Symb,PERIOD_D1,i),0,0,0,0);
       ObjectMove("Ellenállás_D1",0,iTime(Symb,PERIOD_D1,i),iHigh(Symb,PERIOD_D1,i));}}
    

    Problémám a következő: Visszafele számolva valamiért a 20.gyertya high értékéhez teszi a vonalat.
    Azt szeretném megoldani, hogy a 20 megvizsgált gyertya küzül ahoz tegye amelyiknek a legközelebb van a high értéke az éppen aktuális piaci értékhez képest. (0.0015 pippen belűl)

    Válaszodat előre is köszönöm!

    Radulovic Attila
    Tag
    Bejegyzések száma: 646

    Nem igazán értem a programod logikáját, de a lényeg:

    1. keresd ki iHighest(Symbol(), Period(), MODE_HIGH, 20, 1) segítségével a legmagasabb gyertyát
    2. a gyertya high értékét (iHigh) vond ki az aktuális árból, így megkapod hogy a legmagasabb pont 15 pipen belül van-e
    3. utána rajzolj objektumot
5 bejegyzés megtekintése - 1-5 / 5

A hozzászóláshoz jelentkezz be!

Adhatok Neked még több ingyenes tartalmat?

Értesítelek hetente megjelenő új tartalmaimról.

Hozzájárulok, hogy az adatvédelmi nyilatkozat szerint biztonságosan kezeld megadott adataimat, valamint hasznos anyagokat és egyedi ajánlatokat küldj nekem termékeiddel, szolgáltatásaiddal kapcsolatban e-mailben