another way to protect our studies

Questions about MultiCharts and user contributed studies.
User avatar
arnie
Posts: 1594
Joined: 11 Feb 2009
Location: Portugal
Has thanked: 481 times
Been thanked: 514 times

another way to protect our studies

Postby arnie » 20 Aug 2009

Although we can protect our study with a password, it would be nice to have another option of protection, also a password, but in this case only to prevent us to change the study (its text).

How many times in the middle of those cut, copy, and paste between studies we mess things up and change the original study?
If we're able to notice the changes before saving, well, no harm is done, but, what to do when that don't happened?

That's why I remembered that we could have an option to protect by a password the text of a study. This way we could open it, select it, copy it (cut would not be allowed), without ever change it. Any type of change and a popup window would appear, warning us that the study is protected.

Regards,
Fernando

User avatar
ABC
Posts: 718
Joined: 16 Dec 2006
Location: www.abctradinggroup.com
Has thanked: 125 times
Been thanked: 408 times
Contact:

Postby ABC » 20 Aug 2009

I agree, it's a good idea.
I guess I'd prefer an option that write protects the study, without a password. You could just check it when you want the studies to be write protected or leave it unchecked. Also this function might already be in the program, as the build in studies come write protected.

Regards,
ABC

User avatar
TJ
Posts: 7740
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1033 times
Been thanked: 2221 times

Postby TJ » 20 Aug 2009

or an automatic revision control?

e.g. PLEditor would auto-save the previous version with -1 extension before overwriting it with your new editing.

janus
Posts: 835
Joined: 25 May 2009
Has thanked: 63 times
Been thanked: 104 times

Postby janus » 23 Aug 2009

These are all good ideas. I'm also still annoyed about the simple things that don't appear to work. For example, when I use "undo" it invariably undoes incorrectly and I have to manually correct things. Has anyone else noticed this? Has it been fixed in the beta?

User avatar
arnie
Posts: 1594
Joined: 11 Feb 2009
Location: Portugal
Has thanked: 481 times
Been thanked: 514 times

Postby arnie » 23 Aug 2009

ABC, that's also a good idea. Maybe a check box in the study properties.

TJ, how PLE would know when to auto-save? Image that you are writing a study, and at the same time a copy is being saved by PLE of that same indicator into a specified folder? So if something happen to the one that you are writting, you would simple go to the saved folder and open the copy of the study that you were working of.
From this point a new copy would start to be saved?

The auto-save option is interesting though the check box, I think, is a bit more user friendly.

janus, I don't remember ever having problems with the undo option. As far as I remember, it's always undone word by word, following the order in which they've been written.


Fernando

janus
Posts: 835
Joined: 25 May 2009
Has thanked: 63 times
Been thanked: 104 times

Postby janus » 23 Aug 2009

According to MC, it's a known issue.

Start with a new indicator with the following text:

inputs: Price( Close ), Length( 14 ), PctDn( -2 ) ;

condition1 = RateOfChange( Price, Length ) <= PctDn ;
if condition1 then
begin
PlotPaintBar( High, Low, "%Decr" ) ;
Alert ;
end
else
NoPlot( 1 ) ;


Next add "print ("test1");" after the "begin" statement. Now we have:

inputs: Price( Close ), Length( 14 ), PctDn( -2 ) ;

condition1 = RateOfChange( Price, Length ) <= PctDn ;
if condition1 then
begin
print ("test1");
PlotPaintBar( High, Low, "%Decr" ) ;
Alert ;
end
else
NoPlot( 1 ) ;

Now add "print ("test2");" at the end of the code thus:

inputs: Price( Close ), Length( 14 ), PctDn( -2 ) ;

condition1 = RateOfChange( Price, Length ) <= PctDn ;
if condition1 then
begin
print ("test1");
PlotPaintBar( High, Low, "%Decr" ) ;
Alert ;
end
else
NoPlot( 1 ) ;
print ("test2");

Now do an undo using ctrl+z. We end up with:

