These are all too complex, I don't see a reason why a simple copy-paste shouldn't wotk
Setting a global static C# variable is took complex?
All you do is assign it or read it like any other variable. If that's too complex, I'm not sure you should be coding anything.
//To create a "global variable", it should be public and static, and declared in a public static class.
//In .NET it's a common way to declare constants (e.g. Math.PI), but they're not variables!
public static class EveryoneCanSeeMe
{
public static string EveryOneCanReadAndModifyMe;
}
And as for reading/writing files, the first method below uses just as many lines of code as you need to read/write to the clipboard:
//Method #1 -----------------------
// Writing the string to the file
File.WriteAllText(yourSavedFilePath, createText);
// Reading the contents of the file
string readText = File.ReadAllText(yourSavedFilePath);
//Method #2 -----------------------
//WRite file
using (System.IO.StreamWriter sw = new System.IO.StreamWriter(yourSavedFilePath, false))
{
sw.Flush();
}
//Read file
if (System.IO.File.Exists(yourSavedFilePath))
{
inputString = System.IO.File.ReadAllText(yourSavedFilePath));
System.IO.File.Delete(yourSavedFilePath);
}
Again, nothing complex about them when you actually try instead of immediately dismissing because it's not how you would like to do it.
This is the print I got from the code below after copying some text to the clipboard. The a and b prints are working well but not the one of the Clipboard.GetText():
02/05/2025 05:46:32.491 | Info | Indicator instance [CopyText, EURUSD, h1] loaded. 02/05/2025 05:46:35.257 | Info | a 02/05/2025 05:46:35.272 | Info | 02/05/2025 05:46:35.272 | Info | b
namespace cAlgo{ [Indicator(IsOverlay = true, AccessRights = AccessRights.FullAccess)] public class CopyText : Indicator { [STAThread] protected override void Initialize() { Print("a"); string text = System.Windows.Forms.Clipboard.GetText(); Print(text); Print("b"); } public override void Calculate(int index) { } }}
The Clipboard might not even be available in bots. They do have limitations. Not sure why you'd want access to the clipboard anyway for an indicator?
To see what's been modified, you'll have to created your event handler method, and then check out the parameter to see what's available to you so you can determine what's been modified:
help . ctrader . com /ctrader-algo/references/EventArgs/PositionModifiedEventArgs/
You open up a new tab and have the new tab with the different time frame. You can display all the tabs simultaneously by clicking on the chart mode buttons in the top menu.
firemyst
02 May 2025, 08:17
RE: RE: RE: RE: RE: RE: Clipboard.GetText() not working
eynt said:
Setting a global static C# variable is took complex?
All you do is assign it or read it like any other variable. If that's too complex, I'm not sure you should be coding anything.
And as for reading/writing files, the first method below uses just as many lines of code as you need to read/write to the clipboard:
Again, nothing complex about them when you actually try instead of immediately dismissing because it's not how you would like to do it.
@firemyst