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++;
}
}
}
}