Sayfa 435/593 İlkİlk ... 335385425433434435436437445485535 ... SonSon
Arama sonucu : 4738 madde; 3,473 - 3,480 arası.

Konu: İDEAL veri terminalinde /Sistem/İndikatör/Robot

  1.  Alıntı Originally Posted by legolas Yazıyı Oku
    arkadaslar selam,

    yine yeniden robot calistirmaya basladim.

    ancak soyle bir sorum var, diyelim 100 lot ile al/sat yapiyorum. ancak reel durum hosuma gitti ve robot islemlerini 5000 lot'a cikarmak istiyorum.

    boyle bir durumda yapilmasi gereken islemler nelerdir?

    "Pozisyon Kontrol" ekraninda manual degistirebilirim ancak SAT sinyali verince sanki hata yermisim gibime geliyor.

    selam,

    iki yöntemle yapabilirsiniz:

    birinci yöntem:
    1-aradaki fark kadar pozu elle açın. (100 lot ile oynuyorsanız ve son yön A ise 4900 alın elle.)
    2-pozisyon kontrol bölümündeki ilgili anahtarınızı güncel rakam ile değiştirin. (anahtarı 5000 yapın.)


    ikinci yöntem:
    emir gönder işlemlerinizi robotda kendiniz yazdıysanız;
    1- ilgili kısımda aşağıdakine benzer bir kod düzenlemesi yapın.
    2- lot değişikliği gerektiğinde; paramdaki lotu değiştirirseniz sonraki ilk sinyalde sistem kendisi ayarlar herşeyi otomatik. özetle kodlarınız aşağıdaki gibi ise sadece 100 değerini 5000 yapıyorsunuz bu kadar.
    kodu denemedim, fikir vermesi için yazdım.

    ayrıca:
    tek satır robot kodu kullanıyorsanız, sadece koddaki lotu değiştirmeniz yeterli olabilir, yani pozla hiç oynamadan sadece koddaki lotu düzenleyeceksiniz. ikinci yöntemde kodladığımız mantığın aynısı.
    tek satır robot kodu kullanan arkadaşlar var ise onlar teyit edebilirler bunu.

    PHP Code:
    var Lot Convert.ToInt32(Sistem.Parametreler[3]);   // Düzenleyin!
    var Pozisyon Sistem.PozisyonKontrolOku("Anahtar"); // Düzenleyin!

    if (
         
    SonYon == "A" && Pozisyon <= 0
       
    )
    {
    double EmirLot = ((Pozisyon == 0) ? Lot : (Lot Math.Abs(Pozisyon)));
    Sistem.PozisyonKontrolGuncelle("Anahtar"Lot); // Düzenleyin!

    Sistem.EmirIslem "Alış";
    Sistem.EmirMiktari EmirLot;
    //Diğer emir kodlarını ekleyin buralara.
    Sistem.EmirGonder();
    }

    else 
    if (
         
    SonYon == "S" && Pozisyon >= 0
       
    )
    {
    double EmirLot = ((Pozisyon == 0) ? Lot : (Lot Math.Abs(Pozisyon)));
    Sistem.PozisyonKontrolGuncelle("Anahtar", -Lot); // Düzenleyin!

    Sistem.EmirIslem "Satış";
    Sistem.EmirMiktari EmirLot;
    //Diğer emir kodlarını ekleyin buralara.
    Sistem.EmirGonder();
    }

    else 
    if (
         
    SonYon == "F" && Pozisyon != 0
       
    )
    {
    double EmirLot Math.Abs(Pozisyon);
    string EmirYon = ((Pozisyon 0) ? "Satış" "Alış");
    Sistem.PozisyonKontrolGuncelle("Anahtar"0);  // Düzenleyin!

    Sistem.EmirIslem EmirYon;
    Sistem.EmirMiktari EmirLot;
    //Diğer emir kodlarını ekleyin buralara.
    Sistem.EmirGonder();

    Son düzenleme : Hector Salamanca; 19-05-2020 saat: 02:33.

  2.  Alıntı Originally Posted by legolas Yazıyı Oku
    arkadaslar selam,

    yine yeniden robot calistirmaya basladim.

    ancak soyle bir sorum var, diyelim 100 lot ile al/sat yapiyorum. ancak reel durum hosuma gitti ve robot islemlerini 5000 lot'a cikarmak istiyorum.

    boyle bir durumda yapilmasi gereken islemler nelerdir?

    "Pozisyon Kontrol" ekraninda manual degistirebilirim ancak SAT sinyali verince sanki hata yermisim gibime geliyor.
    Tek satir robot kullandiginizi farz ediyorum. Hisse tek satir robotu hic kullanmadim ancak VIOP30 icin olabilecekleri yazabilirim. VIOP Tek satir robot kodunda bir ayarlama yapmadan sadece "Pozisyon Kontrol" sekmesindeki pozisyon miktarini 5000 yaparsaniz (SonYon="A" olsun) bar kapanisiyla robot -4900 lot satip pozisyon degerini tekrar 100 lota cekmek isteyecektir. Islem gerceklesirse reel pozisyonunuz -4800 lot olurken ancak "Pozisyon Kontrol" sekmesinde "100" gorunecektir.

    VIOP Pozisyon miktarini 100 den 5000 e artirmak icin onerebilecegim adimlar:

    1- Sonyon="A" iken
    2- Robot Aksiyonu "Yok" konumuna alin
    3- "Pozisyon Kontrol" altinda miktar "100" oldugunu teyit edin
    4- Tek satir kod icerisindeki miktari "5000" olarak degistirip kaydedin
    5- Robotu "Sanal" modda callistirip bar kapanisyla "4900" lot sanal alis emri tetiklendigini teyit edin
    6- Daha sonra robot aksiyonunu yeniden "Yok" konumuna alip pozisyon miktarini elle "100" e ayarlayin
    7- Robot "Gercek" modda calistirdiginizda "4900" lot gercek alis emri iletilecektir
    8- "Gercek" modda tuttugunuz surece Robot pozisyon buyuklugunuz "5000" lot olacak bicimde islemlere devam edecektir.

    Yukardaki adimlari hisse robotunuza AL konumundayken uygularsaniz benzeri davranis goreceginiz tahmin ediyorum. 5. adimdaki sanal aksiyon teyiti almadan gercek moda cekmeyiniz. Robotu sanal modda dikkatlice gozlemleyip istediginizi yapacagindan emin olmadikca gercek moda almanizi tavsiye ederim.

  3. #3475
    cok tesekkurler arkadaslar.

  4. Soru sorma furyasına bende katılmak istiyorum.

    Aşağıdaki tradingwiev kodunu ideal e çevirmem lazım ama özellikle "nz" ile başlayan kısmı anlamlandıramadım. Teşekkür ederim.

    x = n
    y = close
    m(c,d) =>
    p = morph * c+ (1-morph) * d
    k = nz(m(k[length],y),y)

  5.  Alıntı Originally Posted by automatic Yazıyı Oku
    Soru sorma furyasına bende katılmak istiyorum.

    Aşağıdaki tradingwiev kodunu ideal e çevirmem lazım ama özellikle "nz" ile başlayan kısmı anlamlandıramadım. Teşekkür ederim.

    x = n
    y = close
    m(c,d) =>
    p = morph * c+ (1-morph) * d
    k = nz(m(k[length],y),y)
    nz

    Bir dizideki NaN değerlerini sıfırlarla (veya verilen değerle) değiştirir.

    https://tr.tradingview.com/pine-scri...erence/#fun_nz

    https://www.mql5.com/en/forum/340210

  6. formul toplamini hesaplamak alistirmasi

    Yardim, basit bir geriye donuk ortalama sonucunu ekrana basamadim.

    var V = Sistem.GrafikVerileri;
    var C = Sistem.GrafikFiyatSec("Kapanis");

    var C1 = Sistem.Ref(C,-1);// onceki barlari hesaplar
    var C2 = Sistem.Ref(C,-2);
    var C3 = Sistem.Ref(C,-3);
    var C4 = Sistem.Ref(C,-4);
    var C5 = Sistem.Ref(C,-5);
    var C6 = Sistem.Ref(C,-6);
    var C7 = Sistem.Ref(C,-7);
    var C8 = Sistem.Ref(C,-8);

    var Toplam = Sistem.Liste(0); //TREND YONU KAPANIS LISTESI


    for (int i = 1; i < V.Count; i++) //
    {
    X3 = Math.Pow(C[i],3) / (C[i]*C1[i]*C2[i]);
    X5 = Math.Pow(C[i],5) / (C[i]*C1[i]*C2[i]*C3[i]*C4[i]);
    X7 = Math.Pow(C[i],7) / (C[i]*C1[i]*C2[i]*C3[i]*C4[i]*C5[i]*C6[i]);
    X9 = Math.Pow(C[i],9) / (C[i]*C1[i]*C2[i]*C3[i]*C4[i]*C5[i]*C6[i]*C7[i]*C8[i]);
    Toplam = C[i]-x3[i]+x5[i]-x7[i]+x9[i] ; // CALISMIYOR HATA VERIYOR, YAPAMADIM. buradaki toplam degeri ortalamasini indikatore alacagim
    }
    Sistem.Cizgiler[0].Deger = Toplam ;
    aldigim hata ise;

    error CS0103: 'X3' adı geçerli içerikte yok
    error CS0103: 'X5' adı geçerli içerikte yok
    error CS0103: 'X7' adı geçerli içerikte yok
    error CS0103: 'X9' adı geçerli içerikte yok
    error CS0103: 'x3' adı geçerli içerikte yok
    error CS0103: 'x5' adı geçerli içerikte yok
    error CS0103: 'x7' adı geçerli içerikte yok
    error CS0103: 'x9' adı geçerli içerikte yok

  7. X1 leri yukarıya Toplam gibi Sistem.Liste(0) olarak tanımlaman gerekli Büyük küçük harfe dikkat edin

    (C*C1*C2) yerine (C[i-1]*C[i-2]*C[i-3]) şeklinde yaparak deneyin.

  8.  Alıntı Originally Posted by ozmen Yazıyı Oku
    X1 leri yukarıya Toplam gibi Sistem.Liste(0) olarak tanımlaman gerekli Büyük küçük harfe dikkat edin

    (C*C1*C2) yerine (C[i-1]*C[i-2]*C[i-3]) şeklinde yaparak deneyin.
    X3[i] = (float) Math.Pow(C[i],3)/(C[i]*C1[i]*C2[i]);

    Seklinde yazilmaliymis, tesekkur ederim. Xleri de kucuk yazmisim.

Sayfa 435/593 İlkİlk ... 335385425433434435436437445485535 ... SonSon

Yer İmleri

Yer İmleri

Gönderi Kuralları

  • Yeni konu açamazsınız
  • Konulara cevap yazamazsınız
  • Yazılara ek gönderemezsiniz
  • Yazılarınızı değiştiremezsiniz
  •