using System; using System.Collections.Generic; using System.Linq; using Matriks; using Matriks.Data.Symbol; using Matriks.Engines; using Matriks.Indicators; using Matriks.Symbols; using Matriks.Trader.Core; using Matriks.Trader.Core.Fields; using Matriks.Lean.Algotrader.AlgoBase; using Matriks.Lean.Algotrader.Models; using Matriks.Lean.Algotrader.Trading; using Matriks.AI; using Matriks.AI.AiParameters; using Matriks.AI.Data; using Matriks.Trader.Core.TraderModels; using System.IO; using System.Text; using System.Timers; using Matriks.AlgoTrader; using Matriks.Data.Identifiers; using System.ComponentModel; using System.Globalization; namespace Matriks.Lean.Algotrader { public class TDSEQ_V10 : MatriksAlgo { // Strateji çalıştırılırken kullanacağımız parametreler. Eğer sembolle ilgili bir parametre ise, // "SymbolParameter" ile, değilse "Parameter" ile tanımlama yaparız. Parantez içindeki değerler default değerleridir. [SymbolParameter("USDCAD")] public string Symbol; [Parameter(SymbolPeriod.Min15)] public SymbolPeriod SymbolPeriod; [Parameter(20000)] public decimal Portföy; [Parameter(false)] public bool konservatif; //1 veya değeri alır [Parameter(9)] // bunları sormasına gerek yok default girsin. public int TdsequentialSetup; [Parameter(4)] // bunları sormasına gerek yok default girsin. public int TdsequentialCountdown; [Parameter(14)] // bunları sormasına gerek yok default girsin. public int Atr_smoothingPeriod; [Parameter(Smooth.RMA)] public Smooth Atr_smoothingSmoothing; [Parameter(0)] // TEST SENARYOSU SEÇİLİR. 0 SENARYO YOK DEMEKTİR public int SENARYO; int L = 10; int S = 10; int EL = 10; int ES = 10; int open_trade_L = 0; int open_trade_S = 0; int long1 = 0; int short1 = 0; int üstüste_short = 0; int üstüste_long = 0; int sonuc_top = 0; decimal sayL = 0; decimal sayS = 0; int retL = 0; int retS = 0; int EXECUTE_trade = 0; decimal BUY_LIMIT; decimal SELL_LIMIT; decimal TAKE_PROFIT_L; decimal TAKE_PROFIT_S; decimal STOP_LOSS_L; decimal STOP_LOSS_S; decimal SIZE_L; decimal SIZE_S; decimal SIZE_L2; decimal SIZE_S2; decimal Mesafe; int bar_kapanış = 0; decimal anlık_fiyat = 0; int Longg = 0; int Shortt = 0; decimal R_money; decimal katsayı = 0; int R_çarp = 1; int part = 0; decimal TP = 0; int Ri = 0; decimal MM1 = 1; decimal MM2 = 1; int DG = 1; decimal atr2; decimal atr1; int SS = 0; decimal onceki_bar_yuksek = 0; decimal onceki_bar_dusuk = 0; decimal sımdıkı_yuksek = 0; decimal sımdıkı_dusuk = 0; int test_L = 0; int test_S = 0; int MM_M = 0; int test_sayı = 0; int exe_say = 0; int sayım = 0; //======================== MM TANIMLAMALAR-1.KISIM decimal D4; decimal E4; decimal C18; decimal E18; decimal F18; decimal G18; decimal F4; decimal G4; decimal H6; decimal D18; decimal L6; decimal H18; decimal I18; decimal M6; decimal L18; decimal C7; decimal C8; decimal C9; decimal C10; decimal C11; decimal C12; decimal C13; decimal C15; decimal C17; decimal D7; decimal D8; decimal D9; decimal D10; decimal D11; decimal D12; decimal D13; decimal D15; decimal D17; decimal J18; decimal K18; decimal E7; decimal E8; decimal E9; decimal E10; decimal E11; decimal E12; decimal E13; decimal E15; decimal E17; decimal F7; decimal F8; decimal F9; decimal F10; decimal F11; decimal F12; decimal F13; decimal F15; decimal F17; decimal G7; decimal G8; decimal G9; decimal G10; decimal G11; decimal G12; decimal G13; decimal G15; decimal G17; decimal H7; decimal H8; decimal H9; decimal H10; decimal H11; decimal H12; decimal H13; decimal H14; decimal H15; decimal H17; decimal I7; decimal I8; decimal I9; decimal I10; decimal I11; decimal I12; decimal I13; decimal I15; decimal I17; decimal B17; decimal J7; decimal J8; decimal J9; decimal J10; decimal J11; decimal J12; decimal J13; decimal J15; decimal J17; decimal K7; decimal K8; decimal K9; decimal K10; decimal K11; decimal K12; decimal K13; decimal K15; decimal K17; decimal L7; decimal L8; decimal L9; decimal L10; decimal L11; decimal L12; decimal L13; decimal L15; decimal L17; decimal M7; decimal M8; decimal M9; decimal M10; decimal M11; decimal M12; decimal M13; decimal M15; decimal M17; decimal M14; decimal M18; decimal N7; decimal N8; decimal N9; decimal N10; decimal N11; decimal N12; decimal N13; decimal N15; decimal N17; decimal N18; decimal O7; decimal O8; decimal O9; decimal O10; decimal O11; decimal O12; decimal O13; decimal O15; decimal O17; decimal O18; decimal P7; decimal P8; decimal P9; decimal P10; decimal P11; decimal P12; decimal P13; decimal P15; decimal P17; decimal P18; decimal Q7; decimal Q8; decimal Q9; decimal Q10; decimal Q11; decimal Q12; decimal Q13; decimal Q15; decimal Q17; decimal Q18; //======================== MM TANIMLAMALAR-2.KISIM decimal D23; decimal C37; decimal E23; decimal E37; decimal F37; decimal G37; decimal F23; decimal G23; decimal H25; decimal D37; decimal L25; decimal H37; decimal I37; decimal J37; decimal K37; decimal M25; decimal C26; decimal C27; decimal C28; decimal C29; decimal C30; decimal C31; decimal C32; decimal C34; decimal C36; decimal D26; decimal D27; decimal D28; decimal D29; decimal D30; decimal D31; decimal D32; decimal D34; decimal D36; decimal E26; decimal E27; decimal E28; decimal E29; decimal E30; decimal E31; decimal E32; decimal E34; decimal E36; decimal F26; decimal F27; decimal F28; decimal F29; decimal F30; decimal F31; decimal F32; decimal F34; decimal F36; decimal G26; decimal G27; decimal G28; decimal G29; decimal G30; decimal G31; decimal G32; decimal G34; decimal G36; decimal H26; decimal H27; decimal H28; decimal H29; decimal H30; decimal H31; decimal H32; decimal H34; decimal H36; decimal H33; decimal I26; decimal I27; decimal I28; decimal I29; decimal I30; decimal I31; decimal I32; decimal I34; decimal I36; decimal J26; decimal J27; decimal J28; decimal J29; decimal J30; decimal J31; decimal J32; decimal J34; decimal J36; decimal K26; decimal K27; decimal K28; decimal K29; decimal K30; decimal K31; decimal K32; decimal K34; decimal K36; decimal M26; decimal M27; decimal M28; decimal M29; decimal M30; decimal M31; decimal M32; decimal M34; decimal M36; decimal M33; decimal M37; decimal N26; decimal N27; decimal N28; decimal N29; decimal N30; decimal N31; decimal N32; decimal N34; decimal N36; decimal N33; decimal N37; decimal O26; decimal O27; decimal O28; decimal O29; decimal O30; decimal O31; decimal O32; decimal O34; decimal O36; decimal O37; decimal P26; decimal P27; decimal P28; decimal P29; decimal P30; decimal P31; decimal P32; decimal P34; decimal P36; decimal P37; decimal Q26; decimal Q27; decimal Q28; decimal Q29; decimal Q30; decimal Q31; decimal Q32; decimal Q34; decimal Q36; decimal Q37; decimal L26; decimal L27; decimal L28; decimal L29; decimal L30; decimal L31; decimal L32; decimal L34; decimal L36; decimal L37; decimal AF56; decimal AG55; decimal K40; decimal AL51; decimal AK53; decimal AK51; decimal AK49; decimal AL49; decimal AE55; decimal AF55; //======================================================================== MatriksIndicator Atr_Smoothing; public Smooth Smoothing { get; set; } public enum Smooth { RMA, SMA, EMA, WMA } TdSequential tdSequential; ATR atr; public override void OnInit() { atr = ATRIndicator(Symbol, SymbolPeriod, OHLCType.Close, 14); Atr_Smoothing = new Atr_Smoothing(); Atr_Smoothing.SetIndicatorParameters("Period", Atr_smoothingPeriod); Atr_Smoothing.SetIndicatorParameters("Smoothing", Atr_smoothingSmoothing); RegisterUserIndicator(Atr_Smoothing, Symbol, SymbolPeriod, OHLCType.Close, 1); tdSequential = TdSequentialIndicator(Symbol, SymbolPeriod, TdsequentialSetup, TdsequentialCountdown); SendOrderSequential(false); WorkWithPermanentSignal(true); //Alttaki fonksiyon açıldıktan sonra parametre olarak verilen saniyede bir OnTimer fonksiyonu tetiklenir. SetTimerInterval(5); //Alttaki fonksiyon ile tanımlanan sembol ile ilgili haber geldiğinde OnNewsReceived fonksiyonu tetiklenir. //AddNewsSymbol(Symbol); //Alttaki fonksiyon ile tanımlanan anahtar kelime ile ilgili haber geldiğinde OnNewsReceived fonksiyonu tetiklenir. //AddNewsKeyword("KAP"); } /// /// Init islemleri tamamlaninca, bardatalar kullanmaya hazir hale gelince bu fonksiyon tetiklenir. Data uzerinde bir defa yapilacak islemler icin kullanilir /// public override void OnInitCompleted() { if (konservatif == true) { katsayı = 25; } if (konservatif == false) { katsayı = 50; } } /// /// SetTimerInterval fonksiyonu ile belirtilen sürede bir bu fonksiyon tetiklenir. /// public override void OnTimer() { //=================================================Emir yönü belirlenir. if (SENARYO == 0) { DegiskenleriDosyadanOku(); } var barDataModel1 = GetBarData(Symbol, SymbolPeriod); var barDataModel = GetBarData(); var anlık_fiyat = barDataModel.Close[barDataModel.Close.Count - 1]; //Debug("anlık_fiyat " + anlık_fiyat); var Destek = Absolute((anlık_fiyat - tdSequential.Value[4][tdSequential.CurrentIndex -1])); var Direnç = Absolute((tdSequential.Value[3][tdSequential.CurrentIndex -1] - anlık_fiyat)); //Debug("Destek " + Destek); //Debug("Direnç " + Direnç); if ((Shortt == 1 && (Destek < Direnç) && EXECUTE_trade == 0) && (onceki_bar_yuksek < SELL_LIMIT) && SENARYO == 0 && Destek != 0 && Direnç != 0) { DegiskenleriDosyayaYaz_CANCEL(); DegiskenleriDosyayaYaz_CANCEL2(); bar_kapanış = 0; Shortt = 0; Debug("Fiyat iki TDSEQ arasında kaldı short emir iptal edildi Longa döndü. " + Shortt); } if ((Longg == 1 && (Destek > Direnç) && EXECUTE_trade == 0) && (onceki_bar_dusuk > BUY_LIMIT) && SENARYO == 0 && Destek != 0 && Direnç != 0) { DegiskenleriDosyayaYaz_CANCEL(); DegiskenleriDosyayaYaz_CANCEL2(); bar_kapanış = 0; Longg = 0; Debug("Fiyat iki TDSEQ arasında kaldı long emir iptal edildi shorta döndü. " + Shortt); } //========================================================================== //Debug("EXECUTE_trade "+EXECUTE_trade); if (Destek < Direnç && EXECUTE_trade == 0 && üstüste_long == 0 && SENARYO == 0) { if (open_trade_L == 1 && bar_kapanış < 2) //BU KISIM ONTİMERDA OLACAK { bar_kapanış = bar_kapanış + 1; //bar_kapanış = 1; Debug("bar_kapanış L " + bar_kapanış); Debug("üstüste_long " + üstüste_long); if (bar_kapanış == 2) { DegiskenleriDosyayaYaz_LONG(); DegiskenleriDosyayaYaz_LONG2(); Longg = 1; Debug("Long emir girildi " + Longg); } } } if (Destek > Direnç && EXECUTE_trade == 0 && üstüste_short == 0 && SENARYO == 0) { if (open_trade_S == -1 && bar_kapanış < 2) { bar_kapanış = bar_kapanış + 1; //bar_kapanış = 1; Debug("bar_kapanış S " + bar_kapanış); Debug("üstüste_short S " + üstüste_short); if (bar_kapanış == 2) { DegiskenleriDosyayaYaz_SHORT(); DegiskenleriDosyayaYaz_SHORT2(); Shortt = 1; Debug("Short emir girildi " + Shortt); } } } //=============================== Emir durumu tespit edilir. // var onceki_bar_yuksek = Ref(barDataModel1, OHLCType.High, 1); // var onceki_bar_dusuk = Ref(barDataModel1, OHLCType.Low, 1); // var sımdıkı_yuksek = barDataModel.High[barDataModel.High.Count - 1]; // var sımdıkı_dusuk = barDataModel.Low[barDataModel.Low.Count - 1]; if (SENARYO == 0) { DegiskenleriDosyadanOku(); } //sımdıkı_yuksek = onceki_bar_yuksek; //sımdıkı_dusuk = onceki_bar_dusuk; //Debug("onceki_bar_yuksek " + onceki_bar_yuksek);//high //Debug("onceki_bar_dusuk " + onceki_bar_dusuk);//düşük //Debug("sımdıkı_yuksek " + sımdıkı_yuksek);//close //Debug("sımdıkı_dusuk " + sımdıkı_dusuk);//open if ((((onceki_bar_yuksek > SELL_LIMIT)) && EXECUTE_trade == 0 && open_trade_S == -1 && Shortt == 1)) { EXECUTE_trade = -1; S = 9; L = 9; ES = 9; EL = 9; //open_trade_S = -2; Debug("EXECUTE_trade short " + EXECUTE_trade); Debug("onceki_bar_yuksek " + onceki_bar_yuksek); Debug("SELL_LIMIT " + SELL_LIMIT); } if ((((onceki_bar_dusuk < BUY_LIMIT)) && EXECUTE_trade == 0 && open_trade_L == 1 && Longg == 1)) { EXECUTE_trade = 1; S = 9; L = 9; ES = 9; EL = 9; //open_trade_L = 2; Debug("EXECUTE_trade long " + EXECUTE_trade); } //=========================================== Pozisyon durumu tespit edilir. if (EXECUTE_trade == -1) { if (((onceki_bar_yuksek >= STOP_LOSS_S))) //zarar durumu short pozisyon için { EXECUTE_trade = 0; open_trade_S = 0; sayım = 0; Longg = 0; Shortt = 0; if (MM_M == 1 && sonuc_top == -4) { if (part == 15) { part = 0; } part = part + 1; MM_M = 0; if (SENARYO != 0) { //test_sayı = 1; R_money = (Portföy / 10000) * katsayı * R_çarp; } } Debug("Short pozdan zarar edildi. R_çarp vs kaç oldu?"); Temizlik(); if (S == 9) { S = 10; ES = 10; } //===================================== SL MARTIGALE if (sonuc_top == -4) { R_çarp = 1; sonuc_top = -6; DG = -6; Debug("R_çarp, sonuc_top -6R" + R_çarp); } if (sonuc_top == -2) { R_çarp = 2; sonuc_top = -4; Debug("R_çarp, sonuc_top -4R" + R_çarp); } if (sonuc_top == -1) { R_çarp = 2; sonuc_top = -2; Debug("R_çarp, sonuc_top -2R" + R_çarp); } if (sonuc_top == 0) { R_çarp = 1; sonuc_top = -1; Debug("R_çarp, sonuc_top -1R" + R_çarp); } if (sonuc_top == -6) { sonuc_top = 0; } if (sonuc_top == -6 && konservatif == true) { Ri = Ri + 1; if (Ri == 2) { part = 0; Ri = 0; if (katsayı == 35) { katsayı = 20; } if (katsayı == 50) { katsayı = 35; } } } //sonuc_top = 0; //============================================================================== // exe_say = exe_say + 1; // if (EXECUTE_trade == 0 && exe_say == 2) // { // Temizlik(); // exe_say = 0; // } } if (((onceki_bar_dusuk <= TAKE_PROFIT_S))) //kar durumu short pozisyon için { EXECUTE_trade = 0; sayım = 0; Longg = 0; Shortt = 0; if (S == 9) { S = 10; ES = 10; } if (part == 15) { part = 0; } open_trade_S = 0; part = part + 1; MM_M = 0; if (SENARYO != 0) { test_sayı = 1; R_money = (Portföy / 10000) * katsayı * R_çarp; } Debug("MM'de kaçıncı adımda " + part); Debug("Short pozdan kar alındı. R_çarp vs kaç oldu?"); Temizlik(); //=============================== MARTIGALE-TP DURUMU if (sonuc_top == -4) { R_çarp = 1; sonuc_top = 2; DG = 2; Debug("R_çarp, sonuc_top +2R" + R_çarp); } if (sonuc_top == -2) { R_çarp = 1; sonuc_top = 4; DG = 4; Debug("R_çarp, sonuc_top +4R" + R_çarp); } if (sonuc_top == -1) { R_çarp = 1; sonuc_top = 2; DG = 2; Debug("R_çarp, sonuc_top +2R" + R_çarp); } if (sonuc_top == 0) { R_çarp = 1; sonuc_top = 3; DG = 3; Debug("R_çarp, sonuc_top +3R" + R_çarp); } TP = sonuc_top * katsayı + TP; sonuc_top = 0; if (TP>3 && konservatif == true) { part = 0; TP = 0; if (katsayı == 35) { katsayı = 50; } if (katsayı == 20) { katsayı = 35; } } //=========================================================== } // exe_say = exe_say + 1; // if (EXECUTE_trade == 0 && exe_say == 2) // { // Temizlik(); // exe_say = 0; // } } if (EXECUTE_trade == 1) { if (((onceki_bar_yuksek >= TAKE_PROFIT_L))) //KAR durumu long pozisyon için { EXECUTE_trade = 0; sayım = 0; Longg = 0; Shortt = 0; if (L == 9) { L = 10; EL = 10; } if (part == 15) { part = 0; } open_trade_L = 0; part = part + 1; MM_M = 0; if (SENARYO != 0) { test_sayı = 1; R_money = (Portföy / 10000) * katsayı * R_çarp; } Debug("MM'de kaçıncı adımda " + part); Debug("Long pozdan kar alındı. R_çarp vs kaç oldu?"); Temizlik(); //=============================== MARTIGALE-TP DURUMU if (sonuc_top == -4) { R_çarp = 1; sonuc_top = 2; DG = 2; Debug("R_çarp, sonuc_top +2R" + R_çarp); } if (sonuc_top == -2) { R_çarp = 1; sonuc_top = 4; DG = 4; Debug("R_çarp, sonuc_top +4R" + R_çarp); } if (sonuc_top == -1) { R_çarp = 1; sonuc_top = 2; DG = 2; Debug("R_çarp, sonuc_top +2R" + R_çarp); } if (sonuc_top == 0) { R_çarp = 1; sonuc_top = 3; DG = 3; Debug("R_çarp, sonuc_top +3R" + R_çarp); } TP = sonuc_top * katsayı + TP; sonuc_top = 0; if (TP>3 && konservatif == true) { part = 0; TP = 0; if (katsayı == 35) { katsayı = 50; } if (katsayı == 20) { katsayı = 35; } } //=========================================================== // exe_say = exe_say + 1; // if (EXECUTE_trade == 0 && exe_say == 2) // { // Temizlik(); // exe_say = 0; // } } if (((onceki_bar_dusuk <= STOP_LOSS_L))) //ZARAR durumu LONG pozisyon için { EXECUTE_trade = 0; sayım = 0; Longg = 0; Shortt = 0; if (L == 9) { L = 10; EL = 10; } open_trade_L = 0; if (MM_M == 1 && sonuc_top == -4) { if (part == 15) { part = 0; } part = part + 1; MM_M = 0; if (SENARYO != 0) { //test_sayı = 1; R_money = (Portföy / 10000) * katsayı * R_çarp; } } Debug("MM'de kaçıncı adımda " + part); Debug("Long pozdan zarar edildi. R_çarp vs kaç oldu?"); Temizlik(); //===================================== SL MARTIGALE if (sonuc_top == -4) { R_çarp = 1; sonuc_top = -6; DG = -6; Debug("R_çarp, sonuc_top -6R" + R_çarp); } if (sonuc_top == -2) { R_çarp = 2; sonuc_top = -4; Debug("R_çarp, sonuc_top -4R" + R_çarp); } if (sonuc_top == -1) { R_çarp = 2; sonuc_top = -2; Debug("R_çarp, sonuc_top -2R" + R_çarp); } if (sonuc_top == 0) { R_çarp = 1; sonuc_top = -1; Debug("R_çarp, sonuc_top -1R" + R_çarp); } if (sonuc_top == -6) { sonuc_top = 0; } if (sonuc_top == -6 && konservatif == true) { Ri = Ri + 1; if (Ri == 2) { part = 0; Ri = 0; if (katsayı == 35) { katsayı = 20; } if (katsayı == 50) { katsayı = 35; } } } //============================================================================== // exe_say = exe_say + 1; // if (EXECUTE_trade == 0 && exe_say == 2) // { // Temizlik(); // exe_say = 0; // } } } //========================================================================== } public override void OnDataUpdate(BarDataEventArgs barData) { var barData1 = GetBarData(Symbol, SymbolPeriod); var ohlcData1 = GetSelectedValueFromBarData(barData1, OHLCType.Close); var HİGH = Ref(barData1, OHLCType.High, 1); var LOW = Ref(barData1, OHLCType.Low, 1); //atr2 = Math.Round(atr.CurrentValue, 5); atr1 = Math.Round(Atr_Smoothing.Value[0][Atr_Smoothing.CurrentIndex -1], 5); //var atr3 = Math.Round(Atr_Smoothing.CurrentValue, 5); Debug("atr1 " + atr1); //Debug("atr3 " + atr3); //Debug("atr2 " + atr2); //======================== MM TANIMLAMALAR ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //=================================== SENARYO //====SENARYO= 4 ADIMDA DA ZARAR //====SENARYO= 2 LONG 2 SHORT ADIMDA ZARAR if (SENARYO == -4) { if (test_L <= -3 && test_S == -3) { test_L = 1; test_S = 0; SENARYO = 666; } if (test_L <= -3) { if (test_S == 0) { test_S = -1; } if (test_S < 0) { test_S = test_S -1; } } if (test_L == 0) { test_L = -1; } if (test_L <= 0) { test_L = test_L -1; } Debug("SENARYO " + SENARYO); Debug("test_L " + test_L); Debug("test_S " + test_S); } if (SENARYO == 666 && test_sayı == 1) { SENARYO = -44; test_L = 0; test_sayı = 0; } //====SENARYO= 2 SHORT 2 LONG ADIMDA ZARAR if (SENARYO == -44) { if (test_L <= -3 && test_S <= -3) { test_S = 1; SENARYO = -38; test_L = 0; } if (test_S <= -3) { if (test_L == 0) { test_L = -1; } if (test_L < 0) { test_L = test_L -1; } } if (test_S == 0) { test_S = -1; } if (test_S < 0) { test_S = test_S -1; } Debug("SENARYO " + SENARYO); Debug("test_L " + test_L); Debug("test_S " + test_S); } if (SENARYO == -38 && test_sayı == 1) { SENARYO = -39; test_S = 0; test_sayı = 0; Debug("SENARYO " + SENARYO); Debug("test_L " + test_L); Debug("test_S " + test_S); } //====SENARYO= 4 ADIMDA DA ZARAR SONU============================================== //====SENARYO= 3 ADIMDA DA ZARAR 4. adımda tp if (SENARYO == -39) { if (test_L == 0) { test_L = -1; } if (test_L == -4) { test_S = 2; test_L = 0; SENARYO = -398; } if (test_L == -3) { test_S = -1; } if (test_L < 0) { test_L = test_L -1; } Debug("SENARYO " + SENARYO); Debug("test_L " + test_L); Debug("test_S " + test_S); } if (SENARYO == -398 && test_sayı == 1) { SENARYO = -399; test_sayı = 0; test_S = 0; Debug("SENARYO " + SENARYO); Debug("test_L " + test_L); Debug("test_S " + test_S); } if (SENARYO == -399) { if (test_S == 0) { test_S = -1; } if (test_S == -4) { test_L = 2; test_S = 0; SENARYO = -3000; } if (test_S == -3) { test_L = -1; } if (test_S < 0) { test_S = test_S -1; } Debug("SENARYO " + SENARYO); Debug("test_L " + test_L); Debug("test_S " + test_S); } if (SENARYO == -3000 && test_sayı == 1) { SENARYO = -3; test_sayı = 0; test_L = 0; } //====SENARYO= 3 ADIMDA DA ZARAR 4. adımda tp SONU============================================== //====SENARYO= 2 ADIMDA DA ZARAR 3. adımda tp if (SENARYO == -3) { if (test_L == 0) { test_L = -1; } if (test_L == -3) { test_S = 1; test_L = 0; SENARYO = -3300; } if (test_L < 0) { test_L = test_L -1; } Debug("SENARYO " + SENARYO); Debug("test_L " + test_L); Debug("test_S " + test_S); } if (SENARYO == -3300 && test_sayı == 1) { SENARYO = -33; test_sayı = 0; test_S = 0; } if (SENARYO == -33) { if (test_S == 0) { test_S = -1; } if (test_S == -3) { test_L = 1; test_S = 0; SENARYO = -2000; } if (test_S < 0) { test_S = test_S -1; } Debug("SENARYO " + SENARYO); Debug("test_L " + test_L); Debug("test_S " + test_S); } if (SENARYO == -2000 && test_sayı == 1) { SENARYO = -2; test_sayı = 0; test_L = 0; } //====SENARYO= 2 ADIMDA DA ZARAR 3. adımda tp SONU============================================== //====SENARYO= 1 ADIMDA DA ZARAR 2. adımda tp if (SENARYO == -2) { if (test_L == 0) { test_L = -2; } if (test_L == -3) { test_S = 1; test_L = 0; SENARYO = -2200; } Debug("SENARYO " + SENARYO); Debug("test_L " + test_L); Debug("test_S " + test_S); } if (SENARYO == -2200 && test_sayı == 1) { SENARYO = -22; } if (SENARYO == -22) { if (test_S == 0) { test_S = -2; } if (test_S == -3) { test_L = 1; test_S = 0; SENARYO = -1000; } Debug("SENARYO " + SENARYO); Debug("test_L " + test_L); Debug("test_S " + test_S); } //====SENARYO= 1 ADIMDA DA ZARAR 2. adımda tp p SONU============================================== if (SENARYO == -1000 && test_sayı == 1) { SENARYO = -1; test_sayı = 0; test_L = 0; } //====SENARYO= 1 ADIMDA DA tp if (SENARYO == -1) { test_L = 1; test_S = 0; SENARYO = -1100; Debug("SENARYO " + SENARYO); Debug("test_L " + test_L); Debug("test_S " + test_S); } if (SENARYO == -1100 && test_sayı == 1) { SENARYO = -11; test_sayı = 0; test_L = 0; } if (SENARYO == -11) { test_S = 1; test_L = 0; SENARYO = -4; Debug("SENARYO " + SENARYO); Debug("test_L " + test_L); Debug("test_S " + test_S); } //====SENARYO= 1 ADIMDA DA tp ============================================== //=================================== SENARYO ALT YAPISI //== LONG STOP SENARYO İÇİN if (test_L >= -3 && test_L != 0 && test_L < 0) { BUY_LIMIT = 1.36000m; STOP_LOSS_L = 1.35800m; TAKE_PROFIT_L = 1.36800m; onceki_bar_yuksek = BUY_LIMIT; onceki_bar_dusuk = STOP_LOSS_L -0.00200m; open_trade_L = 1; open_trade_S = 0; EXECUTE_trade = 1; //test_L=test_L-1; //test_S = 0; Debug("test_L " + test_L); Debug("test_S " + test_S); SELL_LIMIT = 0; STOP_LOSS_S = 0; TAKE_PROFIT_S = 0; Debug("LONG STOP SENARYO "); } //== LONG TP SENARYO İÇİN if (test_L <= 3 && test_L != 0 && test_L > 0) { BUY_LIMIT = 1.36000m; STOP_LOSS_L = 1.35800m; TAKE_PROFIT_L = 1.36800m; onceki_bar_yuksek = TAKE_PROFIT_L + 0.00200M; ; onceki_bar_dusuk = BUY_LIMIT; open_trade_L = 1; open_trade_S = 0; EXECUTE_trade = 1; //test_L=test_L+1; //test_S = 0; Debug("test_L " + test_L); Debug("test_S " + test_S); SELL_LIMIT = 0; STOP_LOSS_S = 0; TAKE_PROFIT_S = 0; Debug("LONG TP SENARYO "); } //== SHORT STOP SENARYO İÇİN if (test_S >= -3 && test_S != 0 && test_S < 0) { SELL_LIMIT = 1.36000m; STOP_LOSS_S = 1.36800m; TAKE_PROFIT_S = 1.34800m; onceki_bar_yuksek = STOP_LOSS_S + 0.00200m; onceki_bar_dusuk = SELL_LIMIT; open_trade_S = -1; open_trade_L = 0; EXECUTE_trade = -1; //test_S=test_S-1; //test_L = 0; Debug("test_L " + test_L); Debug("test_S " + test_S); BUY_LIMIT = 0; STOP_LOSS_L = 0; TAKE_PROFIT_L = 0; Debug("SHORT STOP SENARYO "); } //== SHORT TP SENARYO İÇİN if (test_S <= 3 && test_S != 0 && test_S > 0) { SELL_LIMIT = 1.36000m; STOP_LOSS_S = 1.36800m; TAKE_PROFIT_S = 1.34800m; onceki_bar_yuksek = SELL_LIMIT; onceki_bar_dusuk = TAKE_PROFIT_S -0.00200m; open_trade_S = -1; open_trade_L = 0; EXECUTE_trade = -1; //test_S=test_S+1; //test_L = 0; Debug("test_L " + test_L); Debug("test_S " + test_S); BUY_LIMIT = 0; STOP_LOSS_L = 0; TAKE_PROFIT_L = 0; Debug("SHORT TP SENARYO "); } //===============================================================================================0 //+++++++++++++++++++++++++++++++++++++ BİRİNCİ KISIM+++++++++++++++++++++++++++++++++++++++++++++++++++++ D4 = C18; E4 = E18 + F18 + G18; F4 = E4 * D4; if (F4 == 3) { G4 = 1; }else { G4 = 0; } H6 = C18 + D18 + E18; L6 = H18 + I18 + J18 + K18; M6 = H18 + I18 + J18 + K18 + L18; if (part == 0 && MM_M == 0) { C7 = 1; C8 = 1; C9 = 1; C10 = 1; C11 = 1; C12 = 1; C13 = 1; //part = part+100; MM1 = C13; } if (part == 1 && MM_M == 0) { C15 = DG; C17 = C13 * C15; if (C15>-1) { C18 = 1; ; }else { C18 = 0; } D7 = C7; if (D7<0.2m) { D8 = 0.2m; }else { D8 = D7; } if (C15>0) { D9 = C9 + 0.1m; }else { D9 = C9 -0.1m; } if (D9>1) { D10 = 1; }else { D10 = D8; } if (D10<0.1m) { D11 = 0.1m; }else { D11 = D10; } D12 = D8 * D11; if (D12>10) { D13 = 10; }else { D13 = D12; } ////part = part + 100; MM1 = D13; } if (part == 2 && MM_M == 0) { D15 = DG; D17 = D13 * D15; if (D15>0) { D18 = 1; }else { D18 = 0; } if (C15 + D15<-4) { E7 = D7 * 3; }else { E7 = D7 / 2; } if (E7<0.2m) { E8 = 0.2m; }else { E8 = E7; } if (D15>0) { E9 = D9 + 0.1m; }else { E9 = D9 -0.1m; } if (E9>1) { E10 = 1; }else { E10 = E8; } if (E10<0.1m) { E11 = 0.1m; }else { E11 = E10; } E12 = E8 * E11; if (E12>10) { E13 = 10; }else { E13 = E12; } ////part = part + 100; MM1 = E13; } if (part == 3 && MM_M == 0) { E15 = DG; E17 = E13 * E15; if (E15>0) { E18 = 1; }else { E18 = 0; } if (E17 + D17<-10) { F7 = 1; }else { F7 = E7 * 2; } if (F7<0.2m) { F8 = 0.2m; }else { F8 = F7; } if (E15>0) { E9 = D9 + 0.1m; }else { E9 = D9 -0.1m; } if (F9>1) { F10 = 1; }else { F10 = F8; } if (F10<0.1m) { F11 = 0.1m; }else { F11 = F10; } F12 = F8 * F11; if (F12>10) { F13 = 10; }else { F13 = F12; } ////part = part + 100; MM1 = F13; } if (part == 4 && MM_M == 0) { F15 = DG; F17 = F13 * F15; if (F15>0) { F18 = 1; }else { F18 = 0; } G7 = F7; if (G7<0.2m) { G8 = 0.2m; }else { G8 = G7; } if (F15>0) { G9 = F9 + 0.1m; }else { G9 = F9 -0.1m; } if (G9>1) { G10 = 1; }else { G10 = G8; } if (G10<0.1m) { G11 = 0.1m; }else { G11 = G10; } G12 = G8 * G11; if (G12>10) { G13 = 10; }else { G13 = G12; } ////part = part + 100; MM1 = G13; } if (part == 5 && MM_M == 0) { G15 = DG; G17 = G13 * G15; if (G15>0) { G18 = 1; }else { G18 = 0; } if (G17 + F17<-6) { H7 = 4; }else { H7 = 2; } if (H7<0.2m) { H8 = 0.2m; }else { H8 = H7; } if (G4 == 1) { H9 = G9 * 2; }else { H9 = G9 / 2; } if (H9>1) { H10 = 1; }else { H10 = H8; } if (H10<0.1m) { H11 = 0.1m; }else { H11 = H10; } if (G4 == 1) { H12 = G12 * 2; }else { H12 = G12 / 2; } if (H12>10) { H13 = 10; }else { H13 = H12; } if (H6>3) { H14 = H13 / 2; } else { H14 = H13; } ////part = part + 100; MM1 = H14; } if (part == 6 && MM_M == 0) { H15 = DG; H17 = H14 * H15; if (H15>0) { H18 = 1; }else { H18 = 0; } if (H17 + G17<-6) { I7 = 3; }else { I7 = H7 / 2; } if (I7<0.2m) { I8 = 0.2m; }else { I8 = I7; } if (H15>0) { I9 = H9 + 0.1m; }else { I9 = H9 -0.1m; } if (I9>1) { I10 = 1; }else { I10 = I8; } if (I10<0.1m) { I11 = 0.1m; }else { I11 = I10; } I12 = I8 * I11; if (I12>10) { I13 = 10; }else { I13 = I12; } ////part = part + 100; MM1 = I13; } if (part == 7 && MM_M == 0) { I15 = DG; I17 = I13 * I15; if (I15>0) { I18 = 1; }else { I18 = 0; } if (C17 + D17 + E17 + F17 + G17 + H17 + I17>20) { J7 = 2; }else { J7 = I7; } if (J7<0.2m) { J8 = 0.2m; }else { J8 = J7; } if (I15>0) { J9 = I9 + 0.1m; }else { J9 = I9 -0.1m; } if (J9>1) { J10 = 1; }else { J10 = J8; } if (J10<0.1m) { J11 = 0.1m; }else { J11 = E10; } J12 = J8 * J11; if (J12>10) { J13 = 10; }else { J13 = J12; } ////part = part + 100; MM1 = J13; } if (part == 8 && MM_M == 0) { J15 = DG; J17 = J13 * J15; if (J15>0) { J18 = 1; }else { J18 = 0; } if ((J17 + I17) <-6) { K7 = 3; }else { E7 = J7 * 2; } if (K7<0.2m) { K8 = 0.2m; }else { K8 = K7; } if (J15>0) { K9 = J9 + 0.1m; }else { K9 = J9 -0.1m; } if (K9>1) { K10 = 1; }else { K10 = K8; } if (K10<0.1m) { K11 = 0.1m; }else { K11 = K10; } K12 = K8 * K11; if (K12>10) { K13 = 10; }else { K13 = K12; } ////part = part + 100; MM1 = K13; } if (part == 9 && MM_M == 0) { K15 = DG; K17 = K13 * K15; if (K15>0) { K18 = 1; }else { K18 = 0; } if ((G17 + H17 + I17 + J17 + K17 + F17 + E17 + D17 + C17 + B17) >20) { L7 = 2; }else { L7 = K7; } if (L7<0.2m) { L8 = 0.2m; }else { L8 = L7; } if (K15>0) { L9 = K9 + 0.1m; }else { L9 = K9 -0.1m; } if (L9>1) { L10 = 1; }else { L10 = L8; } if (L10<0.1m) { L11 = 0.1m; }else { L11 = L10; } L12 = L8 * L11; if (L12>10) { L13 = 10; }else { L13 = L12; } ////part = part + 100; MM1 = L13; } if (part == 10 && MM_M == 0) { L15 = DG; L17 = L13 * L15; if (L15>0) { L18 = 1; }else { L18 = 0; } if (L17 + K17<-6) { M7 = 3; }else { M7 = L7; } if (M7<0.2m) { M8 = 0.2m; }else { M8 = M7; } if (L15>0) { M9 = L9 + 0.1m; }else { M9 = L9 -0.1m; } if (M9>1) { M10 = 1; }else { M10 = M8; } if (M10<0.1m) { M11 = 0.1m; }else { M11 = M10; } M12 = M8 * M11; if (M12>10) { M13 = 10; }else { M13 = M12; } if (M6>3) { M14 = M13 / 2; }else { M14 = M13; } ////part = part + 100; MM1 = M14; } if (part == 11 && MM_M == 0) { M15 = DG; M17 = M14 * M15; if (M15>0) { M18 = 1; }else { M18 = 0; } if ((I17 + J17 + K17 + L17 + M17 + H17 + G17 + F17 + E17 + D17 + C17 + B17) > 25) { N7 = 2; }else { N7 = M7; } if (N7<0.2m) { N8 = 0.2m; }else { N8 = N7; } if (M15>0) { N9 = M9 + 0.1m; }else { N9 = M9 -0.1m; } if (N9>1) { N10 = 1; }else { N10 = N8; } if (N10<0.1m) { N11 = 0.1m; }else { N11 = N10; } N12 = N8 * N11; if (N12>10) { N13 = 10; }else { N13 = N12; } ////part = part + 100; MM1 = N13; } if (part == 12 && MM_M == 0) { N15 = DG; N17 = N13 * N15; if (N15>0) { N18 = 1; } else { N18 = 0; } if (N17 + M17<-6) { O7 = 3; }else { O7 = N7 * 2; } if (O7<0.2m) { O8 = 0.2m; }else { O8 = O7; } if (N15>0) { O9 = N9 + 0.1m; }else { O9 = N9 -0.1m; } if (O9>1) { O10 = 1; }else { O10 = O8; } if (O10<0.1m) { O11 = 0.1m; }else { O11 = O10; } O12 = O8 * O11; if (O12>10) { O13 = 10; }else { O13 = O12; } ////part = part + 100; MM1 = O13; } if (part == 13 && MM_M == 0) { O15 = DG; O17 = O13 * O15; if (O15>0) { O18 = 1; }else { O18 = 0; } if ((K17 + L17 + M17 + N17 + O17 + J17 + I17 + H17 + G17 + F17 + E17 + D17 + C17) > 10) { P7 = 1; }else { P7 = O7; } if (P7<0.2m) { P8 = 0.2m; }else { P8 = P7; } if (O15>0) { P9 = O9 + 0.1m; }else { P9 = O9 -0.1m; } if (P9>1) { P10 = 1; }else { P10 = P8; } if (P10<0.1m) { P11 = 0.1m; }else { P11 = P10; } P12 = P8 * P11; if (P12>10) { P13 = 10; }else { P13 = P12; } ////part = part + 100; MM1 = P13; } if (part == 14 && MM_M == 0) { P15 = DG; P17 = P13 * P15; if (P15>0) { P18 = 1; }else { P18 = 0; } if (P15>0.9M) { Q7 = P7 + 1.6M; }else { Q7 = P7 -1.2M; } if (Q7<0.2m) { Q8 = 0.2m; }else { Q8 = Q7; } if (P15>0) { Q9 = P9 + 0.1m; }else { Q9 = P9 -0.1m; } if (Q9>1) { Q10 = 1; }else { Q10 = E8; } if (Q10<0.1m) { Q11 = 0.1m; }else { Q11 = E10; } Q12 = Q8 * Q11; if (Q12>10) { Q13 = 10; }else { Q13 = Q12; } ////part = part + 100; MM1 = Q13; } if (part == 15 && MM_M == 0) { Q15 = DG; Q17 = Q13 * Q15; if (Q15>0) { Q18 = 1; }else { Q18 = 0; } // //part = part + 100; MM1 = Q18; } //--------------------------------------------------------------------------------------------------------------------------------------------------- //+++++++++++++++++++++++++++++++++++++ İKİNCİ KISIM+++++++++++++++++++++++++++++++++++++++++++++++++++++ D23 = C37; E23 = E37 + F37 + G37; F23 = E23 * D23; if (F23 == 3) { G23 = 1; } else { G23 = 0; } H25 = C37 + D37 + E37; L25 = H37 + I37 + J37 + K37; M25 = H37 + I37 + J37 + K37 + L37; if (part == 0 && MM_M == 0) { MM_M = 1; C26 = 1; C27 = 1; C28 = 1; C29 = 1; C30 = 1; C31 = 1; C32 = 1; //part = part + 100; MM2 = C32; } if (part == 1 && MM_M == 0) { MM_M = 1; C34 = DG; C36 = C32 * C34; if (C34>-1) { C37 = 1; } else { C37 = 0; } if (C34>0.9M) { D26 = C26 + 0.6M; } else { D26 = C26; } if (D26<0.2m) { D27 = 0.2m; } else { D27 = D26; } if (C34>0) { D28 = C28 + 0.1m; } else { D28 = (C28 -0.1m); } if (D28>1) { D29 = 1; } else { D29 = D27; } if (D29<0.1m) { D30 = 0.1m; } else { D30 = D29; } D31 = D27 * D30; if (D31>10) { D32 = 10; } else { D32 = D31; } //part = part + 100; MM2 = D32; } if (part == 2 && MM_M == 0) { MM_M = 1; D34 = DG; D36 = D32 * D34; if (D34>0) { D37 = 1; } else { D37 = 0; } if (D34>0.9M) { E26 = D26 + 0.6M; } else { E26 = D26 -0.2M; } if (E26<0.2m) { E27 = 0.2m; } else { E27 = E26; } if (D34>0) { E28 = D28 + 0.1m; } else { E28 = D28 -0.1m; } if (E28>1) { E29 = 1; } else { E29 = E27; } if (E29<0.1m) { E30 = 0.1m; } else { E30 = E29; } E31 = E27 * E30; if (E31>10) { E32 = 10; } else { E32 = E31; } //part = part + 100; MM2 = E32; } if (part == 3 && MM_M == 0) { MM_M = 1; E34 = DG; E36 = E32 * E34; if (E34>0) { E37 = 1; } else { E37 = 0; } if (E34>0.9M) { F26 = E26 + 0.6M; } else { F26 = E26; } if (F26<0.2m) { F27 = 0.2m; } else { F27 = F26; } if (E34>0) { E28 = D28 + 0.1m; } else { E28 = D28 -0.1m; } if (F28>1) { F29 = 1; } else { F29 = F27; } if (F29 < 0.1m) { F30 = 0.1m; } else { F30 = F29; } F31 = F27 * F30; if (F31>10) { F32 = 10; } else { F32 = F31; } //part = part + 100; MM2 = F32; } if (part == 4 && MM_M == 0) { MM_M = 1; F34 = DG; F36 = F32 * F34; if (F34>0) { F37 = 1; } else { F37 = 0; } if (F34>0.9M) { G26 = F26 + 0.6M; } else { G26 = F26 -0.2M; } if (G26<0.2m) { G27 = 0.2m; } else { G27 = G26; } if (F34>0) { G28 = F28 + 0.1m; } else { G28 = F28 -0.1m; } if (G28>1) { G29 = 1; } else { G29 = G27; } if (G29<0.1m) { G30 = 0.1m; } else { G30 = G29; } G31 = G27 * G30; if (G31>10) { G32 = 10; } else { G32 = G31; } //part = part + 100; MM2 = G32; } if (part == 5 && MM_M == 0) { MM_M = 1; G34 = DG; G36 = G32 * G34; if (G34>0) { G37 = 1; } else { G37 = 0; } if (G23 == 1) { H26 = G26 * 2; } else { H26 = G26 / 2; } if (G23 == 1) { H27 = G27 * 2; } else { H27 = G27 / 2; } if (G23 == 1) { H28 = G28 * 2; } else { H28 = G28 / 2; } if (H28>1) { H29 = 1; } else { H29 = H27; } if (H29<0.1m) { H30 = 0.1m; } else { H30 = H29; } if (G23 == 1) { H31 = G31 * 2; } else { H31 = G31 / 2; } if (H31>10) { H32 = 10; } else { H32 = H31; } if (H25>3) { H33 = H32 / 2; } else { H33 = H32; } //part = part + 100; MM2 = H33; } if (part == 6 && MM_M == 0) { MM_M = 1; H34 = DG; H36 = H33 * H34; if (H34>0) { H37 = 1; } else { H37 = 0; } if (H34>0.9M) { I26 = H26 + 1.6M; } else { I26 = H26; } if (I26<0.2m) { I27 = 0.2m; } else { I27 = I26; } if (H34>0) { I28 = H28 + 0.1m; } else { I28 = H28 -0.1m; } if (I28>1) { I29 = 1; } else { I29 = I27; } if (I29<0.1m) { I30 = 0.1m; } else { I30 = I29; } I31 = I27 * I30; if (I31>10) { I32 = 10; } else { I32 = I31; } //part = part + 100; MM2 = I32; } if (part == 7 && MM_M == 0) { MM_M = 1; I34 = DG; I36 = I32 * I34; if (I34>0) { I37 = 1; } else { I37 = 0; } if (I34>0.9M) { J26 = I26 + 1.6M; } else { J26 = I26 -1.2M; } if (J26<0.2m) { J27 = 0.2m; } else { J27 = J26; } if (I34>0) { J28 = I28 + 0.1m; } else { J28 = I28 -0.1m; } if (J28>1) { J29 = 1; } else { J29 = J27; } if (J29<0.1m) { J30 = 0.1m; } else { J30 = E29; } J31 = J27 * J30; if (J31>10) { J32 = 10; } else { J32 = J31; } //part = part + 100; MM2 = J32; } if (part == 8 && MM_M == 0) { MM_M = 1; J34 = DG; J36 = J32 * J34; if (J34>0) { J37 = 1; } else { J37 = 0; } if (J34>0.9M) { K26 = J26 + 1.6M; } else { K26 = J26; } if (K26<0.2m) { K27 = 0.2m; } else { K27 = K26; } if (J34>0) { K28 = J28 + 0.1m; } else { K28 = J28 -0.1m; } if (K28>1) { K29 = 1; } else { K29 = K27; } if (K29<0.1m) { K30 = 0.1m; } else { K30 = K29; } K31 = K27 * K30; if (K31>10) { K32 = 10; } else { K32 = K31; } //part = part + 100; MM2 = K32; } if (part == 9 && MM_M == 0) { K34 = DG; K36 = K32 * K34; if (K34>0) { K37 = 1; } else { K37 = 0; } //================================================= [ARA HESAP-BAŞLANGIÇ] =================================================================// AK49 = C36 + D36 + E36 + F36 + G36 + H36 + I36 + J36; if (AK49>0) { AL49 = AK49; } else { AL49 = AK49 * -1; } AE55 = AL49 / 2; if (AE55<0) { AF55 = AE55 * -1; } else { AF55 = AE55; } if (K34>0.9M) { L26 = K26 + 1.6M; } else { L26 = K26; } if (L26<0.2m) { L27 = 0.2m; } else { L27 = L26; } if (K34>0) { L28 = K28 + 0.1m; } else { L28 = K28 -0.1m; } if (L28>1) { L29 = 1; } else { L29 = L27; } if (L29<0.1m) { L30 = 0.1m; } else { L30 = L29; } L31 = L27 * L30; if (L31>10) { L32 = 10; } else { L32 = L31; } } if (part == 9 && MM_M == 0) { L34 = -1; L36 = L32 * L34; if (L34>0) { L37 = 1; } else { L37 = 0; } if (M25>3) { M26 = AF56; } else { M26 = 0; } if (M26<0.2m) { M27 = 0.2m; } else { M27 = M26; } if (L34>0) { M28 = L28 + 0.1m; } else { M28 = L28 -0.1m; } if (M28>1) { M29 = 1; } else { M29 = M27; } if (M29<0.1m) { M30 = 0.1m; } else { M30 = M29; } M31 = M27 * M30; if (M31>10) { M32 = 10; } else { M32 = M31; } if (M25>3) { M33 = M32 / 2; } else { M33 = M32; } } if (part == 9 && MM_M == 0) { M34 = -1; M36 = M33 * M34; if (M34>0) { M37 = 1; } else { M37 = 0; } if (M34>0.9M) { N26 = M26 + 1.6M; } else { N26 = M26; } if (N26<0.2m) { N27 = 0.2m; } else { N27 = N26; } if (M34>0) { N28 = M28 + 0.1m; } else { N28 = M28 -0.1m; } if (N28>1) { N29 = 1; } else { N29 = N27; } if (N29<0.1m) { N30 = 0.1m; } else { N30 = N29; } N31 = N27 * N30; if (N31>10) { N32 = 10; } else { N32 = N31; } } if (part == 9 && MM_M == 0) { N34 = -1; N36 = N32 * N34; if (N34>0) { N37 = 1; } else { N37 = 0; } if (N34>0.9M) { O26 = N26 + 1.6M; } else { O26 = N26 -1.2M; } if (O26<0.2m) { O27 = 0.2m; } else { O27 = O26; } if (N34>0) { O28 = N28 + 0.1m; } else { O28 = N28 -0.1m; } if (O28>1) { O29 = 1; } else { O29 = O27; } if (O29<0.1m) { O30 = 0.1m; } else { O30 = O29; } O31 = O27 * O30; if (O31>10) { O32 = 10; } else { O32 = O31; } } if (part == 9 && MM_M == 0) { O34 = -1; O36 = O32 * O34; if (O34>0) { O37 = 1; } else { O37 = 0; } if (O34>0.9M) { P26 = O26 + 1.6M; } else { P26 = O26; } if (P26<0.2m) { P27 = 0.2m; } else { P27 = P26; } if (O34>0) { P28 = O28 + 0.1m; } else { P28 = O28 -0.1m; } if (P28>1) { P29 = 1; } else { P29 = P27; } if (P29<0.1m) { P30 = 0.1m; } else { P30 = P29; } P31 = P27 * P30; if (P31>10) { P32 = 10; } else { P32 = P31; } } if (part == 9 && MM_M == 0) { P34 = -1; P36 = P32 * P34; if (P34>0) { P37 = 1; } else { P37 = 0; } if (P34>0.9M) { Q26 = P26 + 1.6M; } else { Q26 = P26 -1.2M; } if (Q26<0.2m) { Q27 = 0.2m; } else { Q27 = Q26; } if (P34>0) { Q28 = P28 + 0.1m; } else { Q28 = P28 -0.1m; } if (Q28>1) { Q29 = 1; } else { Q29 = E27; } if (Q29<0.1m) { Q30 = 0.1m; } else { Q30 = E29; } Q31 = Q27 * Q30; if (Q31>10) { Q32 = 10; } else { Q32 = Q31; } } if (part == 9 && MM_M == 0) { MM_M = 1; Q34 = -1; Q36 = Q32 * Q34; if (Q34>0) { Q37 = 1; } else { Q37 = 0; } AK51 = L36 + M36 + N36 + O36 + P36 + Q36; if (AK51<0) { AL51 = AK51 * -1; } else { AL51 = AK51; } if (AL51<1) { AK53 = 1; } else { AK53 = AL51; } if (AK53 == 1) { AF56 = AF56; } else { AF56 = AG55; } K40 = 0; //================================================= [ARA HESAP-SON] =================================================================// if (K34>0.9M) { L26 = K26 + 1.6M; } else { L26 = K26; } if (L26<0.2m) { L27 = 0.2m; } else { L27 = L26; } if (K34>0) { L28 = K28 + 0.1m; } else { L28 = K28 -0.1m; } if (L28>1) { L29 = 1; } else { L29 = L27; } if (L29<0.1m) { L30 = 0.1m; } else { L30 = L29; } L31 = L27 * L30; if (L31>10) { L32 = 10; } else { L32 = L31; } //part = part + 100; MM2 = L32; } if (part == 10 && MM_M == 0) { MM_M = 1; L34 = DG; L36 = L32 * L34; if (L34>0) { L37 = 1; } else { L37 = 0; } if (M25>3) { M26 = AF56; } else { M26 = 0; } if (M26<0.2m) { M27 = 0.2m; } else { M27 = M26; } if (L34>0) { M28 = L28 + 0.1m; } else { M28 = L28 -0.1m; } if (M28>1) { M29 = 1; } else { M29 = M27; } if (M29<0.1m) { M30 = 0.1m; } else { M30 = M29; } M31 = M27 * M30; if (M31>10) { M32 = 10; } else { M32 = M31; } if (M25>3) { M33 = M32 / 2; } else { M33 = M32; } //part = part + 100; MM2 = M33; } if (part == 11 && MM_M == 0) { MM_M = 1; M34 = DG; M36 = M33 * M34; if (M34>0) { M37 = 1; } else { M37 = 0; } if (M34>0.9M) { N26 = M26 + 1.6M; } else { N26 = M26; } if (N26<0.2m) { N27 = 0.2m; } else { N27 = N26; } if (M34>0) { N28 = M28 + 0.1m; } else { N28 = M28 -0.1m; } if (N28>1) { N29 = 1; } else { N29 = N27; } if (N29<0.1m) { N30 = 0.1m; } else { N30 = N29; } N31 = N27 * N30; if (N31>10) { N32 = 10; } else { N32 = N31; } //part = part + 100; MM2 = N32; } if (part == 12 && MM_M == 0) { MM_M = 1; N34 = DG; N36 = N32 * N34; if (N34>0) { N37 = 1; } else { N37 = 0; } if (N34>0.9M) { O26 = N26 + 1.6M; } else { O26 = N26 -1.2M; } if (O26<0.2m) { O27 = 0.2m; } else { O27 = O26; } if (N34>0) { O28 = N28 + 0.1m; } else { O28 = N28 -0.1m; } if (O28>1) { O29 = 1; } else { O29 = O27; } if (O29<0.1m) { O30 = 0.1m; } else { O30 = O29; } O31 = O27 * O30; if (O31>10) { O32 = 10; } else { O32 = O31; } //part = part + 100; MM2 = O32; } if (part == 13 && MM_M == 0) { MM_M = 1; O34 = DG; O36 = O32 * O34; if (O34>0) { O37 = 1; } else { O37 = 0; } if (O34>0.9M) { P26 = O26 + 1.6M; } else { P26 = O26; } if (P26<0.2m) { P27 = 0.2m; } else { P27 = P26; } if (O34>0) { P28 = O28 + 0.1m; } else { P28 = O28 -0.1m; } if (P28>1) { P29 = 1; } else { P29 = P27; } if (P29<0.1m) { P30 = 0.1m; } else { P30 = P29; } P31 = P27 * P30; if (P31>10) { P32 = 10; } else { P32 = P31; } //part = part + 100; MM2 = P32; } if (part == 14 && MM_M == 0) { MM_M = 1; P34 = DG; P36 = P32 * P34; if (P34>0) { P37 = 1; } else { P37 = 0; } if (P34>0.9M) { Q26 = P26 + 1.6M; } else { Q26 = P26 -1.2M; } if (Q26<0.2m) { Q27 = 0.2m; } else { Q27 = Q26; } if (P34>0) { Q28 = P28 + 0.1m; } else { Q28 = P28 -0.1m; } if (Q28>1) { Q29 = 1; } else { Q29 = E27; } if (Q29<0.1m) { Q30 = 0.1m; } else { Q30 = E29; } Q31 = Q27 * Q30; if (Q31>10) { Q32 = 10; } else { Q32 = Q31; } //part = part + 100; MM2 = Q32; } if (part == 15 && MM_M == 0) { MM_M = 1; Q34 = DG; Q36 = Q32 * Q34; if (Q34>0) { Q37 = 1; } else { Q37 = 0; } //part = part + 100; MM2 = Q37; } Debug("MM1 " + MM1); Debug("MM2 " + MM2); Debug("MM'de kaçıncı adımda " + part); //--------------------------------------------------------------------------------------------------------------------------------------------------- //=========================================== TDSEQ BÖLÜMÜ BEGIN ==============================================================// //== Bu kısımda 3-İşlem alınan değerde tekrar işlem almama,oluşan noktanın 30 bar öncekiyle aynı olmaması sağlanır. =====// if ((tdSequential.Value[3][tdSequential.CurrentIndex - 300] != tdSequential.Value[3][tdSequential.CurrentIndex -1]) && SENARYO == 0)// && open_trade_S == 0 && EXECUTE_trade == 0) { S = 1; ES = 0; Debug("S " + S); } if ((tdSequential.Value[4][tdSequential.CurrentIndex - 300] != tdSequential.Value[4][tdSequential.CurrentIndex -1]) && SENARYO == 0)// && open_trade_L == 0 && EXECUTE_trade == 0) { L = 1; EL = 0; Debug("L " + L); } //=========================================LONG YÖNLÜ 7 NOKTAYI İZLER if (EL == 0 && tdSequential.Value[4][tdSequential.CurrentIndex -1] != 0 && SENARYO == 0) { // if ((tdSequential.Value[4][tdSequential.CurrentIndex - 7] == tdSequential.Value[4][tdSequential.CurrentIndex -6])) // { // EL = EL + 1; // } if ((tdSequential.Value[4][tdSequential.CurrentIndex - 6] == tdSequential.Value[4][tdSequential.CurrentIndex -5]) && EL < 7) { EL = EL + 1; } if ((tdSequential.Value[4][tdSequential.CurrentIndex - 5] == tdSequential.Value[4][tdSequential.CurrentIndex -4]) && EL < 7) { EL = EL + 1; } if ((tdSequential.Value[4][tdSequential.CurrentIndex - 4] == tdSequential.Value[4][tdSequential.CurrentIndex -3]) && EL < 7) { EL = EL + 1; } if ((tdSequential.Value[4][tdSequential.CurrentIndex - 3] == tdSequential.Value[4][tdSequential.CurrentIndex -2]) && EL < 7) { EL = EL + 1; } if ((tdSequential.Value[4][tdSequential.CurrentIndex - 2] == tdSequential.Value[4][tdSequential.CurrentIndex -1]) && EL < 7) { EL = EL + 1; } if ((tdSequential.Value[4][tdSequential.CurrentIndex - 1] == tdSequential.Value[4][tdSequential.CurrentIndex]) && EL < 7) { EL = EL + 1; } if (EL == 6) { EL = 7; } } //=========================================SJORT YÖNLÜ 7 NOKTAYI İZLER if (ES == 0 && tdSequential.Value[3][tdSequential.CurrentIndex -1] != 0 && SENARYO == 0) { // if ((tdSequential.Value[3][tdSequential.CurrentIndex - 7] == tdSequential.Value[3][tdSequential.CurrentIndex -6])) // { // ES = ES + 1; // } if ((tdSequential.Value[3][tdSequential.CurrentIndex - 6] == tdSequential.Value[3][tdSequential.CurrentIndex -5]) && ES < 7) { ES = ES + 1; } if ((tdSequential.Value[3][tdSequential.CurrentIndex - 5] == tdSequential.Value[3][tdSequential.CurrentIndex -4]) && ES < 7) { ES = ES + 1; } if ((tdSequential.Value[3][tdSequential.CurrentIndex - 4] == tdSequential.Value[3][tdSequential.CurrentIndex -3]) && ES < 7) { ES = ES + 1; } if ((tdSequential.Value[3][tdSequential.CurrentIndex - 3] == tdSequential.Value[3][tdSequential.CurrentIndex -2]) && ES < 7) { ES = ES + 1; } if ((tdSequential.Value[3][tdSequential.CurrentIndex - 2] == tdSequential.Value[3][tdSequential.CurrentIndex -1]) && ES < 7) { ES = ES + 1; } if ((tdSequential.Value[3][tdSequential.CurrentIndex - 1] == tdSequential.Value[3][tdSequential.CurrentIndex]) && ES < 7) { ES = ES + 1; } if (ES == 6) { ES = 7; } } // Debug("tdSequential.Value[4][tdSequential.CurrentIndex]" + tdSequential.Value[4][tdSequential.CurrentIndex]); // Debug("tdSequential.Value[4][tdSequential.CurrentIndex - 1]" + tdSequential.Value[4][tdSequential.CurrentIndex - 1]); // Debug("tdSequential.Value[4][tdSequential.CurrentIndex - 2]" + tdSequential.Value[4][tdSequential.CurrentIndex - 2]); // Debug("tdSequential.Value[4][tdSequential.CurrentIndex - 3]" + tdSequential.Value[4][tdSequential.CurrentIndex - 3]); // Debug("tdSequential.Value[4][tdSequential.CurrentIndex - 4]" + tdSequential.Value[4][tdSequential.CurrentIndex - 4]); // Debug("tdSequential.Value[4][tdSequential.CurrentIndex - 5]" + tdSequential.Value[4][tdSequential.CurrentIndex - 5]); // Debug("tdSequential.Value[4][tdSequential.CurrentIndex - 6]" + tdSequential.Value[4][tdSequential.CurrentIndex - 6]); // Debug("tdSequential.Value[4][tdSequential.CurrentIndex - 7]" + tdSequential.Value[4][tdSequential.CurrentIndex - 7]); // Debug("tdSequential.Value[3][tdSequential.CurrentIndex]" + tdSequential.Value[3][tdSequential.CurrentIndex]); // Debug("tdSequential.Value[3][tdSequential.CurrentIndex - 1]" + tdSequential.Value[3][tdSequential.CurrentIndex - 1]); // Debug("tdSequential.Value[3][tdSequential.CurrentIndex - 2]" + tdSequential.Value[3][tdSequential.CurrentIndex - 2]); // Debug("tdSequential.Value[3][tdSequential.CurrentIndex - 3]" + tdSequential.Value[3][tdSequential.CurrentIndex - 3]); // Debug("tdSequential.Value[3][tdSequential.CurrentIndex - 4]" + tdSequential.Value[3][tdSequential.CurrentIndex - 4]); // Debug("tdSequential.Value[3][tdSequential.CurrentIndex - 5]" + tdSequential.Value[3][tdSequential.CurrentIndex - 5]); // Debug("tdSequential.Value[3][tdSequential.CurrentIndex - 6]" + tdSequential.Value[3][tdSequential.CurrentIndex - 6]); // Debug("tdSequential.Value[3][tdSequential.CurrentIndex - 7]" + tdSequential.Value[3][tdSequential.CurrentIndex - 7]); Debug("EL1 " + EL); Debug("ES1 " + ES); //========================================================================================================================== if (EL < 7 && EXECUTE_trade == 0 && SENARYO == 0) { EL = 0; Debug("Eğer 7 nokta art arda yoksa başa döner EL" + EL); } // Eğer 7 nokta art arda yoksa başa döner. if (ES < 7 && EXECUTE_trade == 0 && SENARYO == 0) { ES = 0; Debug("Eğer 7 nokta art arda yoksa başa döner ES" + ES); } // Eğer 7 nokta art arda yoksa başa döner. //Debug("EL2" + EL); //Debug("ES2" + ES); //===========TDSEQ DEĞERİ DEĞİŞİRSE İLK SAYIMA BAŞLAT TEKRAR // if ((tdSequential.Value[4][tdSequential.CurrentIndex - 1] == tdSequential.Value[4][tdSequential.CurrentIndex -2])) // { // S=10; // L=10; // } //=========================================================================== //========================================= SON NOKTA OLAMZSA EMİRLER İPTAL veya son nokta değeri farklıysa if ((((tdSequential.Value[3][tdSequential.CurrentIndex -1] == 0) || (tdSequential.Value[3][tdSequential.CurrentIndex -1] != tdSequential.Value[3][tdSequential.CurrentIndex])) && ES == 7 && open_trade_S == 1 && EXECUTE_trade == 0) && SENARYO == 0)// bu kod hangi son noktayı baz alıyor? { S = 10; ES = 10; open_trade_S = 0; DegiskenleriDosyayaYaz_CANCEL(); DegiskenleriDosyayaYaz_CANCEL2(); Debug("SON NOKTA OLAMZSA EMİRLER İPTAL ES" + ES); } if (((tdSequential.Value[4][tdSequential.CurrentIndex -1] == 0) || (tdSequential.Value[4][tdSequential.CurrentIndex -1] != tdSequential.Value[4][tdSequential.CurrentIndex])) && EL == 7 && open_trade_L == 1 && EXECUTE_trade == 0 && SENARYO == 0) { L = 10; EL = 10; open_trade_L = 0; DegiskenleriDosyayaYaz_CANCEL(); DegiskenleriDosyayaYaz_CANCEL2(); Debug("SON NOKTA OLAMZSA EMİRLER İPTAL EL" + EL); } //============================================ 7 NOKTA TAMAMLANMADAN ÇİZGİ AŞILIRSA İŞLEM ALMAZ if (sımdıkı_yuksek > tdSequential.Value[4][tdSequential.CurrentIndex] && EL < 7 && EL > 0 && (tdSequential.Value[4][tdSequential.CurrentIndex - 1] == tdSequential.Value[4][tdSequential.CurrentIndex] && sayL == 0) && EXECUTE_trade == 0 && open_trade_L == 0 && tdSequential.Value[4][tdSequential.CurrentIndex] != 0 && SENARYO == 0) { sayL = tdSequential.Value[4][tdSequential.CurrentIndex]; Debug("7 NOKTA TAMAMLANMADAN ÇİZGİ AŞILIRSA İŞLEM ALMAZ sayL" + sayL); } if (sımdıkı_yuksek < tdSequential.Value[3][tdSequential.CurrentIndex] && ES > 0 && ES < 7 && (tdSequential.Value[3][tdSequential.CurrentIndex - 1] == tdSequential.Value[3][tdSequential.CurrentIndex] && sayS == 0) && EXECUTE_trade == 0 && open_trade_S == 0 && tdSequential.Value[3][tdSequential.CurrentIndex] != 0 && SENARYO == 0) { sayS = tdSequential.Value[3][tdSequential.CurrentIndex]; Debug("7 NOKTA TAMAMLANMADAN ÇİZGİ AŞILIRSA İŞLEM ALMAZ sayS" + sayS); } if ((sayL != 0 || sayS != 0) && EXECUTE_trade == 0 && SENARYO == 0) { if (SENARYO == 0) { DegiskenleriDosyadanOku(); } var close = sımdıkı_yuksek; var open = sımdıkı_dusuk; Debug("close bar kapanış " + close); Debug("open bar açılış" + open); if (open>sayL && close < sayL) { EL = 10; Debug("EL 2 " + EL); } if (open < sayS && close > sayS) { ES = 10; Debug("ES 2 " + ES); } } if (EL == 7 && L == 1 && üstüste_long == 0 && EXECUTE_trade == 0 && SENARYO == 0) //Burada LONG işlem emİR SİNYALİ gönderilir. { if (bar_kapanış >= 2) { // DegiskenleriDosyayaYaz_CANCEL(); // DegiskenleriDosyayaYaz_CANCEL2(); //Debug("Eğer işleme girilmeden yeni bar açıldıysa emirler iptal edilir LONG"); } if (Atr_Smoothing.CurrentValue < 0.00080M) { Mesafe = Math.Round(atr1, 5); } if (Atr_Smoothing.CurrentValue > 0.00080M) { Mesafe = 0.00080M; } BUY_LIMIT = Math.Round(tdSequential.Value[4][tdSequential.CurrentIndex], 5); TAKE_PROFIT_L = Math.Round((BUY_LIMIT + ((Mesafe * 3) - 0.00005m)), 5); STOP_LOSS_L = Math.Round((BUY_LIMIT - Mesafe), 5); R_money = (Portföy / 10000) * katsayı * R_çarp; var R_money1 = R_money * BUY_LIMIT; SIZE_L = Math.Round(((R_money1 * 0.3m * MM1) / (Mesafe * 100000)), 2); SIZE_L2 = Math.Round(((R_money1 * 0.7m * MM2) / (Mesafe * 100000)), 2); open_trade_L = 1; bar_kapanış = 0; Debug("SIZE_L " + SIZE_L); Debug("SIZE_L2 " + SIZE_L2); Debug("Emir ve poz büyüklük hesaplanır- open_trade_L "); //Debug("open_trade_S " + open_trade_S); } //=========================================== if (open_trade_L == 1 && EXECUTE_trade == 1) { if (sonuc_top < 0 && sayım == 0) { long1 = long1 + 1; sayım = 1; } short1 = 0; //open_trade_L = 2; üstüste_short = 0; Debug("Üst üste stop durumu incelenir(2 olursa zıt yönlü işlem beklenir) long1 " + long1); } if (long1 == 2)//&& sonuc_top == -2) { üstüste_long = 1; Debug("üstüste_long " + üstüste_long); } if (ES == 7 && S == 1 && üstüste_short == 0 && EXECUTE_trade == 0 && SENARYO == 0) //Burada SHORT EMİR SNYALİ { if (bar_kapanış >= 2) { // DegiskenleriDosyayaYaz_CANCEL(); // DegiskenleriDosyayaYaz_CANCEL2(); //Debug("Eğer işleme girilmeden yeni bar açıldıysa emirler iptal edilir SHORT"); } //========================================== HESAPLAMALAR-SHORT if (Atr_Smoothing.CurrentValue < 0.00080M) { Mesafe = Math.Round(atr1, 5); } if (Atr_Smoothing.CurrentValue > 0.00080M) { Mesafe = 0.00080M; } SELL_LIMIT = Math.Round(tdSequential.Value[3][tdSequential.CurrentIndex], 5); TAKE_PROFIT_S = Math.Round((SELL_LIMIT - ((Mesafe * 3) + 0.00005m)), 5); STOP_LOSS_S = Math.Round((SELL_LIMIT + Mesafe), 5); R_money = (Portföy / 10000) * katsayı * R_çarp; var R_money1 = R_money * SELL_LIMIT; SIZE_S = Math.Round(((R_money1 * 0.3m * MM1) / (Mesafe * 100000)), 2); SIZE_S2 = Math.Round(((R_money1 * 0.7m * MM2) / (Mesafe * 100000)), 2); open_trade_S = -1; bar_kapanış = 0; Debug("SIZE_S " + SIZE_S); Debug("SIZE_S2 " + SIZE_S2); Debug("Emir ve poz büyüklük hesaplanır- open_trade_S "); //Debug("open_trade_S " + open_trade_S); } if (open_trade_S == -1 && EXECUTE_trade == -1) { if (sonuc_top < 0 && sayım == 0) { short1 = short1 + 1; sayım = 1; } long1 = 0; üstüste_long = 0; //open_trade_S = -2; Debug("Üst üste stop durumu incelenir(2 olursa zıt yönlü işlem beklenir) short1 " + short1); } if (short1 == 2)//&& sonuc_top < -2) { üstüste_short = 1; Debug("üstüste_short " + üstüste_short); } //================================ } public override void OnStopped() { if (1 == 1) { string fullPath = "C:\\Users\\kralh\\AppData\\Roaming\\MetaQuotes\\Terminal\\938B05233D2A58797E7AA190E05A445A\\MQL5\\Files\\signal.txt";//HESAPADI_YÖN_COINNAME Encoding utf16LE = new UnicodeEncoding(false, false); using (StreamWriter writer = new StreamWriter(fullPath, false, utf16LE)) { writer.WriteLine(""); writer.WriteLine(""); writer.WriteLine(""); writer.WriteLine(""); writer.WriteLine(""); } } if (1 == 1) { string fullPath2 = "C:\\Users\\kralh\\AppData\\Roaming\\MetaQuotes\\Terminal\\938B05233D2A58797E7AA190E05A445A\\MQL5\\Files\\signal2.txt";//HESAPADI_YÖN_COINNAME Encoding utf16LE = new UnicodeEncoding(false, false); using (StreamWriter writer = new StreamWriter(fullPath2, false, utf16LE)) { writer.WriteLine(""); writer.WriteLine(""); writer.WriteLine(""); writer.WriteLine(""); writer.WriteLine(""); } } } public void Temizlik() { if (1 == 1) { string fullPath = "C:\\Users\\kralh\\AppData\\Roaming\\MetaQuotes\\Terminal\\938B05233D2A58797E7AA190E05A445A\\MQL5\\Files\\signal.txt";//HESAPADI_YÖN_COINNAME Encoding utf16LE = new UnicodeEncoding(false, false); using (StreamWriter writer = new StreamWriter(fullPath, false, utf16LE)) { writer.WriteLine(""); writer.WriteLine(""); writer.WriteLine(""); writer.WriteLine(""); writer.WriteLine(""); } } if (1 == 1) { string fullPath2 = "C:\\Users\\kralh\\AppData\\Roaming\\MetaQuotes\\Terminal\\938B05233D2A58797E7AA190E05A445A\\MQL5\\Files\\signal2.txt";//HESAPADI_YÖN_COINNAME Encoding utf16LE = new UnicodeEncoding(false, false); using (StreamWriter writer = new StreamWriter(fullPath2, false, utf16LE)) { writer.WriteLine(""); writer.WriteLine(""); writer.WriteLine(""); writer.WriteLine(""); writer.WriteLine(""); } } } public void DegiskenleriDosyayaYaz_LONG() { string fullPath = @"C:\\Users\\kralh\\AppData\\Roaming\\MetaQuotes\\Terminal\\938B05233D2A58797E7AA190E05A445A\\MQL5\\Files\\signal.txt";//HESAPADI_YÖN_COINNAME string BUY_LIMIT1 = BUY_LIMIT.ToString().Replace(',', '.'); string TAKE_PROFIT_L1 = TAKE_PROFIT_L.ToString().Replace(',', '.'); string STOP_LOSS_L1 = STOP_LOSS_L.ToString().Replace(',', '.'); string SIZE_L1 = SIZE_L.ToString().Replace(',', '.'); Encoding utf16LE = new UnicodeEncoding(false, false); using (StreamWriter writer = new StreamWriter(fullPath, false, utf16LE)) { writer.WriteLine("USDCAD"); writer.WriteLine("BUY_LIMIT " + BUY_LIMIT1); writer.WriteLine("TAKE_PROFIT " + TAKE_PROFIT_L1); writer.WriteLine("STOP_LOSS " + STOP_LOSS_L1); writer.WriteLine("SIZE " + SIZE_L1); } } public void DegiskenleriDosyayaYaz_SHORT() { string fullPath = @"C:\\Users\\kralh\\AppData\\Roaming\\MetaQuotes\\Terminal\\938B05233D2A58797E7AA190E05A445A\\MQL5\\Files\\signal.txt";//HESAPADI_YÖN_COINNAME string SELL_LIMIT1 = SELL_LIMIT.ToString().Replace(',', '.'); string TAKE_PROFIT_S1 = TAKE_PROFIT_S.ToString().Replace(',', '.'); string STOP_LOSS_S1 = STOP_LOSS_S.ToString().Replace(',', '.'); string SIZE_S1 = SIZE_S.ToString().Replace(',', '.'); Encoding utf16LE = new UnicodeEncoding(false, false); using (StreamWriter writer = new StreamWriter(fullPath, false, utf16LE)) { writer.WriteLine("USDCAD"); writer.WriteLine("SELL_LIMIT " + SELL_LIMIT1); writer.WriteLine("TAKE_PROFIT " + TAKE_PROFIT_S1); writer.WriteLine("STOP_LOSS " + STOP_LOSS_S1); writer.WriteLine("SIZE " + SIZE_S1); } } public void DegiskenleriDosyayaYaz_CANCEL() { string fullPath = @"C:\\Users\\kralh\\AppData\\Roaming\\MetaQuotes\\Terminal\\938B05233D2A58797E7AA190E05A445A\\MQL5\\Files\\signal.txt";//HESAPADI_YÖN_COINNAME Encoding utf16LE = new UnicodeEncoding(false, false); using (StreamWriter writer = new StreamWriter(fullPath, false, utf16LE)) { writer.WriteLine("CANCEL_ORDER"); writer.WriteLine(""); writer.WriteLine(""); writer.WriteLine(""); writer.WriteLine(""); } } public void DegiskenleriDosyayaYaz_LONG2() { string fullPath = @"C:\\Users\\kralh\\AppData\\Roaming\\MetaQuotes\\Terminal\\938B05233D2A58797E7AA190E05A445A\\MQL5\\Files\\signal2.txt";//HESAPADI_YÖN_COINNAME string BUY_LIMIT1 = BUY_LIMIT.ToString().Replace(',', '.'); string TAKE_PROFIT_L1 = TAKE_PROFIT_L.ToString().Replace(',', '.'); string STOP_LOSS_L1 = STOP_LOSS_L.ToString().Replace(',', '.'); string SIZE_L22 = SIZE_L2.ToString().Replace(',', '.'); Encoding utf16LE = new UnicodeEncoding(false, false); using (StreamWriter writer = new StreamWriter(fullPath, false, utf16LE)) { writer.WriteLine("USDCAD"); writer.WriteLine("BUY_LIMIT " + BUY_LIMIT1); writer.WriteLine("TAKE_PROFIT " + TAKE_PROFIT_L1); writer.WriteLine("STOP_LOSS " + STOP_LOSS_L1); writer.WriteLine("SIZE " + SIZE_L22); } } public void DegiskenleriDosyayaYaz_SHORT2() { string fullPath = @"C:\\Users\\kralh\\AppData\\Roaming\\MetaQuotes\\Terminal\\938B05233D2A58797E7AA190E05A445A\\MQL5\\Files\\signal2.txt";//HESAPADI_YÖN_COINNAME string SELL_LIMIT1 = SELL_LIMIT.ToString().Replace(',', '.'); string TAKE_PROFIT_S1 = TAKE_PROFIT_S.ToString().Replace(',', '.'); string STOP_LOSS_S1 = STOP_LOSS_S.ToString().Replace(',', '.'); string SIZE_S22 = SIZE_S2.ToString().Replace(',', '.'); Encoding utf16LE = new UnicodeEncoding(false, false); using (StreamWriter writer = new StreamWriter(fullPath, false, utf16LE)) { writer.WriteLine("USDCAD"); writer.WriteLine("SELL_LIMIT " + SELL_LIMIT1); writer.WriteLine("TAKE_PROFIT " + TAKE_PROFIT_S1); writer.WriteLine("STOP_LOSS " + STOP_LOSS_S1); writer.WriteLine("SIZE " + SIZE_S22); } } public void DegiskenleriDosyayaYaz_CANCEL2() { string fullPath = @"C:\\Users\\kralh\\AppData\\Roaming\\MetaQuotes\\Terminal\\938B05233D2A58797E7AA190E05A445A\\MQL5\\Files\\signal2.txt";//HESAPADI_YÖN_COINNAME Encoding utf16LE = new UnicodeEncoding(false, false); using (StreamWriter writer = new StreamWriter(fullPath, false, utf16LE)) { writer.WriteLine("CANCEL_ORDER"); writer.WriteLine(""); writer.WriteLine(""); writer.WriteLine(""); writer.WriteLine(""); } // FileStream fileStream = new FileStream(fullPath, FileMode.Open, FileAccess.ReadWrite, FileShare.None); // fileStream.Close(); } public void DegiskenleriDosyadanOku() { int counter = 0; string line; CultureInfo cultureInfo = new CultureInfo("tr-TR"); // set culture info to Turkish StreamReader file = new StreamReader(@"C:\\Users\\kralh\\AppData\\Roaming\\MetaQuotes\\Terminal\\938B05233D2A58797E7AA190E05A445A\\MQL5\\Files\\signal5.txt", Encoding.GetEncoding("iso-8859-9")); // specify the encoding of the file while ((line = file.ReadLine()) != null) { // replace dots with commas in the line line = line.Replace('.', ','); if (counter == 0) sımdıkı_yuksek = Convert.ToDecimal(line, cultureInfo); else if (counter == 1) sımdıkı_dusuk = Convert.ToDecimal(line, cultureInfo); else if (counter == 2) onceki_bar_yuksek = Convert.ToDecimal(line, cultureInfo); else if (counter == 3) onceki_bar_dusuk = Convert.ToDecimal(line, cultureInfo); counter++; } } } }