Warrior_EA/Signals/SignalPAI.mqh
AnimateDread 74c7395127 feat: add max-pooling and convolution OpenCL kernels, clean up barrier and signal code
- Define MAX_WEIGHT constant (1.0e6) for weight limits in clusters
- Remove redundant barrier from FeedForward kernel (prevents sync issues)
- Port FeedForwardProof and CalcInputGradientProof kernels for max-pooling (no weights, sliding max)
- Port FeedForwardConv kernel for convolution layers (shared weights, multiple output channels)
- Remove unused code and refactor signal condition logic (CSignalPAI)
2026-07-13 03:23:39 -04:00

49 lines
2.6 KiB
MQL5

//+------------------------------------------------------------------+
//| Warrior_EA |
//| AnimateDread |
//| |
//+------------------------------------------------------------------+
#include "..\Expert\ExpertSignalAIBase.mqh"
// wizard description start
//+------------------------------------------------------------------+
//| Description of the class |
//| Title=Signals of indicator 'Perceptron AI' |
//| Type=SignalAdvanced |
//| Name=Perceptron AI |
//| ShortName=PAI |
//| Class=CSignalPAI |
//| Page=signal_pai |
//+------------------------------------------------------------------+
// wizard description end
//+------------------------------------------------------------------+
//| Class CSignalPAI. |
//| Purpose: Class of generator of trade signals based on |
//| a plain multi-layer feed-forward perceptron network. |
//| Is derived from the CExpertSignalAIBase class. |
//| Only the network topology differs from the other AI signals: an |
//| input layer feeds straight into the common tapering hidden-layer |
//| stack, with no Conv/Pool/LSTM stage (AddCustomLayers is a no-op, |
//| inherited as-is from the base class). |
//+------------------------------------------------------------------+
class CSignalPAI : public CExpertSignalAIBase
{
public:
CSignalPAI(void);
//--- method of creating the indicator and timeseries
virtual bool InitIndicators(CIndicators *indicators) override;
};
//+------------------------------------------------------------------+
//| Constructor |
//+------------------------------------------------------------------+
CSignalPAI::CSignalPAI(void)
{
SetIdentity("Perceptron", "PAI");
}
//+------------------------------------------------------------------+
//| Create indicators and bootstrap/load the network. |
//+------------------------------------------------------------------+
bool CSignalPAI::InitIndicators(CIndicators *indicators)
{
return InitNeuralNetwork(indicators);
}
//+------------------------------------------------------------------+