MnQInvestmentDevelopment/MnQInvestment/00_StrategyswithSimon/DerSteinDerWeißen2terVersuch.mq5
super.admin cff55d2704 convert
2025-05-30 15:08:44 +02:00

95 lines
5 KiB
MQL5


input int CandleRange = 100;
// FUNCTION CHECK FOR NEW CANDLES
bool CheckfornewCandle (int CandleNumber)
{
static int LastCandleNumber;
bool IsNewCandle= false;
if (CandleNumber>LastCandleNumber)
{
IsNewCandle = true;
LastCandleNumber = CandleNumber;
Print("-----New Candle-----",
"\nLastOpenTime: ",iTime(_Symbol,PERIOD_CURRENT,1),
"\nLastOpen: ",iOpen(_Symbol,PERIOD_CURRENT,1),
"\nLastClose: ",iClose(_Symbol,PERIOD_CURRENT,1));
}
return IsNewCandle;
}
void OnTick()
{
// CHECK FOR NEW CANDLES
int CandleNumber = Bars(_Symbol,_Period);
bool NewCandleAppeared;
NewCandleAppeared = CheckfornewCandle(CandleNumber);
if (NewCandleAppeared)
{
//INITIALIZE CANDLE CLOSE ARRAY
double CandleClose[];
ArraySetAsSeries(CandleClose, true);
int CandleCloseSize = ArraySize(CandleClose);
CopyClose(_Symbol, PERIOD_CURRENT, 0, CandleRange, CandleClose);
Print("Last Candle Closing Value: ",CandleClose[0]);
//INITIALIZE AND FILL CANDLE DIFFERENCE TO LAST ARRAY
double CandleDifferenceToLast[];
ArrayResize(CandleDifferenceToLast,CandleCloseSize);
//ArraySetAsSeries(CandleDifferenceToLast, true);
int CandleDifferenceSize = ArraySize(CandleDifferenceToLast);
for (int i = 1; i < CandleCloseSize + 1; i++)
{
double LastClose = CandleClose[i-1];
Print("LastClose: ",LastClose);
double SndLastclose = CandleClose[i];
Print("LastClose: ",SndLastclose);
double CandleDifference = SndLastclose - LastClose;
Print("CandleDifference: ",CandleDifference);
CandleDifferenceToLast[i] = CandleDifference;
//CandleDifferenceToLast[i] = CandleClose[i] - CandleClose[i+1];
}
Print("Last Candle Difference to 2.Last: ",CandleDifferenceToLast[0]);
}
}