Referencing an custom indicator - Could not load file or assembly
Referencing an custom indicator - Could not load file or assembly
04 Sep 2016, 07:56
I am building a cBot which uses an indicator pzSupportResistance (in cFractals.algo). This pzSupportResistance internally uses another indicator ZigZag (in ZigZag.algo). I do not have the source code of either, I use the .algo files, so I am using the #reference directive.
In my code, I can initialize and use the ZigZag indicator without any issues. (I do not need the ZigZag indicator, but I tried to make sure dependencies are fine).
However, when I try to initialize the pzSupportResistance indicator, using the following statement :
_cf = Indicators.GetIndicator<pzSupportResistance>(6, 24);
I get the following error :
Crashed in Initialize with FileNotFoundException: Could not load file or assembly 'ZigZag, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
It does not crash, continues execution but obviously the _cf indicator is not initialized.
1) I have verified that both the indicator algo files exist in the Indicators folder.
2) I can successfully load the ZigZag indicator, so there is some issue with referencing in cFractals.algo of the ZigZag.algo file.
3) I have set the AccessRights to AccessRights.FullAccess, but still no luck.
I would appreciate if anyone can point out the cause of this issue ?
cBot code (bare bones);
//#reference: C:\Users\HP\Documents\cAlgo\Sources\Indicators\ZigZag.algo //#reference: C:\Users\HP\Documents\cAlgo\Sources\Indicators\cFractals.algo using System; using System.Linq; using cAlgo.API; using cAlgo.API.Indicators; using cAlgo.API.Internals; using cAlgo.Indicators; namespace cAlgo { [Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.FullAccess)] public class MyBot : Robot { private ZigZag _zz = null; private pzSupportResistance _cf = null; protected override void OnStart() { Print("Initializing ZigZag ..."); _zz = Indicators.GetIndicator<ZigZag>(12, 5, 3); // INITIALIZES FINE Print("ZigZag initialized."); Print("ZigZag = {0}", _zz.Result.LastValue); // RESULT IS CORRECT Print("Initializing pzSupportResistance ..."); _cf = Indicators.GetIndicator<pzSupportResistance>(6, 24); // CRASHES Print("pzSupportResistance initialized."); Print("pzSupportResistance Support = {0}", _cf.Support.LastValue); } protected override void OnTick() { } protected override void OnStop() { } } }
Log Result :
04/08/2016 00:00:00.000 | Initializing ZigZag ... 04/08/2016 00:00:00.000 | ZigZag initialized. 04/08/2016 00:00:00.000 | ZigZag = 1.11407 04/08/2016 00:00:00.000 | Initializing pzSupportResistance ... 04/08/2016 00:00:00.000 | Crashed in Initialize with FileNotFoundException: Could not load file or assembly 'ZigZag, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified. 04/08/2016 00:00:00.000 | pzSupportResistance initialized.
Replies
adheer
07 Sep 2016, 08:54
( Updated at: 21 Dec 2023, 09:20 )
RE:
brunoamancio.ti said:
Is the .algo file defined as Reference like this?
I have tried that, it does not help.
In the Code Editor, I right-click, and select the Add Reference in the drop-down context menu. Next, I select the two algo files, ZigZag.algo and cFractals.algo.
What it actually does is add the following reference entries at the top of the code.
//#reference: ..\Indicators\cFractals.algo //#reference: ..\Indicators\ZigZag.algo
The only difference is that, the Add Reference step adds the references as relative path, whereas I had it as absolute paths. But it does not solve the problem. I still get the same error.
@adheer
adheer
07 Sep 2016, 09:27
( Updated at: 21 Dec 2023, 09:20 )
When I try to add the references using the Manage References button, both the indicators are grayed-out in the list of indicators.
When I move the mouse over those two grayed-out indicators I see a message "This indicator cannot be referenced, because it doesn't contain Source Code."
Does it mean I cannot reference an indicator (.algo file) which does not have source code using the Manage References feature ?
@adheer
brunoamancio.ti
07 Sep 2016, 06:49 ( Updated at: 21 Dec 2023, 09:20 )
Is the .algo file defined as Reference like this?
@brunoamancio.ti