Hocam çok teşekkür ederim. Gönderdiğiniz kodu ben değiştiremedim daha doğrusu yapamadım. Kodun hangi yerini değiştireceğimi bulamadım
Printable View
merhaba aşağıda tradingviewde kullandığım solar winds indikatörünü idealdata ya çevirebilirmisiniz.
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © theic
//@version=4
study("Solar Winds")
period = input(35, title="Period")
solar(per) =>
highval = highest(high, per)
lowval = lowest(low, per)
price = (high + low) / 2
val1 = 0.0
val1 := 0.66 * ((price - lowval) / (highval - lowval) - 0.5) + 0.67 * nz(val1[1])
val2 = val1 > 0.99 ? 0.999 : val1 < -0.99 ? -0.999 : val1
sol = 0.0
sol := 0.5 * log((1 + val2) / max(1 - val2, 0.001)) + 0.5 * nz(sol[1])
solar_buff = solar(period)
signal_up = false
signal_down = false
level = 0
msg_text = "None"
color_hist = (solar_buff > level ? color.green : color.red)
if nz(solar_buff[1]) < level and solar_buff > level
signal_up := true
color_hist := color.yellow
if nz(solar_buff[1]) > level and solar_buff < level
signal_down := true
color_hist := color.yellow
alertcondition(condition = signal_up, message = "{{ticker}}, Signal UP", title = "Solar Cross Up")
alertcondition(condition = signal_down, message = "{{ticker}}, Signal DOWN", title = "Solar Cross Down")
plot(series = solar_buff, style = plot.style_histogram, color = color_hist, linewidth = 4)
plot(series = solar_buff, style = plot.style_line, color = color_hist, linewidth = 4)
PHP Code:
var v = Sistem.GrafikVerileri;
int count = v.Count;
int period = 20;
var hh = Sistem.HHV(period);
var ll = Sistem.LLV(period);
var price = Sistem.GrafikFiyatSec("OrtaNokta");
var val1 = Sistem.Liste(count);
var val2 = Sistem.Liste(count);
var sol = Sistem.Liste(count);
for (int i = 1; i < count; i++)
{
val1[i] = hh[i] == ll[i] ? val1[i - 1] : 0.66f * ((price[i] - ll[i]) / (hh[i] - ll[i]) - 0.5f) + 0.67f * val1[i - 1];
val2[i] = val1[i] > .99f ? .999f : val1[i] < -.99f ? -.999f : val1[i];
sol[i] = .5f * (float)(Math.Log((1 + val2[i]) / Math.Max(1 - val2[i], .001f))) + .5f * sol[i - 1];
}
var colors = new List<Color>(count);
for (int i = 0; i < count; i++)
if (sol[i] > 0) colors.Add(Color.Green);
else colors.Add(Color.Red);
Sistem.Cizgiler[0].Deger = sol;
Sistem.Cizgiler[0].RenkListesi = colors;
Sistem.Cizgiler[0].Stil = 5;
Merhaba arkadaşlar. Algoritma konusunda acemiyim. Tradingview'de bir şeyler yapabiliyorum. Ancak İdeal Robot bilgim çok zayıf. Tradingview'de Tilson T3 isimli kısa kodlu bir gösterge var. Bunu iDEAL'e çevirebilecek arkadaşa şimdiden çok teşekkür ederim. "Balık tutmayı öğrenmem" açısından sonraki çalışmalarım için nasıl yapıldığını, kolay bir yolu varsa tarif ederseniz memnun olurum.
İyi günler, hayırlı kazançlar...
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © StalexBot
//@version=4
study("Tilson T3", overlay=true)
b = input(title="Factor", defval=0.7, type=input.float)
c1 = -b*b*b
c2 = 3*b*b+3*b*b*b
c3 = -6*b*b-3*b-3*b*b*b
c4 = 1+3*b+b*b*b+3*b*b
//T3 calcs end
t3(len) => c1 * ema(ema(ema(ema(ema(ema(close, len), len), len), len), len), len) + c2 * ema(ema(ema(ema(ema(close, len), len), len), len), len) + c3 * ema(ema(ema(ema(close, len), len), len), len) + c4 * ema(ema(ema(close, len), len), len)
t3plot = t3( input(title="Period", defval=7))
linewidth = input(title="Linewidth", defval=3)
colorsetting = input(title="Solid color", defval=false, type=input.bool)
plot(t3plot, color = colorsetting ? color.aqua : t3plot > t3plot[1] ? color.green : color.red, linewidth=linewidth)
/////////// Tillson_T3
var period = 9;
float a = 0.71f;
var C = Sistem.GrafikFiyatSec("Kapanis");
var H = Sistem.GrafikFiyatSec("Yuksek");
var L = Sistem.GrafikFiyatSec("Dusuk");
var x = Sistem.Liste(0);
for (int i=1; i < Sistem.BarSayisi; i++)
x[i] = (H[i]+L[i]+2*C[i])/4;
var e1 = Sistem.MA(x, "Exp", period);
var e2 = Sistem.MA(e1, "Exp", period);
var e3 = Sistem.MA(e2, "Exp", period);
var e4 = Sistem.MA(e3, "Exp", period);
var e5 = Sistem.MA(e4, "Exp", period);
var e6 = Sistem.MA(e5, "Exp", period);
var c1 = -a * a * a;
var c2 = 3 * a * a + 3 * a * a * a;
var c3 = -6 * a * a - 3 * a -3 * a * a * a;
var c4 = 1 + 3 * a + a * a * a + 3 * a * a;
var T3 = Sistem.Liste(Sistem.BarSayisi, 0);
for (int i = 1; i<Sistem.BarSayisi; i++)
T3[i] = c1 * e6[i] + c2 * e5[i] +c3 * e4[i] + c4 * e3[i];
Sistem.Cizgiler[0].Deger = T3;
Sistem.Cizgiler[0].Aciklama = "T3";
Hızlı ve olumlu cevabınız için çok teşekkür ederim. Bu kod ile İdeal'de sistem oluşturduğumda bir hata mesajı çıkıyor (DerlemeHatası):
c:\Users\mkara\AppData\Local\Temp\04pdcrm0.0.cs(12 ,45) : error CS1010: Sabitte satır başı karakteri
c:\Users\mkara\AppData\Local\Temp\04pdcrm0.0.cs(12 ,45) : error CS1012: Karakter sabiti değerinde çok fazla karakter var
c:\Users\mkara\AppData\Local\Temp\04pdcrm0.0.cs(12 ,18) : error CS1514: { bekleniyor
c:\Users\mkara\AppData\Local\Temp\04pdcrm0.0.cs(12 ,18) : error CS1519: class, struct veya interface üyesi bildiriminde geçersiz '-' belirteci
c:\Users\mkara\AppData\Local\Temp\04pdcrm0.0.cs(12 ,19) : error CS1520: Yöntemin bir dönüş türü olmalıdır
c:\Users\mkara\AppData\Local\Temp\04pdcrm0.0.cs(12 ,45) : error CS1001: Tanımlayıcı bekleniyor
Çözüm için tekrar yardım lütfen...
hata yok
kopyala yapıştırda eksik almış olabilirsiniz.
https://r.resimlink.com/kQajxe2l7.pngKod://///////// Tillson_T3
var period = 9;
float a = 0.71f;
var C = Sistem.GrafikFiyatSec("Kapanis");
var H = Sistem.GrafikFiyatSec("Yuksek");
var L = Sistem.GrafikFiyatSec("Dusuk");
var x = Sistem.Liste(0);
for (int i=1; i < Sistem.BarSayisi; i++)
x[i] = (H[i]+L[i]+2*C[i])/4;
var e1 = Sistem.MA(x, "Exp", period);
var e2 = Sistem.MA(e1, "Exp", period);
var e3 = Sistem.MA(e2, "Exp", period);
var e4 = Sistem.MA(e3, "Exp", period);
var e5 = Sistem.MA(e4, "Exp", period);
var e6 = Sistem.MA(e5, "Exp", period);
var c1 = -a * a * a;
var c2 = 3 * a * a + 3 * a * a * a;
var c3 = -6 * a * a - 3 * a -3 * a * a * a;
var c4 = 1 + 3 * a + a * a * a + 3 * a * a;
var T3 = Sistem.Liste(Sistem.BarSayisi, 0);
for (int i = 1; i<Sistem.BarSayisi; i++)
T3[i] = c1 * e6[i] + c2 * e5[i] +c3 * e4[i] + c4 * e3[i];
Sistem.Cizgiler[0].Deger = T3;
Sistem.Cizgiler[0].Aciklama = "T3";
ideal içine indikatör olarak konulmuş
kod yazmaya da gerek kalmamış
/////////// Tillson_T3
Kod:var T3 = Sistem.TillsonT3(9, 0.618) ;
Sistem.Cizgiler[0].Deger = T3;
Sistem.Cizgiler[0].Panel = 1;
Sistem.Cizgiler[0].Aciklama = "T3";
Hata yapmadım ama programda bir problem var gibi. İçinde gömülü sistemleri deniyorum. Onlarda da benzer hataları veriyor.
Sistem tanımlamadan kodu farklı kaydetmek yetiyor mu? Stratejiye dönüştürme vs yapıyor musunuz? Çok zahmet olmazsa birkaç ekran görüntüsü paylaşabilir misiniz?
Teşekkürler...
Mesajlarım mükerrer çıkmış. Fakat mesaj numarası aynı. Bir yerde hata var.
Teşekkür ederim. Onu da bir ara görmüştüm. Ancak bunu sisteme dönüştürüp optimizasyon, performans bakmak istiyorum. Yapamadım. Ancak İndikatör menüsünün en altında "robot ekle" seçeneği var. Onu yapabildim. Fakat dediğim gibi optimizasyon, performans bakmak istiyorum, olmadı.
Çok zahmet verdim. Kusura bakmayın.
ideal kalsörü içinde config içinde videolar dosyası olması lazım.
içindekiler..
iDeal Tanıtım Video;http://www.directfn.com.tr/ideal/Egi...ealtanitim.wmv
iDeal Veri Terminali Genel Kullanım Eğitimi Video;https://www.youtube.com/watch?v=vFwyrUmrfcQ
Portföy Penceresi: Kurum Hesabına Giriş ve İşlem Yapmak Video;https://www.youtube.com/watch?v=d3YBRdTwJhg
Para Robotu Kurulumu Video;https://www.youtube.com/watch?v=RV1dPMA9y_w
Para Robotu Eğitimi Video;https://www.youtube.com/watch?v=0x4GQ-zkKI8
Para Robot Video;https://www.youtube.com/watch?v=RV1dPMA9y_w
Patern Analizi ve Robotik Algoritmalar Uygulaması Paradise Versiyonu Video;https://www.youtube.com/watch?v=YtXgZZ5vS-Q
Para Uygulaması için Estore Üzerinden Lisans Ekleme Video;https://www.youtube.com/watch?v=MqsOhRhHImo
Sıfırdan Sistem Yazma ve Pratik Sistem Kod Kalıbı Video;https://www.youtube.com/watch?v=hIYN781YK0Y
Sistem Formülünden Sorgu Formülü Elde Etmek Video;https://www.youtube.com/watch?v=2aTaE2PT4Sk
Yazılan Sistemin Optimizasyon Kodu Nasıl Yazılır? Video;https://www.youtube.com/watch?v=pRqb8A4yq30
Kar-Al ve Stop Ekleme / Performans Görüntüleme Video;https://www.youtube.com/watch?v=0Lp_Rn7Wsd4
Örnek Bir Sistem Yazmak Video;https://www.youtube.com/watch?v=bIjSROkND-Y
Listeler ve Döngüler Video; https://www.youtube.com/watch?v=FpefgY9Q8dw
Koşullar ve if Kurguları Video;https://www.youtube.com/watch?v=BLs2SAwQEJ8
Değişkenler Video;https://www.youtube.com/watch?v=fOH2_re2mFc
Sistem Kaydetme ve Sistem Araçları Video;https://www.youtube.com/watch?v=uuhp7awdqVM
Kendi İndikatör ve Sorgularınızı Tarama Modülünde Kullanmak Video;https://www.youtube.com/watch?v=WVYzRe_Olyw
iDeal Tarama Robotu Video;https://www.youtube.com/watch?v=ez5md5FzZe8
Tarama Modülü Video;https://www.youtube.com/watch?v=cSBX5Vir2wM
Kurum işlemlerinin canlı Teknik Analizi Video;https://www.youtube.com/watch?v=ZogCx0ia9o4
Alan Satan Aktivite Penceresi 1 Video;https://www.youtube.com/watch?v=DGiRDcwIP2s
Alan Satan Aktivite Penceresi 2 Video;https://www.youtube.com/watch?v=KI2dpIcoMHE
Alan Satan Aktivite Penceresi 3 Video;https://www.youtube.com/watch?v=SbKmIn2QD98
KEP: Kademeli Emir Penceresi ile Hızlı İşlem Yapmak Video;https://www.youtube.com/watch?v=y61kShrKPOg
Kolay Al-Sat için Yeni Kep Penceresi Video;https://www.youtube.com/watch?v=2FDkJuRb1QE
RoboKEP ile Kar Al, Stop ve İzleyen Stop'lu Emir Girmek Video;https://www.youtube.com/watch?v=ciEt3TOU3c4
Viop aktif (Yakın) Vade Kodları Video;https://www.youtube.com/watch?v=w4RxzphpXY8
Viop Şartlı Emir Nasıl Girilir Video;https://www.youtube.com/watch?v=umYg75FPsnI
Viop Yüzeysel Filtre Penceresi 1 Video;https://www.youtube.com/watch?v=t7CwftuAKq0
Viop Yüzeysel Filtre Penceresi 2 Video;https://www.youtube.com/watch?v=9AwLrgtj5mw
Stop Emir Yöntemleri 1 Grafik Alarmları Video;https://www.youtube.com/watch?v=B_PJO8W5lVE
Stop Emir Yöntemleri 2 ideAlgo Ototrade Video;https://www.youtube.com/watch?v=RdK3sPXx-Zw
Stop Emir Yöntemleri 3 Zincir Emir Kullanmak Video;https://www.youtube.com/watch?v=VlJUId0uPbw
Favori İndikatörler Özelliği ve Multi-MA Video;https://www.youtube.com/watch?v=mbtzErV2Gpo
Otomatik Trend / Fibo ve High-Low Seviyeleri Çizmek Video;https://www.youtube.com/watch?v=IDpdqbPKauU
Grafiksel Getiri Analizi Video;https://www.youtube.com/watch?v=kZT2Xdgz9Cs
Zaman Satış Analizi ve Filtreleme Video;https://www.youtube.com/watch?v=84pE0GGSbzk
Haber Penceresi Detayları Video;https://www.youtube.com/watch?v=x00Iyp4SHbI
Derinlik Pencerelerini Kişiselleştirmek Video;https://www.youtube.com/watch?v=_vp7kXdqnv4
Denge/Teorik Eşleşme Fiyatlarını Görme Video;https://www.youtube.com/watch?v=_vp7kXdqnv4
Grafiklerle İlgili Yararlı Bilgiler 1 Video;https://www.youtube.com/watch?v=FjCb-XJdJGY
Grafiklerle İlgili Yararlı Bilgiler 2 Video;https://www.youtube.com/watch?v=Vjv2n4yYly8
Grafik Çalışmalarını Kaydetmek Video;https://www.youtube.com/watch?v=Pzleo-6OHnI
Grafikleri Default Kaydetme ve Paternler Video;https://www.youtube.com/watch?v=rKDuHSej6Nk
Grafiklerde Trend ve İndikatör Kullanımı Video;https://www.youtube.com/watch?v=FGQhu_-xLAU
Grafik Üzerinde Kademe Analizini Görme Video;https://www.youtube.com/watch?v=mCohigX0h-c
Grafikler Üzerinde Canlı Derinlik Takibi Video;https://www.youtube.com/watch?v=egImFSZcflc
Grafiklere Bar veya Bölge/Patern Ekleme Video;https://www.youtube.com/watch?v=LpavvZskVV8
Grafik Araç Çubukları Video; https://www.youtube.com/watch?v=8JDJsC4kSrU
Grafik Üzerinden Emir Girmek, İptal ve İyileştirme Yapmak Video;https://www.youtube.com/watch?v=F-93GHlEAFw
Grafik Çalışmalarını Kaydetmek ve Aralarında Geçiş Yapmak Video;https://www.youtube.com/watch?v=w_v-RmGmk-Q
Grafikler Arasında Geçiş ve Döngü Video;https://www.youtube.com/watch?v=p7plwLVZfCA
Trend Çizim Araçlarını Kullanmak Video;https://www.youtube.com/watch?v=awUBSyQiylk
Trendlere Alarm Tanımlama - Otomatik Emir Bağlama Video;https://www.youtube.com/watch?v=pZF6FtNx2QM
Trendlere Zincir Trend Bağlamak Video;https://www.youtube.com/watch?v=ub3DJmEOF8s
Indikatörlere Alarm Kurmak, Otomatik Emir Bağlamak Video;https://www.youtube.com/watch?v=I1Qnx2vF3JM
İndikatör Ekleme ve Parametrelerini Değiştirme Video;https://www.youtube.com/watch?v=bzD1u7e5u0w
X RAY - Para Giriş Çıkışı ve Dağılım Analizi Video;https://www.youtube.com/watch?v=FJi3t2IJkIM
iDeal Grafiklerinde Bar Replay (Barları yeniden oynatma) Video;https://www.youtube.com/watch?v=tdgDE9LNwBc
Takas Analizi Video;https://www.youtube.com/watch?v=Vjv2n4yYly8
Para Giriş Çıkış Analizi Video;https://www.youtube.com/watch?v=wprYz3_1CQ8
Para Giriş Çıkış Grafiği Video;https://www.youtube.com/watch?v=Q_WJ-j3V6sc
Aracı Kurum Dağılımı Video;https://www.youtube.com/watch?v=uKj2cz6-9ew
Excel'e Aktarım ve DDE Link Video;https://www.youtube.com/watch?v=p_ipcbLzyks
Döviz/Sepet/Endeks Bazlı Dönemsel Hisse Getiri Tablosu Video;https://www.youtube.com/watch?v=YH4XUl3iFoo
Varant İzleme Penceresi Video;https://www.youtube.com/watch?v=R8YnYa20Lv4
Temel Analiz Modülü Video;https://www.youtube.com/watch?v=T4SErZ_XLkw
Pencereleri Gruplama Özelliği Video;https://www.youtube.com/watch?v=0O-XZBfEfXI
Multi Derinlik Penceresi Video;https://www.youtube.com/watch?v=xJ-vf9LkTYM
ideAlgo 1: Sistem Tasarlamak Video;https://www.youtube.com/watch?v=eTqPPUF6_cA
ideAlgo 2: Optimizasyon Yapmak Video;https://www.youtube.com/watch?v=iQvQIFTZ8hk
ideAlgo 3: Sistemleri Robotla Bağlamak Video;https://www.youtube.com/watch?v=xc2oNmUfI-g
ideAlgo 4: Sistemlerde Senet Taratmak ve Robota Bağlamak Video;https://www.youtube.com/watch?v=9_FzQmtJttI
ideALgo 5: Sistem Taratma Video;https://www.youtube.com/watch?v=9eN4HyRKPvQ
ideAlgo 6: Ayarlar, Mail ve SMS gönderimleri, Opsiyanel Seçenekler Video;https://www.youtube.com/watch?v=EeFWzdq11YQ
ideAlgo 7: Oto Trade Video;https://www.youtube.com/watch?v=y1R8M6JSKrA
ideAlgo 8: Kendi Formül Sisteminizi Optimize Etmek Video;https://www.youtube.com/watch?v=XdVQDGBj9Zg
ideAlgo 9: Sürükle Bırak ile Sistemleri Grafiklere Uygulamak Video;https://www.youtube.com/watch?v=ZaESRCyniBw
ideAlgo 10: Arbitraj Modülü Video;https://www.youtube.com/watch?v=kxdyoSILN_4
Robotrade Video;https://www.youtube.com/watch?v=7lN407SebOc
ideAlgo İşlem Analizi Video;https://www.youtube.com/watch?v=IrtFmNrVxh0
Tarama Modülü - Ek Özellik Güncellemeleri Video;https://www.youtube.com/watch?v=RRYi4UGH6sU
Yeni iDeal Mobil Genel Bakış Video;https://www.youtube.com/watch?v=jgpf-BAM-mY
İdealCep: Giriş ve Sayfa Değişiklikleri Video;https://www.youtube.com/watch?v=EmUBuIZHlR8
İdealCep: Genel Bakış Video;https://www.youtube.com/watch?v=E8PuJ-liP_Q
İdealCep: Grafik Modülü, Trend ve İndikatör Kullanımı Video;https://www.youtube.com/watch?v=WLZO5ot8OXs
İdealCep: Hesabınıza Giriş ve Alım Satım Yapmak Video;https://www.youtube.com/watch?v=EtoBTWxbbFg
İdealCep: Viop Şartlı Emir Girmek Video;https://www.youtube.com/watch?v=HqGuwTkOUzw
İdealCep: Sayfalar Arası Geçişler Video;https://www.youtube.com/watch?v=_72jmfyKzpM
İdealCep: Sayfaya Senet Ekleme Çıkarma Video;https://www.youtube.com/watch?v=vEUWZTOpozs
İdealCep: Derinlik Penceresi Video;https://www.youtube.com/watch?v=l7SIe-Pdl48
İdealCep: Emir Girmek/İyileştirmek-Zincir Emir Video;https://www.youtube.com/watch?v=6E2G4wj0w2k
İdealCep: Sıralı Listeler Video;https://www.youtube.com/watch?v=K3jcsQMyV-Q
Bu hatayı alan bir kullanıcıya İdeal'den Sezai bey şöyle bir cevap vermişti:
https://i.ibb.co/BsCZyRc/ideal.png
Özetle; Sistem, gösterge vb. adlarını kontrol edin. Türkçe karakter uyumsuzluğu da yaşıyor olabilirsiniz kanımca...
https://twitter.com/seziyorum/status...590439936?s=20
Merhabalar
Daha önce Matriks'te Most indikatörünü aşağıdaki şekilde kullanıyordum.
MOV(MOST(c,13,1.7),6,tsf)
Bu kullanımı İdeal Veri Terminali için TOMA üzerinde nasıl uyarlayabiliriz.
merhaba aşağıda mt4 kullandığım RSIOMA v2HHLSX indikatörünü idealdata ya çevirebilirmisiniz.
//+--------------------------------------------------------------------------------+
//| RSIOMA v2HHLSX |
//| Kalenzo - fxtsd.com |
//| Hornet(i-RSI)2007, FxTSD.com; MetaQuotes Software Corp. ik |
//| Hist & Levels 20/80;30/70 CrossSig web: http://www.fxservice.eu |
//| Rsioma/MaRsioma X sig email: bartlomiej.gorski@gmail.com |
//| |
//| The base for this indicator was orginal RSI attached with Metatrader |
//| ^^ removed ^^ :)|-< Hornet |
//+--------------------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net/"
//----
#property indicator_separate_window
#property indicator_minimum -20
#property indicator_maximum 120
#property indicator_buffers 7
//----
#property indicator_color1 Blue
#property indicator_color2 Red
#property indicator_color3 Green
#property indicator_color4 Magenta
#property indicator_color5 DodgerBlue
#property indicator_color6 BlueViolet
#property indicator_color7 SlateBlue //RoyalBlue
//#property indicator_color8 MediumSlateBlue
#property indicator_width1 2
#property indicator_width4 2
#property indicator_width5 2
#property indicator_width7 2
#property indicator_level1 100
#property indicator_level2 80
//#property indicator_level3 70
#property indicator_level4 50
//#property indicator_level5 30
#property indicator_level6 20
#property indicator_level7 0
#property indicator_levelcolor SlateGray
//---- input parameters
extern int RSIOMA =14;
extern int RSIOMA_MODE =MODE_EMA;
extern int RSIOMA_PRICE =PRICE_CLOSE;
extern int Ma_RSIOMA =21,
Ma_RSIOMA_MODE =MODE_EMA;
extern double BuyTrigger =80.00;
extern double SellTrigger =20.00;
extern color BuyTriggerColor =DodgerBlue;
extern color SellTriggerColor=Magenta;
extern double MainTrendLong =70.00;
extern double MainTrendShort =30.00;
extern color MainTrendLongColor =Red;
extern color MainTrendShortColor =Green;
extern double MajorTrend =50;
extern color marsiomaXSigColor =SlateBlue;
//extern color marsiomaXdnSigColor = MediumSlateBlue;
//---- buffers
double RSIBuffer[];
double MABuffer1[];
double bdn[],bup[];
double sdn[],sup[];
double marsioma[];
double marsiomaXSig[];
//double marsiomaXdnSig[];
string short_name;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
short_name=StringConcatenate("RSIOMA(",RSIOMA,")") ;
IndicatorBuffers(8);
SetIndexBuffer(0,RSIBuffer);
SetIndexBuffer(2,bup);
SetIndexBuffer(1,bdn);
SetIndexBuffer(3,sdn);//Magnet
SetIndexBuffer(4,sup);//DodgerBlue
SetIndexBuffer(5,marsioma);
SetIndexBuffer(6,marsiomaXSig);
// SetIndexBuffer(7,marsiomaXdnSig);
SetIndexBuffer(7,MABuffer1);
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(2,DRAW_HISTOGRAM);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexStyle(3,DRAW_HISTOGRAM);
SetIndexStyle(4,DRAW_HISTOGRAM);
SetIndexStyle(5,DRAW_LINE);
SetIndexStyle(6,DRAW_ARROW);
// SetIndexStyle(7,DRAW_ARROW);
SetIndexArrow(6,159);//85,88,251(x),252';108,158,159(dot);161,162(crcl);1 10,167(sq);176-179('scope');11-113,250(hlwSq)
// SetIndexArrow(7,159);
// SetIndexEmptyValue(6,EMPTY_VALUE);
// SetIndexEmptyValue(7,EMPTY_VALUE);
SetIndexLabel(0,"Rsioma");
SetIndexLabel(5,"MaRsioma");
SetIndexLabel(1,"TrendDn");
SetIndexLabel(2,"TrendUp");
SetIndexLabel(6,"Up/DnXsig");
IndicatorShortName(short_name);
SetIndexDrawBegin(0,RSIOMA);
SetIndexDrawBegin(1,RSIOMA);
SetIndexDrawBegin(2,RSIOMA);
SetIndexDrawBegin(3,RSIOMA);
SetIndexDrawBegin(4,RSIOMA);
SetIndexDrawBegin(5,RSIOMA);
SetIndexDrawBegin(6,RSIOMA);
SetIndexDrawBegin(7,RSIOMA);
//----
drawLine(BuyTrigger,"BuyTrigger", BuyTriggerColor);
drawLine(SellTrigger,"SellTrigger", SellTriggerColor );
drawLine(MainTrendLong,"MainTrendLong", MainTrendLongColor );
drawLine(MainTrendShort,"MainTrendShort",MainTrend ShortColor );
return(0);
}
//+------------------------------------------------------------------+
//| Relative Strength Index |
//+------------------------------------------------------------------+
int start()
{
int i, ii;
int counted_bars=IndicatorCounted();
double rel,negative,positive;
//----
if(Bars<=RSIOMA) return(0);
//---- initial zero
if(counted_bars<1)
for(i=1;i<=RSIOMA;i++) {RSIBuffer[Bars-i]=0.0;}
//----
ii=Bars-RSIOMA-1;
if(counted_bars>=RSIOMA) ii=Bars-counted_bars-1;
i=ii;
while(i>=0)
{ MABuffer1[i]=iMA(Symbol(),0,RSIOMA,0,RSIOMA_MODE,RSIOMA_PRICE, i);
i--; }
i=ii;
while(i>=0)
{ RSIBuffer[i]=iRSIOnArray(MABuffer1,0,RSIOMA,i);
if(RSIBuffer[i]>50) bup[i]=6;
if(RSIBuffer[i]<50) bdn[i]=-6;
if(RSIBuffer[i] > MainTrendLong) bup[i]=12;
if(RSIBuffer[i] < MainTrendShort) bdn[i]=-12;
if(RSIBuffer[i]<20 && RSIBuffer[i]>RSIBuffer[i+1]) sup[i]=-3;
if(RSIBuffer[i]>80 && RSIBuffer[i]<RSIBuffer[i+1]) sdn[i]=4;
if(RSIBuffer[i]>20 && RSIBuffer[i+1]<=20) sup[i]=5;
if(RSIBuffer[i+1]>=80 && RSIBuffer[i]<80) sdn[i]=-5;
if(RSIBuffer[i+1]<=MainTrendShort && RSIBuffer[i]>MainTrendShort) sup[i]=12;
if(RSIBuffer[i]<MainTrendLong && RSIBuffer[i+1]>=MainTrendLong) sdn[i]=-12;
i--; }
i=ii;
while(i>=0)
{ marsioma[i]=iMAOnArray(RSIBuffer,0,Ma_RSIOMA,0,Ma_RSIOMA_MODE ,i);
marsiomaXSig[i]=EMPTY_VALUE;
//marsiomaXdnSig[i] = EMPTY_VALUE;
if(RSIBuffer[i+1]<=marsioma[i+1]&&RSIBuffer[i]>marsioma[i]) marsiomaXSig[i]=-8;
if(RSIBuffer[i+1]>=marsioma[i+1]&&RSIBuffer[i]<marsioma[i]) marsiomaXSig[i]=8;
i--;}
//----
return(0);
}
//+------------------------------------------------------------------+
void drawLine(double lvl,string name, color Col )
{
ObjectDelete(name);
ObjectCreate(name, OBJ_HLINE, WindowFind(short_name), Time[0], lvl,Time[0], lvl);
ObjectSet(name, OBJPROP_STYLE, STYLE_DOT);
ObjectSet(name, OBJPROP_COLOR, Col);
ObjectSet(name,OBJPROP_WIDTH,1);
}
//+------------------------------------------------------------------+
Trend Magic İndikatörü by kivancozbilgic idealdata karşılığı varmıdır
Kod:
period:=input("CCI period",1,500,20);
coeff:=input("ATR Multiplier",1,20,1);
AP:=input("ATR Period",1,500,5);
thisCCI := CCI(period);
lastCCI := Ref(thisCCI,-1);
upT:=L-ATR(AP)*coeff;
downT:=H+ATR(AP)*coeff;
MagicTrend:=If(thisCCI>=0,If(upT<PREV,PREV,upT),If (downT>PREV,PREV,downT));
MagicTrend
var v = Sistem.GrafikVerileri;
var c = Sistem.GrafikFiyatOku(v, "Kapanis");
var h = Sistem.GrafikFiyatOku(v, "Yuksek");
var l = Sistem.GrafikFiyatOku(v, "Dusuk");
var pd = 20;
var coeff = 1f;
var atrPd = 5;
var cci = Sistem.CommodityChannelIndex(pd);
var atr = Sistem.AverageTrueRange(atrPd);
var tm = Sistem.Liste(0);
for (int i = 1; i < v.Count; i++)
{
float atrCoeff = atr[i] * coeff;
float upT = l[i] - atrCoeff;
float dnT = h[i] + atrCoeff;
tm[i] = cci[i] >= 0 ? upT < tm[i - 1] ? tm[i - 1] : upT : dnT > tm[i - 1] ? tm[i - 1] : dnT;
}
Sistem.Cizgiler[0].Deger = tm;
merhaba
linkteki indikatörün idealdatada karşılığı varmıdır?
https://tr.tradingview.com/script/030PfBUQ-RSI-of-MAs/
merhaba
solarwinds 0>4 bar arasında al vermiş trend magic 0>4 arsında al vermiş böyle bir sorgulama tasarladım fakat bazı hisselerde hatalı sorgular geliyor.
formülde hatalı yer varmıdır.
// solarwinds
var sw1 = Sistem.GrafikVerileri;
int count = sw1.Count;
int period = 35;
var hh = Sistem.HHV(period);
var ll = Sistem.LLV(period);
var price = Sistem.GrafikFiyatSec("OrtaNokta");
var val1 = Sistem.Liste(count);
var val2 = Sistem.Liste(count);
var sol = Sistem.Liste(count);
for (int sw = 1; sw < count; sw++)
{
val1[sw] = hh[sw] == ll[sw] ? val1[sw - 1] : 0.66f * ((price[sw] - ll[sw]) / (hh[sw] - ll[sw]) - 0.5f) + 0.67f * val1[sw - 1];
val2[sw] = val1[sw] > .99f ? .999f : val1[sw] < -.99f ? -.999f : val1[sw];
sol[sw] = .5f * (float)(Math.Log((1 + val2[sw]) / Math.Max(1 - val2[sw], .001f))) + .5f * sol[sw - 1];
}
///trendmagic
var tv = Sistem.GrafikVerileri;
var tc = Sistem.GrafikFiyatOku(tv, "Kapanis");
var th = Sistem.GrafikFiyatOku(tv, "Yuksek");
var tl = Sistem.GrafikFiyatOku(tv, "Dusuk");
var tpd = 34;
var tcoeff = 1f;
var tatrPd = 5;
var tcci = Sistem.CommodityChannelIndex(tpd);
var tatr = Sistem.AverageTrueRange(tatrPd);
var tm = Sistem.Liste(0);
for (int ti = 1; ti < tv.Count; ti++)
{
float tatrCoeff = tatr[ti] * tcoeff;
float tupT = tl[ti] - tatrCoeff;
float tdnT = th[ti] + tatrCoeff;
tm[ti] = tcci[ti] >= 0 ? tupT < tm[ti - 1] ? tm[ti - 1] : tupT : tdnT > tm[ti - 1] ? tm[ti - 1] : tdnT;
}
Sistem.SorguBaslik[0] = "Fiyat";
Sistem.SorguBaslik[1] = "Bar Geçmiş solar";
Sistem.SorguBaslik[2] = "Bar Geçmiş trend";
Sistem.SorguBaslik[3] = "TrendMagic";
Sistem.SorguBaslik[4] = "Solarwinds";
Sistem.SorguBaslik[5] = "Son Hacim";
Sistem.SorguBaslik[6] = "OrtHacim";
Sistem.SorguBaslik[7] = "V/OrtV";
Sistem.SorguOndalik[0] = 2;
Sistem.SorguOndalik[1] = 0;
Sistem.SorguOndalik[2] = 0;
Sistem.SorguOndalik[3] = 2;
Sistem.SorguOndalik[4] = 2;
Sistem.SorguOndalik[5] = 0;
Sistem.SorguOndalik[6] = 0;
Sistem.SorguOndalik[7] = 2;
Sistem.SorguSutunHizala[0] = "ORTA";
Sistem.SorguSutunHizala[1] = "ORTA";
Sistem.SorguSutunHizala[2] = "ORTA";
Sistem.SorguSutunHizala[3] = "ORTA";
Sistem.SorguSutunHizala[4] = "ORTA";
Sistem.SorguSutunHizala[5] = "ORTA";
Sistem.SorguSutunHizala[6] = "ORTA";
Sistem.SorguSutunHizala[7] = "ORTA";
Sistem.SorguAciklamaGenislik = 70;
Sistem.SorguSutunGenislik[0] = 60;
Sistem.SorguSutunGenislik[1] = 60;
Sistem.SorguSutunGenislik[2] = 60;
Sistem.SorguSutunGenislik[3] = 60;
Sistem.SorguSutunGenislik[4] = 60;
Sistem.SorguSutunGenislik[5] = 60;
Sistem.SorguSutunGenislik[6] = 60;
Sistem.SorguSutunGenislik[7] = 60;
var C = Sistem.GrafikFiyatSec("Kapanis");
var Veriler = Sistem.GrafikVerileri;
var V = Sistem.GrafikFiyatOku(Veriler, "Hacim");
var Vort = Sistem.MA(5, "Simple", "Hacim"); //son 5 periyot hacim ortalaması
var solar = Sistem.Liste(0);
var trend= Sistem.Liste(0);
for (int si = 1; si < Sistem.BarSayisi; si++)
{
solar[si] = (sol[si-1] < 0 && sol[si] > 0 ) ? 0 : solar[si-1] + 1;
}
for (int tri = 1; tri < Sistem.BarSayisi; tri++)
{
trend[tri] = (tm[tri-1] > C[tri-1] && tm[tri] < C[tri] ) ? 0 : trend[tri-1] + 1;
}
var x = Sistem.BarSayisi-1;
if (solar[x] > 0 && solar[x] < 4)
if (trend[x] > 0 && trend[x] < 4)
{
Sistem.SorguDeger[0] = C[x];
Sistem.SorguDeger[1] = solar[x];
Sistem.SorguDeger[2] = trend[x];
Sistem.SorguDeger[3] = tm[x];
Sistem.SorguDeger[4] = sol[x];
Sistem.SorguDeger[5] = V[x];
Sistem.SorguDeger[6] = Vort[x];
Sistem.SorguDeger[7] = (V[x]/Vort[x]);
if(sol[x] > 0 && tm[x] < C[x])
Sistem.SorguAciklama = "Alış Yönü";
Sistem.SorguEkle();
}
Selamlar, Grid bot mantığında çalışacak ağırlıklı ortalama maliyet altına düştüğünde alım sayısını farklı satış sayısı farklı girebileceğim, belirlenen belli bir yüzdeliğin üzerinde ise satış rakamını farklı alış rakamını farklı girmek istediğim bir sistem nasıl oluşturulabilir?
Merhaba arkadaşlar. Anıl Özekşi beyin Matriks "Stochastic OTT" formülünü yazmaya çalışıyorum ama temel iDEAL kodlarından çok farklı ifadeler var. Nasıl çevrileceğini bilemedim. Çalışmamı da en alta ekliyorum. Yardımcı olabilirseniz memnun olurum. Şimdiden teşekkürler.
INDICATOR BUILDER
X1:=500;
X2:=200;
X3:=0.5;
STOSK(X1,X2,33,VAR)+1000;
OTT(STOSK(X1,X2,33,VAR)+1000,2,X3)
---------------------------------------------
SYSTEM TESTER
AL
Cross(STOSK(opt1,opt2,33,VAR)+1000,OTT(STOSK(opt1, opt2,33,VAR)+1000,2,opt3))
SAT
Cross(OTT(STOSK(opt1,opt2,33,VAR)+1000,2,opt3),STO SK(opt1,opt2,33,VAR)+1000)
Denemem:
var X1 = 500;
var X2 = 200;
var X3 = 0.5;
var C = Sistem.GrafikFiyatSec("Kapanis");
var STOSK = (X1,X2,33,C)+1000;
var OTT = (STOSK(X1,X2,33,C)+1000,2,X3);
var sonyon = "";
for (int i=1 ; i < Sistem.BarSayisi; i++)
{
if (C[i] > OTT[i] && sonyon != "A")
{
Sistem.Yon[i] = "A";
sonyon = "A";
}
else if (C[i] < OTT[i] && sonyon != "F")
{
Sistem.Yon[i] = "F";
sonyon = "F";
}
}
önceki forumda belki de burada idealde formül yazmak hayallerinle (yazılım becerinle) sınırlı demiştim.
öyle bir robot hayal ettim ki ? :evil: şeytanın aklına gelmez :evil:
Robot hem paçal (martingale) işlem yapsın hemde scalp olarak çalışsın. (işlem yapılacak para bitene kadar)
1. istediğim kadar saniyede 1 tüm elde olan hisseleri kontrol etsin.
2. sabah ilk açılışta 50-100-200-250 gün ortalama altında olan hisseleri bana ayrı ayrı liste yapsın dosyaya kaydetsin. istersem robota ismini verirsem liste olarak kullansın.
3. bu listenin içindeki hisseleri kontrol etsin ve önceki ay (düşük+yüksek) / 2 % x altında veya % x üstünde (benim belirleyeceğim) olanlara akşam pasif emir göndersin kapanışın % x altına ve kaç kademe istersem.
4. seans içinde çalıştırırsam o andaki fiyatın % x altına emir gönderebilsin. kaç kademe istersem.
5. x fiyatın altındaki ve xxx fiyatın üstündeki hisselere emir göndermesin.
6. Brüt takasa giren ve Devre kesen tavan olan, taban olan hisseleri emir göndermesin.
7. pasife yazılan emirlerden gelen olursa o hisseyi takip ederek % x zarar ettiğinde eldeki hisse adedinin istediğim % oranında ilave alım yapsın ama yine benim belirlediğim max tutarın üstüne geçerse alımları pas geçsin emir göndermesin. ben manuel istersem ilave yapayım.
8. elde olan senetler % x primli duruma geçtiğinde eldeki o hisseyi satsın ve tekrar ilk başlangıç bakiyesi tutarı kadar % x alta emir göndersin.
9. istersem % x ten fazla zarar eden hisselerin hepsini satsın ve yine istersem sattığı hisseleri yine % x aşağıya pasif olarak alışa yazsın.
10. o anda elde olan tüm hisselerimi adet k/z % ve son fiyat olarak tablo ile göstersin. kalan kullanılabilir bakiyesini + toplam kar zararı + portföy büyüklüğünü tablo altına yazsın.
11. pasifte bekleyen emirlerimi istiyorsam tablo olarak göstersin.
12. gün içinde gerçekleşen emirlerimi istiyorsam tablo olarak göstersin.
13. elde olan hisseleri robottan önce satışa yazmak istersem maliyet + istediğim % x kar ile pasif emir yazabilsin.
14. emir gönderdiğinde hisse fiyat lot tutar mesaj ekranında anlık olarak detaylandırsın.
15. robottan habersiz manuel al-sat yaparsam bu değişimi okusun kendini güncellesin.
16. elde olan işlem yapmasını istemediğim mesela halka arz hisseleri vs vs tanımlayabileyim onlara robot müdahale etmesin. işlemleri manuel tamamen bana bıraksın.
17. piyasa gevşemiyor veya hala kullanılabilecek miktarda sermaye var. robot boş duruyorsa sadece Liste ismini değiştireyim yeni verdiğim liste isminin değiştiğini görünce robot 2. level e atlasın.
18. OtoTrend tablosunu açsın Tablo oluştursun > benim istediğim değerler ile 1-5-30-60-G ne istersem o periyot için düşen trendi yukarı kıran hisseler için çalışsın. Bulduğu hisseleri liste olarak dosyaya kaydetsin.
19. benim istediğim sermaye tutarı ile bulduğu bu hisselere alım yaparak (1 dk da kontrol ) ederek listelesin ) listedeki hisseler eldeki hisseden farklı ise alsın % x üzeri kâr gördüğünde satarak scalp yapsın. aldığı hisse düşerse 7. madde kurallarını uygulasın.
20. Scalp yaptığı hisseden kar ederek satarsa 8. maddeyi ve sonraki maddeleri uygulasın.
bu robot Yazabilir mi ?
forumda arayıp bulmak zor kuşlu sitede de demişim.
https://r.resimlink.com/xulfKFWzAn.png
Arkadaşlar ideal'den hizmet aldığımızda istediğimiz basit bir algoritmayı hazır edip çalışır şekilde teslim ediyorlar mı acaba? Basit algoritmadan kastım hareketli ortalamanın kırmasıyla 2. mum kapanışında satış yap gibi.
Ben programın kendisinden pek anlamıyorum ama ücretli veya ücretsiz bu programın müşteri desteği yardımcı oluyorsa almayı düşünüyorum da.. Şimdiden cevap veren olursa teşekkür ederim.
Arkadaşlar herhangi bir alım satım stratejisine örneğin alış fiyatının % 1 üzerinde ise SAT, satış fiyatının % 1 altında ise AL şeklinde bir şartı nasıl ekleyebiliriz?
merhaba aşağıdaki tradingview kodunu idealdataya uyarlayabilirmisiniz.
//@version=5
indicator(title = "Bollinger Bands %B", shorttitle = "BB %B", format=format.price, precision=2, timeframe="", timeframe_gaps=true)
length = input.int(20, minval=1)
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
bbr = (src - lower)/(upper - lower)
plot(bbr, "Bollinger Bands %B", color=#26A69A)
band1 = hline(1, "Overbought", color=#787B86, linestyle=hline.style_dashed)
hline(0.5, "Middle Band", color=color.new(#787B86, 50))
band0 = hline(0, "Oversold", color=#787B86, linestyle=hline.style_dashed)
fill(band1, band0, color=color.rgb(38, 166, 154, 90), title="Background")
PHP Code:
var length = 20;
var multip = 2f;
var c = Sistem.GrafikFiyatSec("Kapanis");
var ma = Sistem.MA(c, "Simple", length);
var std = Sistem.StDev(c, length);
var bbpc = Sistem.Liste(0);
for (int i = 1; i < Sistem.BarSayisi; i++)
{
bbpc[i] = std[i] == 0 ? bbpc[i - 1] : (c[i] - ma[i]) / (multip * std[i] * 2f) + .5f;
}
Sistem.Cizgiler[0].Deger = bbpc;
Merhabalar
Yine daha önce Matriks'te kullandığım indikatörü İdeal'de nasıl kullanabilirim.
Alıntı:
AET:=Mov(L,34,e); a2:=AET-ATR(5); a3:=AET+ATR(5);
b1:=If(AET<PREV,a2,if(a2>PREV,a2,PREV)); b2:=If(AET>PREV,a3,if(a3<PREV,a3,PREV));
k1:=Cross(AET,Ref(b2,-1)); k2:=Cross(Ref(b1,-1),AET);
s1:=BarsSince(k1) <BarsSince(k2);
s2:=If(s1=-1,b1,b2);
AET
Abler selamlar iyi haftasonları
ben hergunku saat 10:00 daki kapanıs datasını trh isımlı lısteye yazdırmak ıstıyorum . basaramadım. yarımcı olurmusunuz
HTML Kod:var V = Sistem.GrafikVerileri;
var C = Sistem.GrafikFiyatOku(V, "Kapanis");
var aFiyat = 0f;
var trh =Sistem.Liste(0);
for (int i = 10; i < Sistem.BarSayisi; i++)
{
if (V[i].Date.Hour==10 && V[i].Date.Minute==00 )
aFiyat = V[i].Close;
}
for (int i = 10; i < Sistem.BarSayisi; i++)
{
trh[i] = V[i].Date.Day == V[i-1].Date.Day ? aFiyat: trh[i-1] ;
}
string str="";
for (int i = 0; j < V.Count; ++)
{
str += C[i].ToString("0.0000") + " --- "+ trh[i].ToString("0.0000") + " --- "+" --- " + "\r\n" ;
}
str += "Toplam barsayisi" + V.Count.ToString();
Sistem.Mesaj(str);
var trh =Sistem.Liste(0);
var aFiyat =Sistem.Liste(0);
var barno =0;
for (int i = barno ; i < Sistem.BarSayisi; i++)
{ if ( V[i].Date.Hour > V[i-1].Date.Hour && V[i].Date.Hour == 11)
{ barno = i-1 ; aFiyat[i] = V[barno].Close; }
}
merhabalar bu kodu nasıl yazabilirim, yardımcı olur musunuz ?
//a:=((PREV*5)+If(ROC(C,2,%)<0,Stdev(C,34),0));
//b:=Mov(C,4,S);
//a+b
merhaba
idealde robot emirler için hangi aracı kurumu önerirsiniz ? infoda hesap açıp deneme işlemleri yaptım ama memnun değilim. hem komisyon hem sistem .
Merhaba, aşağıdaki kodu ideal için çevirebilecek olan varsa çok minnettar olurum.
study("Top Bottom ", overlay=true)
per = input(21, title="Bottom Period")
loc = low < lowest(low[1], per) and low <= lowest(low[per], per)
bottom = barssince(loc)
per2 = input(21, title="Top Period")
loc2 = high > highest(high[1], per2) and high >= highest(high[per2], per2)
top = barssince(loc2)
/////BUY-SELL/////
Buy = crossover(bottom, top)
Sell = crossunder(bottom, top)
plotshape(Buy,"BUY", shape.labelup, location.belowbar, color.green, text="BUY",textcolor=color.black)
plotshape(Sell,"SELL", shape.labeldown, location.abovebar, color.red, text="SELL",textcolor=color.black)
background = top < bottom ? color.new(#0000FF,85) : top > bottom ? color.new(#FF0000,85) : na
bgcolor(color=background)
alertcondition(Buy, title="Buy Signal", message="Buy")
alertcondition(Sell, title="Sell Signal", message="Sell")
Şimdiden teşekkürler.