Bu hali ile 29 mart 17.59 da sinyal üretiyor. Kodun iş günü ile ilgisi yok. Tek/Çift ay kontrolü yaparken yine v+1 kullanarak kodu çalışmaz hale getiriyorsunuz muhtemelen.
Printable View
Bu hali ile 29 mart 17.59 da sinyal üretiyor. Kodun iş günü ile ilgisi yok. Tek/Çift ay kontrolü yaparken yine v+1 kullanarak kodu çalışmaz hale getiriyorsunuz muhtemelen.
teşekkürler hem bar eksiğim varmış hemde koşul içinde sinyal için F yerine S kullandığımdan tekrar pozisyon oluyormuş Yardımların için çok teşekkür ederim
Merhabalar, viop30 5 dk periyot için birgün öncesinin kapanış barını tutup , bu kapanış barını düz çizgi gibi indikatör olarak ekrana çizdirmek istiyorum. Yardımcı olacak birilerinin desteğini rica ederim.
Yasaklı hisseler;
Bazı hisselerin sorgularda yer almasını bırak grafiğini bile görmek istemeyenler için kullanabilecekleri bir yöntem:
Lib.cs dosyasında Lib sınıfı içerisine bir tanım ve iki metod eklenecek;
tanım:
public List<string> YasaklıHisseler = null;
metodlar:
public void YasaklıHisseleriDosyadanOku()
public bool HisseYasaklıMı(string oSembol)
Lib constructor içerisine
YasaklıHisseleriDosyadanOku();
yazılacak.
Aşağıdaki görselden takip edebilirsiniz.
Lib.cs dosyasını derlediğinizde ya da iDeal'i ilk başlattığınızda
YasaklıHisseleriDosyadanOku() metodu (oluşturacağınız) csv dosyaya eklediğiniz hisseleri okuyup
public List<string> YasaklıHisseler değişkenine aktaracak.
iDeal çalıştığı sürece bu değişkenden her türlü sorgu, sistem, grafik.. öncesinde yasaklı hisseleri şu şekilde eleyebileceksiniz.
Sorgular için:
PHP Code:
if (Sistem.BaglantiVar == true && !Lib.HisseYasaklıMı(Sistem.Sembol))
{
//clsHisse dynHisse = Lib.Yeni_Sorgu_Hissesi_TekPeriyot(Sistem, Sistem.Sembol, Sistem.Periyot);
dynamic dynHisse = Lib.Yeni_Sorgu_Hissesi_TekPeriyot(Sistem, Sistem.Sembol, Sistem.Periyot);
//...
}
Grafikler için:
PHP Code:
#region GRAPH LINREG LEVEL
if(!Lib.HisseYasaklıMı(Sistem.Sembol))
{
try
{
//clsHisse dynHisse = Lib.Yeni_Grafik_Hissesi(Sistem, Sistem.Sembol, Sistem.Periyot);
dynamic dynHisse = Lib.Yeni_Grafik_Hissesi(Sistem, Sistem.Sembol, Sistem.Periyot);
dynHisse.Hisseyi_Oluştur();
if (dynHisse.oPeriyotVerileri[0].boolVeriHesaplamalarıDüzgünOlarakYapıldı)
{
//..
}
}
catch (System.Threading.ThreadAbortException)
{
Lib.DOSYA.Hata_Mesajı_Yaz("0085");
}
catch (Exception Ex)
{
Lib.DOSYA.Hata_Mesajı_Yaz(Ex, "0085");
}
}
#endregion GRAPH LINREG LEVEL
YasaklıHisseler.csv dosyası örneği; bu dosya Notepad ya da Excel ile oluşturulabilir.
Bendeki örnekte dosyanın kayıtlı olduğu yer: D:\BORSA 2024\iDeal\TRADE\YEDEKLER klasörüdür.
Kod://YASAKLI HİSSELER, sorgularda yer almasını istemediğin HİSSELERİ buraya alt alta yaz
IMKBH'BJKAS
IMKBH'GSRAY
IMKBH'ERBOS
IMKBH'GUBRF
IMKBH'ODAS
Metodlar:
PHP Code:
public void YasaklıHisseleriDosyadanOku()
{
try
{
//string YasaklıHisselerDosyası = Dosya.YasaklıHisselerDosyası;
string YasaklıHisselerDosyası = "D:\\BORSA 2024\\iDeal\\TRADE\\YEDEKLER\\YasaklıHisseler.csv";
YasaklıHisseler = new List<string>();
string lineString = string.Empty;
Encoding anEncode = Encoding.GetEncoding("windows-1254");
if (!File.Exists(YasaklıHisselerDosyası))
{
//Dosya Yok
//File.Copy(Dosya.YasaklıHisselerDosyasıYEDEK, Dosya.YasaklıHisselerDosyası);
//Dosya.UygulamaBaşlangıçDosyasınaEkle(Dosya.YasaklıHisselerDosyası + " yedeklerden kopyalandı");
}
if (File.Exists(YasaklıHisselerDosyası))
{
string line = "";
using (StreamReader reader = new StreamReader(YasaklıHisselerDosyası, anEncode))
{
while ((line = reader.ReadLine()) != null)
{
if (line.Trim() != "" & line.Substring(0, 2) != "//")
{
if (line != null)
{
string[] words = line.Split(';');
if (words[0].Substring(0, 1) != "/")
{
if (words.GetLength(0) > 0)
{
YasaklıHisseler.Add(words[0]);
}
}
}
}
}
}
}
else
{
//Dosya yok, ömür boyu yasakla
YasaklıHisseler.Add("IMKBH'BJKAS");
YasaklıHisseler.Add("IMKBH'GUBRF");
//diğerlerini buraya ekle
}
}
catch (System.Threading.ThreadAbortException)
{
//Dosya.HataMesajıYaz("00X YasaklıHisseleriOku");
}
catch (Exception Ex)
{
//Dosya.HataMesajıYaz(Ex, "00X YasaklıHisseleriOku");
}
}
PHP Code:
public bool HisseYasaklıMı(string oSembol)
{
foreach (string word in YasaklıHisseler)
{
if (word == oSembol)
return true;
}
return false;
}
Görsel:
https://i.hizliresim.com/q96j3v8.png
using önergeleri:
PHP Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Drawing;
using System.IO;
using System.Text;
Elinize sağlık, INVENTOR.
Bu güzel anlatım ve bilgiler için teşekkürler.:bravo:
n1 = input(10, "Channel Length")
n2 = input(21, "Average Length")
obLevel1 = input(60, "Over Bought Level 1")
obLevel2 = input(53, "Over Bought Level 2")
osLevel1 = input(-60, "Over Sold Level 1")
osLevel2 = input(-53, "Over Sold Level 2")
ap = hlc3
esa = ema(ap, n1)
d = ema(abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ema(ci, n2)
wt1 = tci
wt2 = sma(wt1,4)
plot(0, color=gray)
plot(obLevel1, color=red)
plot(osLevel1, color=green)
plot(obLevel2, color=red)
plot(osLevel2, color=green)
plot(wt1, color=green)
plot(wt2, color=red)
plot(wt1-wt2, color=blue, style=area, transp=80)
plot(cross(wt1, wt2) ? wt2 : na, color = black , style = circles, linewidth = 3)
plot(cross(wt1, wt2) ? wt2 : na, color = (wt2 - wt1 > 0 ? red : lime) , style = circles, linewidth = 2)
barcolor(cross(wt1, wt2) ? (wt2 - wt1 > 0 ? aqua : yellow) : na)
rica etsem bunu ideale çevirebilir misiniz