Hey guys,
soo i started coding my first ea but ran into some problems.
It keeps opening more than on position at each tick even though i try to tell it not to do that. Can anyone help this noob out a bit. I know it’s probably something really stupid that i missed but any help is welcome.
//+------------------------------------------------------------------+
//| StochasticCtrade.mq5 |
//| |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright ""
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
#include<Trade\Trade.mqh>
CTrade trade;
void OnTick()
{
double KArray[];
double DArray[];
ArraySetAsSeries(KArray,true);
ArraySetAsSeries(DArray,true);
int StochasticDefinition=iStochastic(_Symbol,_Period,5,3,3,MODE_SMA,STO_LOWHIGH);
CopyBuffer(StochasticDefinition,0,0,3,KArray);
CopyBuffer(StochasticDefinition,1,0,3,DArray);
double Kvalue0=KArray[0];
double Dvalue0=DArray[0];
double Kvalue1=KArray[1];
double Dvalue1=DArray[1];
double Ask=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
double Balance=AccountInfoDouble(ACCOUNT_BALANCE);
double Equity=AccountInfoDouble(ACCOUNT_EQUITY);
double TradeVolume=0.01;
int OrdersTotal;
//------ Buy Order
if ((Kvalue0<20&&Dvalue0<20)&& ((Kvalue0>Dvalue0) && (Kvalue1<Dvalue1)) && (OrdersTotal() != 0));
{
trade.Buy(TradeVolume,NULL,Ask,0,0,NULL);
}
if ((Kvalue0>80&&Dvalue0>80)&& ((Kvalue0<Dvalue0) && (Kvalue1>Dvalue1)))
{
trade.PositionClose(Symbol(),ULONG_MAX);
}
}