running an EA on a chart without the indicators? - page 2

 

The reason I asked about the indicators is that, i have an ea that making trades not based on the rules stated in the ea. Also this indicator does not give a value in the data window. Now i have a similar ea, just some difference in coding and it works for example "(a>b && c>d buy)" works, "(a+b)>0" buy does not work

note: the indicator is similar to the mtf heiken ashi smoothed indicator

 

> It is easier to code and easier to test and easier to debug and easier to upgrade or change or manage in the future.

And generally less total code will be running in the EA's each tick

And gives you the option to run more instances of MT to scale-out the Orders channel

Especially where you have n EA's that have similar open &/or close times, you could have n MT instances, so your orders could be paralled and not (in effect) serialised or just blocked..

FWIW

-BB-

 
BarrowBoy wrote >>

> It is easier to code and easier to test and easier to debug and easier to upgrade or change or manage in the future.

And generally less total code will be running in the EA's each tick

And gives you the option to run more instances of MT to scale-out the Orders channel

Especially where you have n EA's that have similar open &/or close times, you could have n MT instances, so your orders could be paralled and not (in effect) serialised or just blocked..

FWIW

-BB-

what?

 
BarrowBoy wrote >>

> It is easier to code and easier to test and easier to debug and easier to upgrade or change or manage in the future.

And generally less total code will be running in the EA's each tick

And gives you the option to run more instances of MT to scale-out the Orders channel

Especially where you have n EA's that have similar open &/or close times, you could have n MT instances, so your orders could be paralled and not (in effect) serialised or just blocked..

FWIW

-BB-

And and and. Your present even better reasons are than me. Thanks for that BB :-) I agree with you 100% I have run multi strategy ea methods in the past but I will not do it again for all the reasons mentioned. It is just not good programming.

pjay72, by way of explanation.

1) It is better to run as short a set of code as possible as it allows the ea to complete its tasks and start again sooner (and not possibly skip a tick if the ea takes to long to complete its cycle).

2) You installation of metatrader allows you 1 channel to the broker's server to place trades (think of it as a door that only one person can go through at a time). This means that if your ea sends more than one order to the server at the same time, they have to stand in line and be processed on at a time on a first come first served basis. This will most likely lead to 146 type errors. You can reduce the risk of this happening by running 2 instances of metatrader (or more), each opening a "door" to the server and in this way you are allowed to place 2 (or more) trades at the same time. Does that make sence? :-) There are other ways of dealing with 146 type errors but you can search the forum for that.

whocares

 

hear i'm going to give a sample: this code makes erroneous trades

//|---------order execution rules

string BUY="false";string SELL="false";
if(
(up1+up2+up3+up4)>=upperarm&&(dwn5+dwn6+dwn7+dwn8)>=lowerarm&&close<lo&&mrsi<rsioversold
)BUY="true";
if(
(dwn1+dwn2+dwn3+dwn4)>=upperarm&&(up5+up6+up7+up8)>=lowerarm&&close>hi&&mrsi>rsioverbought
)SELL="true";
string BUYCLOSE= "false";string SELLCLOSE="false";
if(
arsi>arsioversold&&arsip<=arsioversold
)SELLCLOSE="true";
if(
arsi<arsioverbought&&arsip>=arsioverbought
)BUYCLOSE="true";
total=OrdersTotal();

this code works but capabilites are limited

//|---------order execution rules

string BUY="false";string SELL="false";
if(
up1>dwn1&&up2>dwn2&&up3>dwn3&&up4<dwn4&&close<lo&&mrsi<rsioversold
)BUY="true";
if(
dwn1>up1&&dwn2>up2&&dwn3>up3&&dwn4<up4&&close>hi&&mrsi>rsioverbought
)SELL="true";
string BUYCLOSE= "false";string SELLCLOSE="false";
if(
arsi>arsioversold&&arsip<=arsioversold
)SELLCLOSE="true";
if(
arsi<arsioverbought&&arsip>=arsioverbought
)BUYCLOSE="true";
total=OrdersTotal();

 

here's the indicator mtf has
Reason: