forked from rosh/MQL5Book
46 lines
1.5 KiB
MQL5
46 lines
1.5 KiB
MQL5
//+------------------------------------------------------------------+
| |
//| EnvStop.mq5 |
| |
//| Copyright 2021, MetaQuotes Ltd. |
| |
//| https://www.mql5.com |
| |
//+------------------------------------------------------------------+
| |
| |
//+------------------------------------------------------------------+
| |
//| Check if given number is prime |
| |
//+------------------------------------------------------------------+
| |
bool isPrime(int n)
| |
{
| |
if(n < 1) return false;
| |
if(n <= 3) return true;
| |
if(n % 2 == 0) return false;
| |
const int p = (int)sqrt(n);
| |
int i = 3;
| |
for( ; i <= p; i += 2)
| |
{
| |
if(n % i == 0) return false;
| |
}
| |
| |
return true;
| |
}
| |
| |
//+------------------------------------------------------------------+
| |
//| Script program start function |
| |
//+------------------------------------------------------------------+
| |
void OnStart()
| |
{
| |
int count = 0;
| |
int candidate = 1;
| |
| |
while(!IsStopped()) // try to change the condition to just 'true'
| |
{
| |
// lengthy calculations emulation
| |
if(isPrime(candidate))
| |
{
| |
Comment("Count:", ++count, ", Prime:", candidate);
| |
}
| |
++candidate;
| |
Sleep(10);
| |
}
| |
Comment("");
| |
Print("Total found:", count);
| |
}
| |
//+------------------------------------------------------------------+
|