السلام عليكم ارجو مساعدتي لعمل اكسبيرت بسيط جداً فكرته ان يقوم بفتح صفقة بيع او شراء واحدة حسب اختياري باللوت الذي احدده (عندما لا تكون هناك صفقات مفتوحة داخل المنصة فقط ) مع الشكر والتقدير
Printable View
السلام عليكم ارجو مساعدتي لعمل اكسبيرت بسيط جداً فكرته ان يقوم بفتح صفقة بيع او شراء واحدة حسب اختياري باللوت الذي احدده (عندما لا تكون هناك صفقات مفتوحة داخل المنصة فقط ) مع الشكر والتقدير
تفضل
كود PHP://+------------------------------------------------------------------+
//| test.mq4 |
//| Copyright 2021, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
extern int order = 0;// 0 For Buy && 1 For Sell
extern double Lots = 0.01;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
if(OpenOrdersThisPairBuy()==0 && OpenOrdersThisPairSell()==0){
int Ticket = OrderSend(Symbol(),order,Lots, OrderOpenPrice(),5,0,0,NULL,0,0,clrNONE);
}
}
//+------------------------------------------------------------------+
int OpenOrdersThisPairBuy()
{
int total=0;
for(int i=OrdersTotal()-1; i>=0; i--)
{
if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES))Print("error Selecting order ",GetLastError());
if(OrderType()==OP_BUY && OrderSymbol()==Symbol())
total++;
}
return (total);
}
//+-------------------------------------------------------------------+
int OpenOrdersThisPairSell()
{
int total=0;
for(int i=OrdersTotal()-1; i>=0; i--)
{
if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES))Print("error Selecting order ",GetLastError());
if(OrderType()==OP_SELL && OrderSymbol()==Symbol())
total++;
}
return (total);
}
//+-------------------------------------------------------------------+