// ------------------------------------------------------------------
//| BM-Correlation2.mq4 |
//| Kadir Turok Ozdamar destek@borsamusaviri.com |
//|
borsamusaviri.com |
// ------------------------------------------------------------------
#property copyright "Kadir Turok Ozdamar destek@borsamusaviri.com"
#property link "
borsamusaviri.com"
#property version "2.01"
#property strict
int start_stop = 0;
// EURUSD-EURCHF,EURUSD-XAUUSD,EURUSD-XAGUSD,EURUSD-EURGBP,EURUSD-EURJPY,UKOUSD-USOUSD,XAUUSD-XAGUSD,AUDUSD-AUDCHF,AUDUSD-EURGBP,AUDUSD-XAGUSD,AUDUSD-XAUUSD,AUDUSD-EURJPY,AUDUSD-AUDJPY,USDCAD-GBPCAD,USDCAD-GBPAUD,USDCAD-EURAUD,XAUUSD-EURCHF,XAUUSD-GBPUSD,XAUUSD-NZDUSD,USDJPY-CHFJPY,USDJPY-GBPJPY,USDJPY-USDTRY,AUDJPY-CADJPY,AUDJPY-AUDNZD,AUDJPY-EURJPY,AUDNZD-EURNZD,AUDNZD-AUDJPY,AUDNZD-CHFJPY,AUDNZD-CADJPY,CADJPY-AUDJPY,CHFJPY-USDBRL,CHFJPY-USDTRY,CHFJPY-GBPJPY,EURAUD-EURCAD,EURAUD-GBPCAD,EURJPY-AUDJPY,EURNZD-AUDNZD,EURNZD-GBPNZD,GBPNZD-USDTRY,GBPUSD-GBPCHF,GBPUSD-EURAUD,GBPUSD-XAUUSD,GBPUSD-EURCHF,NZDUSD-NZDJPY,USDCHF-GBPCHF,SPXUSD-U30USD
string izinli_pariteler = "EURUSD-EURCHF,EURUSD-XAUUSD,EURUSD-XAGUSD,EURUSD-EURGBP,EURUSD-EURJPY,UKOUSD-USOUSD,XAUUSD-XAGUSD,AUDUSD-AUDCHF,AUDUSD-EURGBP,AUDUSD-XAGUSD,AUDUSD-XAUUSD,AUDUSD-EURJPY,AUDUSD-AUDJPY,USDCAD-GBPCAD,USDCAD-GBPAUD,USDCAD-EURAUD,XAUUSD-EURCHF,XAUUSD-GBPUSD,XAUUSD-NZDUSD,USDJPY-CHFJPY,USDJPY-GBPJPY,USDJPY-USDTRY,AUDJPY-CADJPY,AUDJPY-AUDNZD,AUDJPY-EURJPY,AUDNZD-EURNZD,AUDNZD-AUDJPY,AUDNZD-CHFJPY,AUDNZD-CADJPY,CADJPY-AUDJPY,CHFJPY-USDBRL,CHFJPY-USDTRY,CHFJPY-GBPJPY,EURAUD-EURCAD,EURAUD-GBPCAD,EURJPY-AUDJPY,EURNZD-AUDNZD,EURNZD-GBPNZD,GBPNZD-USDTRY,GBPUSD-GBPCHF,GBPUSD-EURAUD,GBPUSD-XAUUSD,GBPUSD-EURCHF,NZDUSD-NZDJPY,USDCHF-GBPCHF,SPXUSD-U30USD";
// string izinli_pariteler = "EURUSD-EURCHF,EURUSD-XAUUSD,EURUSD-XAGUSD,EURUSD-EURGBP,EURUSD-EURJPY,UKOUSD-USOUSD,XAUUSD-XAGUSD,AUDUSD-AUDCHF,AUDUSD-EURGBP,AUDUSD-XAGUSD,AUDUSD-XAUUSD,AUDUSD-EURJPY,AUDUSD-AUDJPY,USDCAD-GBPCAD,USDCAD-GBPAUD,USDCAD-EURAUD,XAUUSD-EURCHF,XAUUSD-GBPUSD,XAUUSD-NZDUSD,USDJPY-CHFJPY,USDJPY-GBPJPY,USDJPY-USDTRY";
// iki parite arasındaki açılma 300 point değerini geçerse robot o paritelerde tarama yapmaya başlar.
input int aralik = 300;
// iki parite arasındaki minimum korelasyon
input double min_korelasyon = 0.6;
// robotun aynı anda takip edebileceği emir sayısı 50 çift toplamda 100 emir demektir.
input int liste_adet = 50;
double dolar_kar = 0;
// robot elindeki açık bütün pozları 100 dolar ile trailstop yapar.
input double total_trail_dolar = 100;
// paritelerin spread ı 100 points den fazla olmamalıdır
input int max_spread = 1000;
// robot emir açmak için tarama yapmaya saat 21:00 dan sonra başlar. 15 dk lık periyodlarla tarama yapar.
input string emir_acma_saat = "21:00";
// robot emir açmak için tarama yapmaya saat 21:00 dan sonra başlar. 15 dk lık periyodlarla tarama yapar.
input int emir_acma_saat_aralik = 3;
// iki paritenin de swap karının karda olması beklenir.
input int iki_parite_swap_karda = 0;
// indikatör ile taramayı aktif hale getirir.
input int indikator_arama = 1;
// bu değer 0 olursa robot tek bir paritede bile indikatör sinyal verse işleme girer. 1 olursa iki paritede de indikatör sinyali alması beklenir.
input int iki_parite_kontrol = 1;
// aynı anda birden fazla indikatör çalışıyorsa ve bunların hepsinin onay vermese de işleme girmesini istiyorsak burdan bu kriteri ayarlıyabiliriz.
input int indikator_uyumsuzluk = 3;
input string str1 = "----- Acorrelation -----";
// Acorrelation indikatörü ayarları
input ENUM_TIMEFRAMES correlation_tf = PERIOD_D1;
input int bar_for_autoscale = 200;
input bool inverse = false;
input bool MA = false;
input int MAPeriyod = 14;
input bool MAonly = false;
input string str2 = "----- Corelation Ind -----";
// Corelation Ind indikatörü ayarları
input int CorPeriod = 20;
input bool movi = false;
input int Movperiyod = 5;
input int shift = 0;
input string str3 = "----- RSI indikatoru -----";
// bu değer 1 olursa rsi indikatörü aktif olur 0 olursa kapalı olur
input int rsi_aktif = 0;
// 0 = tek bir paritede bile sinyal verse işleme gir, 1 iki paritede birden sinyal verirse işleme gir.
input int rsi_sinyal_turu = 0;
// rsi periyodu
input int rsi = 14;
input int rsi_ust = 70;
input int rsi_alt = 30;
// rsi hangi periyodlarda tarama yapacağını belirtir.
input string rsi_periyodlar = "M15,M30,H1,H4,D1";
// birden fazla paritede tarama yaptıgı durumlarda kaç tane periyod için handikap verebileceğimi belirtir.
input int rsi_uyumsuzluk = 2;
// rsi gecikme değeri
input int rsi_gecikme = 0;
input string str4 = "----- MaCD indikatoru -----";
input int macd_aktif = 1;
input int macd_sinyal_turu = 0;
input int macd_fast = 100;
input int macd_slow = 200;
input int macd_signal = 12;
input string macd_periyodlar = "M15,M30,H1,H4,D1";
input int macd_uyumsuzluk = 2;
input int macd_gecikme = 0;
input string str5 = "----- X10_Trend indikatoru -----";
input int x10trend_aktif = 1;
input int x10trend_sinyal_turu = 0;
extern int x10trend_Period = 10;
extern double x10trend_Multiplier= 1.7;
extern int x10trend_TimeFrame = 0;
extern bool x10trend_AutoTF = false;
input string x10trend_periyodlar = "M15,M30,H1,H4,D1";
input int x10trend_uyumsuzluk = 2;
input int x10trend_gecikme = 0;
input string str6 = "----- Parabolic SAR indikatoru -----";
input int psar_aktif = 1;
input int psar_sinyal_turu = 0;
input int psar_step = 100;
input int psar_max = 200;
input string psar_periyodlar = "M15,M30,H1,H4,D1";
input int psar_uyumsuzluk = 2;
input int psar_gecikme = 0;
input string str7 = "---- Chartist BB Stop v3 indikatörü -----";
input int ddfx_aktif = 0;
input int ddfx_turu = 0;
input int ddfx_Length = 14;
input int ddfx_Deviation = 2;
input double ddfx_MoneyRisk = 1;
input int ddfx_Signal = 2;
input int ddfx_Line = 1;
input int ddfx_Nbars = 5500;
input bool ddfx_SoundOn = false;
input string ddfx_periyodlar = "M15,M30,H1,H4,D1";
input int ddfx_uyumsuzluk = 2;
input int ddfx_gecikme = 0;
input string str8 = "----- Genel Ayarlar -----";
input int margin_limit = 10;
input bool notification = true;
input bool alert = false;
input bool print = true;
input bool emir_ac = true;
input int magic = 18;
input double lot = 0;
input double risk = 2;
input double max_lot = 5;
input int interval = 10000;
string onek = "gunlukarb_";
string aranan = "";
string a_file = "gunluk_arbitraj.txt";
// ------------------------------------------------------------------
//| Expert initialization function |
// ------------------------------------------------------------------
int OnInit()
{
//---
prev_per = 0;
EventSetMillisecondTimer(interval);
aranan = read_file(a_file);
// GlobalVariablesDeleteAll(onek);
OnTimer();
//---
return(INIT_SUCCEEDED);
}
// ------------------------------------------------------------------
//| Expert deinitialization function |
// ------------------------------------------------------------------
void OnDeinit(const int reason)
{
//---
}
// ------------------------------------------------------------------
//| Expert tick function |
// ------------------------------------------------------------------
datetime prev_per;
string cmd="";
string acmd="";
double last_trail = 0;
void OnTimer() {
//---
if(start_stop == 1) return;
// return;
if(AccountServer() == "Tickmill-DemoUK" && AccountNumber() == 2089819407) {
} else {
// Comment("Invalid Host");
// return;
}
double total_kar = AccountProfit();
if(last_trail (total_trail_dolar*2)<total_kar && total_kar>0) {
last_trail = total_kar-total_trail_dolar;
}
if(total_kar<last_trail && last_trail>0) {
hepsinikapat();
Sleep(200);
hepsinikapat();
Sleep(200);
hepsinikapat();
Sleep(200);
hepsinikapat();
Sleep(200);
hepsinikapat();
Sleep(200);
hepsinikapat();
Sleep(200);
hepsinikapat();
Sleep(200);
hepsinikapat();
Sleep(200);
hepsinikapat();
Sleep(200);
hepsinikapat();
Sleep(200);
hepsinikapat();
Sleep(200);
hepsinikapat();
Sleep(200);
aranan = "";
write_file_new(a_file,aranan);
last_trail = 0;
}
acmd = StringConcatenate("T:",TimeCurrent(),".",GetMicrosecondCount(),"\n");
double topla = 0;
double a_kar=0,b_kar=0;
double toplam=0;
string v_cmd = "";
string okundu = "";
string sep="\n";
ushort u_sep;
string result[];
u_sep=StringGetCharacter(sep,0);
int k=StringSplit(StringTrimRight(aranan),u_sep,result);
int gdr=0;
string yeni_aranan = "";
int kapanan = 0;
for(int i=0;i<k;i )
{
string sep2=",";
ushort u_sep2;
string r[];
u_sep2=StringGetCharacter(sep2,0);
int k2=StringSplit ( result[i], u_sep2, r );
// if(ArraySize(r)<2) Print("i=",i," result[i]=",result[i]);
if(ArraySize(r)<2) continue;
int b_id1 = (int) r[0];
int b_id2 = (int) r[1];
gdr = OrderSelect(b_id1,SELECT_BY_TICKET);
int aa_id = OrderTicket();
string aa_name = OrderSymbol();
double aa_open = OrderOpenPrice();
int aa_type = OrderType();
string aa_yon = (OrderType()==OP_BUY?"BUY":"SELL");
double aa_lot = OrderLots();
int aa_digits = (int) MarketInfo(OrderSymbol(),MODE_DIGITS);
double aa_kar = OrderProfit() OrderSwap() OrderCommission();
double aa_swap = OrderSwap();
datetime aa_close = OrderCloseTime();
gdr = OrderSelect(b_id2,SELECT_BY_TICKET);
int bb_id = OrderTicket();
string bb_name = OrderSymbol();
double bb_open = OrderOpenPrice();
int bb_type = OrderType();
string bb_yon = (OrderType()==OP_BUY?"BUY":"SELL");
double bb_lot = OrderLots();
int bb_digits = (int) MarketInfo(OrderSymbol(),MODE_DIGITS);
double bb_kar = OrderProfit() OrderSwap() OrderCommission();
double bb_swap = OrderSwap();
datetime bb_close = OrderCloseTime();
double tt_swap = aa_swap bb_swap;
double tt_kar = aa_kar bb_kar;
// Print("aa_id:",aa_id,">0 && bb_id:",bb_id,">0 && aa_close:",aa_close,">0 && bb_close:",bb_close,">0");
int sonuc;
if(aa_id>0 && bb_id>0 && aa_close>0 && bb_close>0) {
Print("İki Parite ",aa_name," ",bb_name," kapandığı için sıfırlandı.");
kapanan ;
} else if(aa_id>0 && bb_id>0 && ((aa_close==0&&bb_close>0)||(aa_close>0&&bb_close==0)) ) {
double aa_bid = MarketInfo(aa_name,MODE_BID);
double aa_ask = MarketInfo(aa_name,MODE_ASK);
double bb_bid = MarketInfo(bb_name,MODE_BID);
double bb_ask = MarketInfo(bb_name,MODE_ASK);
if(aa_close>0) {
if(aa_type==OP_BUY) {
sonuc = OrderClose(bb_id,bb_lot,bb_bid,0,clrBlue);
} else {
sonuc = OrderClose(bb_id,bb_lot,bb_ask,0,clrRed);
}
}
if(bb_close>0) {
if(bb_type==OP_BUY) {
sonuc = OrderClose(aa_id,aa_lot,aa_bid,0,clrBlue);
} else {
sonuc = OrderClose(aa_id,aa_lot,aa_ask,0,clrRed);
}
}
Print("Eşi kapandığı için kapatıldı ",aa_name," ",aa_yon," kar=",aa_kar," | ",
bb_name," ",bb_yon," kar=",bb_kar," | swap : ",tt_swap," toplam : ",tt_kar," ",AccountCurrency());
kapanan ;
} else if( tt_kar > dolar_kar && AccountProfit()<0 && false ) {
double aa_bid = MarketInfo(aa_name,MODE_BID);
double aa_ask = MarketInfo(aa_name,MODE_ASK);
double bb_bid = MarketInfo(bb_name,MODE_BID);
double bb_ask = MarketInfo(bb_name,MODE_ASK);
if(aa_type==OP_BUY) {
sonuc = OrderClose(aa_id,aa_lot,aa_bid,0,clrBlue);
} else {
sonuc = OrderClose(aa_id,aa_lot,aa_ask,0,clrRed);
}
if(bb_type==OP_BUY) {
sonuc = OrderClose(bb_id,bb_lot,bb_bid,0,clrBlue);
} else {
sonuc = OrderClose(bb_id,bb_lot,bb_ask,0,clrRed);
}
Print("İkili kapatıldı ",aa_name," ",aa_yon," kar=",aa_kar," | ",
bb_name," ",bb_yon," kar=",bb_kar," | swap : ",tt_swap," toplam : ",tt_kar," ",AccountCurrency());
kapanan ;
} else {
yeni_aranan = yeni_aranan (i>0?"\n":"") result[i];
}
v_cmd = v_cmd StringConcatenate("#",r[0]," ",r[2]," ",r[3]," Price:",DoubleToStr(aa_open,aa_digits),", #",r[1]
," ",r[4]," ",r[5]," Price:",DoubleToStr(bb_open,bb_digits)," | ",r[2]," Günlük Swap :",r[6]," - ",r[4]
," Günlük Swap:",r[7]," | Aralik : ",DoubleToStr((double)r[8],0)," Günlük Swap : ",r[9]," Korelasyon : ",r[10]," | Swap Kar : ",tt_swap," Kar : ",tt_kar,"\n");
}
if(kapanan>0) {
aranan = yeni_aranan;
write_file_new(a_file,aranan);
}
string trail_str = StringConcatenate("\n","Profit:",DoubleToStr(AccountProfit(),2)," last_trail:",DoubleToStr(last_trail,2)," ",AccountCurrency());
tarama_yap();
acmd = acmd tt_cmd trail_str "\n";
Comment(acmd);
}
// ------------------------------------------------------------------
string tt_cmd = "";
void OnTick() {
}
int first_kez = 0;
string t_cmd[];
void tarama_yap() {
// return;
ArrayFree(t_cmd);
datetime ast_time = StrToTime(TimeToStr(TimeCurrent(),TIME_DATE) " " emir_acma_saat);
datetime ast_time2 = ast_time 60*60*emir_acma_saat_aralik;
datetime bst_time = ast_time-86400;
datetime bst_time2 = ast_time2-86400;
// margin_limit
bool margin_yeterli_mi = true;
double margin_kar = AccountProfit()/AccountBalance();
if(margin_kar*-1>margin_limit) {
margin_yeterli_mi = false;
}
bool emir_acilabilir = (emir_acma_saat == "" || (((ast_time<TimeCurrent() && ast_time2>TimeCurrent())||(bst_time<TimeCurrent() && bst_time2>TimeCurrent())) && emir_acma_saat != "" ) );
// Print("emir_acma_saat = ",emir_acma_saat," margin_kar = ",margin_kar," emir_acilabilir=",emir_acilabilir," ast_time=",ast_time," ast_time2=",ast_time2);
// return;
if(prev_per<iTime(Symbol(),PERIOD_M15,0) ) {
prev_per = iTime(Symbol(),PERIOD_M15,0);
int aaadet = 0;
string srr[];
string sep2=",";
ushort u_sep2;
u_sep2=StringGetCharacter(sep2,0);
int k2=StringSplit ( izinli_pariteler, u_sep2, srr );
for(int i = 0; i< ArraySize(srr); i ) {
string srr2[];
string sep3="-";
ushort u_sep3;
u_sep3=StringGetCharacter(sep3,0);
int k3=StringSplit ( srr[i], u_sep3, srr2 );
string aname = srr2[0];
string bname = srr2[1];
double aprice = iClose(aname,Period(),0);
double bprice = iClose(bname,Period(),0);
if(aprice>0 && bprice>0) { } else { continue; }
// Print("---- Taranıyor ---- aname:",aname," bname:",bname);
int aspread = (int) MarketInfo(aname,MODE_SPREAD);
int bspread = (int) MarketInfo(bname,MODE_SPREAD);
int ibrs=0;
if(first_kez==0) {
ibrs = iBars(aname,PERIOD_M1);
ibrs = iBars(aname,PERIOD_M5);
ibrs = iBars(aname,PERIOD_M15);
ibrs = iBars(aname,PERIOD_M30);
ibrs = iBars(aname,PERIOD_H1);
ibrs = iBars(aname,PERIOD_H4);
ibrs = iBars(aname,PERIOD_D1);
ibrs = iBars(aname,PERIOD_W1);
ibrs = iBars(aname,PERIOD_MN1);
ibrs = iBars(aname,PERIOD_M1);
ibrs = iBars(aname,PERIOD_M5);
ibrs = iBars(aname,PERIOD_M15);
ibrs = iBars(aname,PERIOD_M30);
ibrs = iBars(aname,PERIOD_H1);
ibrs = iBars(aname,PERIOD_H4);
ibrs = iBars(aname,PERIOD_D1);
ibrs = iBars(aname,PERIOD_W1);
ibrs = iBars(aname,PERIOD_MN1);
}
if(aspread>max_spread || bspread>max_spread) continue;
// Print("step2");
double fark = 0;
double swap_kar = 0;
double corelation = 0;
string a_yon = "", b_yon = "";
double a_swap = 0;
double b_swap = 0;
bprice = NormalizeDouble(iCustom(aname,correlation_tf,"Acorrelation",bname,bar_for_autoscale,inverse,MA,MAPeriyod,MAonly,0,0),(int) MarketInfo(aname,MODE_DIGITS));
double bcor = NormalizeDouble(iCustom(aname,correlation_tf,"Corelation Ind",aname,bname,CorPeriod,movi,Movperiyod,shift,0,0),(int) MarketInfo(aname,MODE_DIGITS));
string bw1 = StringSubstr(bname,0,3);
string bw2 = StringSubstr(bname,3,3);
if(MarketInfo(aname,MODE_POINT) == 0) continue;
if(aprice>bprice) {
fark = (aprice-bprice)/MarketInfo(aname,MODE_POINT);
swap_kar = MarketInfo(aname,MODE_SWAPSHORT) MarketInfo(bname,MODE_SWAPLONG);
a_swap = MarketInfo(aname,MODE_SWAPSHORT);
b_swap = MarketInfo(bname,MODE_SWAPLONG);
a_yon = "SELL";
b_yon = "BUY";
} else if(aprice<bprice) {
fark = (bprice-aprice)/MarketInfo(aname,MODE_POINT);
swap_kar = MarketInfo(aname,MODE_SWAPLONG) MarketInfo(bname,MODE_SWAPSHORT);
a_swap = MarketInfo(aname,MODE_SWAPLONG);
b_swap = MarketInfo(bname,MODE_SWAPSHORT);
a_yon = "BUY";
b_yon = "SELL";
}
if(aralik<fark && swap_kar>0 && (iki_parite_swap_karda == 0 || (iki_parite_swap_karda && a_swap>0 && b_swap>0))) {
Print("--- [SIGNAL] Tarıyor ... --- ",aname," ",a_yon," vs ",bname," ",b_yon," corelation:",DoubleToStr(bcor,2)," aralik:",aralik,"<fark:",DoubleToStr(fark,1),
" swap_kar:",DoubleToStr(swap_kar,2)," a_swap:",a_swap," b_swap:",b_swap);
string ara1 = StringConcatenate(aname,",",a_yon,",",bname,",",b_yon);
string ara2 = StringConcatenate(bname,",",b_yon,",",aname,",",a_yon);
bool arama_sonuc = StringFind(aranan,ara1)>-1 || StringFind(aranan,ara2)>-1;
if(arama_sonuc ) { Print("PASS : Boyle bir açılmış emir kaydı bulunuyor ",aranan); continue; }
if(min_korelasyon>bcor) { Print("PASS : Min korelasyonun altında şuan:",DoubleToStr(bcor,2)," min_korelasyon:",min_korelasyon); continue; }
corelation = bcor;
bool rsi_buy1 = false, rsi_sell1 = false, rsi_buy2 = false , rsi_sell2 = false;
if(rsi_aktif) {
double irsi_m1=0,irsi_m5=0,irsi_m15=0,irsi_m30=0,irsi_h1=0,irsi_h4=0,irsi_d1=0,irsi_w1=0,irsi_mn1=0;
int kac_rsi = 0;
int ilk_period = 0;
if(StringFind(rsi_periyodlar,"M1")>-1) { irsi_m1 = iCustom(aname,PERIOD_M1,"RSI",rsi,0,rsi_gecikme); kac_rsi ; ilk_period = (ilk_period == 0 ? PERIOD_M1 : 0); }
if(StringFind(rsi_periyodlar,"M5")>-1) { irsi_m5 = iCustom(aname,PERIOD_M5,"RSI",rsi,0,rsi_gecikme); kac_rsi ; ilk_period = (ilk_period == 0 ? PERIOD_M5 : 0); }
if(StringFind(rsi_periyodlar,"M15")>-1) { irsi_m15 = iCustom(aname,PERIOD_M15,"RSI",rsi,0,rsi_gecikme); kac_rsi ; ilk_period = (ilk_period == 0 ? PERIOD_M15 : 0); }
if(StringFind(rsi_periyodlar,"M30")>-1) { irsi_m30 = iCustom(aname,PERIOD_M30,"RSI",rsi,0,rsi_gecikme); kac_rsi ; ilk_period = (ilk_period == 0 ? PERIOD_M30 : 0); }
if(StringFind(rsi_periyodlar,"H1")>-1) { irsi_h1 = iCustom(aname,PERIOD_H1,"RSI",rsi,0,rsi_gecikme); kac_rsi ; ilk_period = (ilk_period == 0 ? PERIOD_H1 : 0); }
if(StringFind(rsi_periyodlar,"H4")>-1) { irsi_h4 = iCustom(aname,PERIOD_H4,"RSI",rsi,0,rsi_gecikme); kac_rsi ; ilk_period = (ilk_period == 0 ? PERIOD_H4 : 0); }
if(StringFind(rsi_periyodlar,"D1")>-1) { irsi_d1 = iCustom(aname,PERIOD_D1,"RSI",rsi,0,rsi_gecikme); kac_rsi ; ilk_period = (ilk_period == 0 ? PERIOD_D1 : 0); }
if(StringFind(rsi_periyodlar,"W1")>-1) { irsi_w1 = iCustom(aname,PERIOD_W1,"RSI",rsi,0,rsi_gecikme); kac_rsi ; ilk_period = (ilk_period == 0 ? PERIOD_W1 : 0); }
if(StringFind(rsi_periyodlar,"MN1")>-1) { irsi_mn1 = iCustom(aname,PERIOD_MN1,"RSI",rsi,0,rsi_gecikme); kac_rsi ; ilk_period = (ilk_period == 0 ? PERIOD_MN1 : 0); }
string sepa2=",";
ushort u_sepa2;
string wer[];
u_sepa2=StringGetCharacter(sepa2,0);
int ka2=StringSplit ( rsi_periyodlar, u_sep2, wer );