السلام عليكم
الكود التالي ينفذ كل ثانية ويكتب معلومات من السوق كل ثانية والمفروض يفتح صفقة كل 15 ثانية لكن لا اعرف ما الذي يحصل في الكود بحيث يفتح اكثر من صفقة مرة واحدة يعني المفروض يفتح صفقة في الثانية الاولى والثانية 15 والثانية 30 والثانية 45 من كل دقيقة وهو شغال بصورة جيدة لكن مرات ( وتحصل كثيرا) يفتح في الثنية 1 و2و3 او 15,16,17 وهكذا وهذا يسبب حمل على السيرفر وبالتالي تم غلق حساباتي الديمو في اثنين من الشركات بداعي ارهاق السيرفر هل ممكن المساعدة في هذا الكود مع الشكر الجزيل
كود://+------------------------------------------------------------------+
//| 4.mq4 |
//| Copyright 2024, MetaQuotes Ltd. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2024, MetaQuotes Ltd."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
double a[900];
bool old_b=true;
bool _buy=false;
double old_v;
double new_v;
int ticket;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- create timer
EventSetTimer(1);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//--- destroy timer
EventKillTimer();
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
}
//+------------------------------------------------------------------+
//| Timer function |
//+------------------------------------------------------------------+
void OnTimer()
{
//---
if ((Seconds()==0 || Seconds()==15 || Seconds()==30 || Seconds()==45)){_buy=true;}
if (_buy==true)
{
ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Ask-50*Point,Ask+65*Point,"My order",16384,0,clrGreen);
_buy=false;
}
int handle;
handle = FileOpen("data.csv", FILE_CSV | FILE_READ | FILE_WRITE, ',');
if (handle != INVALID_HANDLE)
{
// Create a string to hold the entire array separated by semicolons
// Move the file pointer to the end of the file
FileSeek(handle, 0, SEEK_END);
// Write the entire CSV line
FileWrite(handle, Ask,TimeCurrent(),ticket,MarketInfo(Symbol(),MODE_SPREAD));
// Close the file
FileClose(handle);
}
else
{
Print("Failed to open the file.");
}
}
//+------------------------------------------------------------------+

