Experts: Jupiter M

 

Jupiter M:

Martingale grid EA. The main idea of the EA is not in accurate entries, but in flexible plotting of grids.

Jupiter M. trade example

Author: AriusKis

 
Hi sir can i set the amount of trades the ea can give? Because it always gives me 6 grids and after that it wont add trades anymore. I think this ea is excelent. Or a counter order with thesame martingale style to counter spikes and trends. Thanks sir 
 

settings

look at these settings. I guess you have 6 there

 

Can You Please Secify The Conditions for open ?




 
I think it's an excellent idea, it works correctly, but many times when opening a new position does not place the Take Profit, why can that failure happen?
 
golansy:

Can You Please Secify The Conditions for open ?




CCI crosses zero line

 
Claudio Domingo Algieri:
I think it's an excellent idea, it works correctly, but many times when opening a new position does not place the Take Profit, why can that failure happen?

 I am sorry, I cannot answer your question. I use Jupiter M for 2 years on the public account - it works properly. Could you send me your log files and settings you use? And also say me the time when you see this failure. Thanks

 
         lot_next = MathFloor ((lastlot * Multiplier)/ lot_step)* lot_step;

Because of the use of MathFloor, the multiplier can't use 1.5 or 1.6.

It would be much better to use  MathRound

 
       if (Showinfopanel== true && step!= 100000 )
        {
         if ( Digits ()== 3 || Digits ()== 5 )
            buystepvalue=step/ 10 / Point ();
         else buystepvalue=step/ Point ();
         nextpricebuy=lastbuyprice-step;
         nextlotbuy=nextlot;
        }
     }
   if (CountSellOrders()> 0 && (Allowsell== true || Stopmode_2==s) && (AllowafterlevelSell== true || Stopmode_3==s)) //Here we define a conditions for the next sell orders
     {
      lastticket= 0 ;
      lastsellprice=Findlastprice( OP_SELL );
      step=FindStepSize( OP_SELL );
      nextlot=DetermineLot(lastticket);
       if ( Bid >(lastsellprice+step))
        {
         MarginAgreed=CheckMargin(nextlot, OP_SELL );
         if (MarginAgreed== true )
           {
            lastTP=FindLastTP( OP_SELL );
            OpenNewLevel(lastTP,nextlot, OP_SELL );
           }
        }
       if (Showinfopanel== true && step!= 100000 )
        {
         if ( Digits ()== 3 || Digits ()== 5 )
            sellstepvalue=step/ 10 / Point ();
         else sellstepvalue=step/ Point ();
         nextpricesell=lastsellprice+step;
         nextlotsell=nextlot;
        }
 

Both Buy and SELL use Int step, and cannot calculate the next layer of Martin's PIPSTEP independently.

 
wayneclass3388:

Both Buy and SELL use Int step, and cannot calculate the next layer of Martin's PIPSTEP independently.

Please only post in English in the forum.

I have used the site's translation tool  to translate this time.

 
wayneclass3388:

Because of the use of MathFloor, the multiplier can't use 1.5 or 1.6.

It would be much better to use  MathRound

Cannot agree with you. I just do not want to increase lot size more than multiplier. I decrease it till closest floor value. It is my preference. You can change it to MathRound of course.

About your next question. In the function we calculate first all we need for buy orders, then for sell orders. And I use the same variables - step, lastticket and nextlot.

I know, maybe it is not beautiful and convinient for further adviser development. In two years I see a lot of errors in code, which is impacts on the speed - for example, why did I count step, nextlot on each tick? Of course it is an extra calculations which we do not need. So, I agree with you, maybe it is not correct for good code. But anyway it works :-)