Poproszę o radę. Chodzi mi oto aby strategia zablokowała następne transakcje danej pary walutowej (transakcje na innych walutach moją być dozwolone) Wiem, że mogę użyć:
Kod: Zaznacz cały
string trade="";
int Orders=OrdersTotal();
if (Orders==0)
{
trade="buy";
}
Poniżej zamieszczam cały swój kod:
Kod: Zaznacz cały
//+------------------------------------------------------------------+
//| Sprzedaj USDJPY.mq4 |
//| Copyright 2019, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
void OnTick()
{
string spread="";
int intMarketSpreadPoints = MarketInfo( _Symbol, MODE_SPREAD );
double dblMarketSpreadPrice = intMarketSpreadPoints * _Point;
if (dblMarketSpreadPrice==0.060)
{
spread="buy";
}
string trade="";
int Orders=OrdersTotal();
for(int pos=0;pos<Orders;pos++)
{
if(OrderSelect(pos,SELECT_BY_POS)==false) continue;
{
if OrderSymbol()==USDJPY.;
{
trade="buy";
}
}}
if (trade=="buy" && spread=="buy")
{
//--- get minimum stop level
double minstoplevel=MarketInfo(Symbol(),MODE_STOPLEVEL);
Print("Minimum Stop Level=",minstoplevel," points");
double price=Ask;
//--- calculated SL and TP prices must be normalized
//double stoploss=Ask-75*Point;
double stoploss=NormalizeDouble(Ask-30*Point,Digits);
double takeprofit=NormalizeDouble(Ask+30*Point,Digits);
// double takeprofit=Ask+75*Point;
//--- place market order to buy 1 lot
int ticket=OrderSend(Symbol(),OP_BUY,0.1,price,5,stoploss,takeprofit,"My Order",16384,0,clrGreen);
}
}