inputs: Price( Close ), Length( 14 ), PctDn( -2 ) ;

condition1 = RateOfChange( Price, Length ) <= PctDn ;
if condition1 then
begin
print ("test1");
PlotPaintBar( High, Low, "%Decr" ) ;
Alert ;
end
else
NoPlot( 1 ) ;
p

Note there's still the letter "p" remaining. Now do another ctrl+z thinking it will just remove the letter "p". Instead we get:

inputs: Price( Close ), Length( 14 ), PctDn( -2 ) ;

condition1 = RateOfChange( Price, Length ) <= PctDn ;
if condition1 then
begin

PlotPaintBar( High, Low, "%Decr" ) ;
Alert ;
end
else
NoPlot( 1 ) ;

Note that not only does the letter "p" get removed, so does the previous print statement BUT there's a blank line remaining. One has to do yet another ctrl+z to remove that one as well. When ones does some complicated insertions and deletions along the way, one can get lost very easily in all this undoing. Often I end up undoing too far and I lose my train of thought. It needs to be fixed as it's very annoying.

User avatar
arnie
Posts: 1594
Joined: 11 Feb 2009
Location: Portugal
Has thanked: 481 times
Been thanked: 514 times

Postby arnie » 23 Aug 2009

Now I understood the "problem".

It appears the undo is being made between writting errors and code lines.

Example; you write a line of code without a single spelling error, then you initiate a new line where you misspell a function. Delete that word, rewrite it again an continue until change to a new line without any more errors.

When you hit the undo (ctrl+z) the entire line of code after the spelling error is completely erased. And when you hit undo again, you'll undo the error and if you hit it again, you change to the previous line code where you didn't make any error and again, the entire line is erased.

I can understand TSSupport in doing the undo option this way since when doing undo our goal is to erase the code to where the mistake was made, although it's always a bit difficult to stablished where the error is when there was no misspelling, and if you're able to write a couple of lines without a single misspelling error I understand the pain that is seeing all being erased.

Of course we can always select the error and simply delete it, if it's to far behing in the code or use the redo function.

I'm using the latest beta version.

User avatar
arnie
Posts: 1594
Joined: 11 Feb 2009
Location: Portugal
Has thanked: 481 times
Been thanked: 514 times

Postby arnie » 23 Aug 2009

Since you've talked about the undo "problem", what about everytime you forget an END the cursor goes to the begining of the study after compilation, forcing us to go down again and basically (if you have no clue) guess where the hell did we forget the END.

Quite annoying. Why isn't the cursor directed to the place where presumably the END should be placed?

Another thing already mentioned in another thread is the fact that when there is some kind of parameter missing or similar and the error is reported after the compilation, the cursor isn't immediately availabe to initiate the study editing. We need to select the study to iniciate it.

janus
Posts: 835
Joined: 25 May 2009
Has thanked: 63 times
Been thanked: 104 times

Postby janus » 23 Aug 2009

I would prefer the undo worked the same way as it does in MS Word. At least it would be consistent. I could use the Eclipse IDE to do my editing since it's a far more powerful development environment but I would have to spend a fair amount of time configuring it to understand the Powerlanguage syntax. One could go as far as making it compile the code if we had access to the compiler executable. It's tempting, even if I just used it for editing. The other temptation for me to use Eclipse is the extensive and flexible version management feature. It's no wonder more and more commercial applications are using Eclipse. I used it when I was working for a company. It was such a pleasure to use.

User avatar
Andrew Kirillov
Posts: 1589
Joined: 28 Jul 2005
Has thanked: 2 times
Been thanked: 31 times
Contact:

Postby Andrew Kirillov » 10 Sep 2009

Dear arnie,
Another thing already mentioned in another thread is the fact that when there is some kind of parameter missing or similar and the error is reported after the compilation, the cursor isn't immediately availabe to initiate the study editing. We need to select the study to iniciate it.
I confirm this defect. We will fix it soon.


Return to “MultiCharts”