JK_BullP____

Author: Copyright � 2005, Johnny Kor
Orders Execution
Checks for the total of open ordersIt can change open orders parameters, due to possible stepping strategyIt Closes Orders by itself It automatically opens orders when conditions are reached
Indicators Used
Bulls Power indicator
0 Views
0 Downloads
0 Favorites

Profitability Reports

AUD/USD Oct 2024 - Jan 2025
20.00 %
Total Trades 771
Won Trades 0
Lost trades 0
Win Rate 0.00 %
Expected payoff -12.75
Gross Profit 2513.00
Gross Loss -12342.00
Total Net Profit -9829.00
-100%
-50%
0%
50%
100%
GBP/USD Oct 2024 - Jan 2025
0.00 %
Total Trades 0
Won Trades 0
Lost trades 0
Win Rate 0.0 %
Expected payoff 0.00
Gross Profit 0.00
Gross Loss 0.00
Total Net Profit 0.00
-100%
-50%
0%
50%
100%
NZD/USD Oct 2024 - Jan 2025
12.00 %
Total Trades 556
Won Trades 185
Lost trades 371
Win Rate 0.33 %
Expected payoff -17.67
Gross Profit 1295.00
Gross Loss -11121.00
Total Net Profit -9826.00
-100%
-50%
0%
50%
100%
JK_BullP____
//+------------------------------------------------------------------+
//|                                          JK_BullP_AutoTrader.mq4 |
//|                                     Copyright © 2005, Johnny Kor |
//|                                                   autojk@mail.ru |
//|        On-Line Testing http://vesna.on-plus.ru/forex/stat/69740/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, Johnny Kor"
#property link      "autojk@mail.ru"

//---- input parameters
extern double TakeProfit = 7;
extern double Lots = 1;
extern double StopLoss = 30;
extern int TrailingStop = 15;
extern double Patr=9,Prange=5,Kstop=1.5,kts=2,Vts=2; 


//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int start()
{double pos1pre, pos2cur, hzbul1, hzbul2, hzbear1, hzbear2;
 int cnt, ticket, total,TotalOpenOrders;

pos1pre = iBullsPower(NULL, 0, 13,PRICE_CLOSE,2);
pos2cur = iBullsPower(NULL, 0, 13,PRICE_CLOSE,1);
//hzbear1 = iBearsPower(NULL, 0, 13,PRICE_WEIGHTED,1);
//hzbear2 = iBearsPower(NULL, 0, 13,PRICE_CLOSE,0);
// = ((hzbear1+hzbul1)/2);
// = ((hzbear2+hzbul2)/2);
total=OrdersTotal();


/*








  {
  int para; // - ïîðÿäêîâûé íîìåð äîðãóåìîé ïàðû 
  double sl[11]; //- ìàññèâ StopLoss ïî êàæäîé ïàðå - ðàâåí äëèíå ñâå÷è íà íà÷àëî óòðåííåé ñåññèè
  double ts[11]; //- ìàññèâ òðåéëèíãîâ ïî êàæäîé ïàðå - äèíàìè÷åñêèé òðåéëèíã

string arSym[12];


//---- 
   // Ïîðÿäêîâûé íîìåð ïàðû
if (Symbol()=="USDCHF")  para=0; arSym[0]="ïî ôðàíêó";
if (Symbol()=="GBPUSD")  para=1; arSym[1]="ïî Ôóíòó";
if (Symbol()=="USDJPY")  para=2; arSym[3]="ïî åíå";
if (Symbol()=="EURUSD")  para=3; arSym[3]="ïî åâðå";
if (Symbol()=="AUDUSD")  para=4; arSym[3]="ïî àâñòðàëèéöó";
if (Symbol()=="USDCAD")  para=5; arSym[3]="ïî êàíàäöó";
if (Symbol()=="EURGBP")  para=6; arSym[3]="ïî åâðî ôóíòó";
if (Symbol()=="EURCHF")  para=7; arSym[3]="ïî åâðî ôðàíêó";
if (Symbol()=="EURJPY")  para=8; arSym[3]="ïî åâðî åíå";
if (Symbol()=="GBPJPY")  para=9; arSym[3]="ïî Ôóíò åíå";
if (Symbol()=="GPBCHF")  para=10; arSym[3]="ïî ôóíò ôðàíêó";
if (Symbol()=="#EPU4")  para=11; arSym[3]="ïî Èíäåêñó";

double mode,ValATR,hi,lo;
int prevBars,I,j2;
int lang_mode=SPEECH_NATIVE;
// Äâèãàåì ñòîïû
	ts[para]=TrailingStop;
//------------------------------------------------------- 
if (prevBars != Bars)
 {
  ValATR=0; 

  for ( I=1 ; I<=Patr;I++){
   if (I<= Patr) ValATR += High[I]-Low[I]; }
   
 
  ValATR = NormalizeDouble(ValATR / Patr,4); 
     
   hi=High[Highest(NULL,0,MODE_HIGH,Prange,Prange)];  
   lo=Low[Lowest(NULL,0,MODE_LOW,Prange,Prange)];
  
  if (Vts==1)  { ts[para]=NormalizeDouble(kts*ValATR,4);
                sl[para]=Kstop*ValATR; }
  if (Vts==2) {  ts[para]=(hi-lo);
                 sl[para]=Kstop*(hi-lo); }
  prevBars = Bars;
  }
  if (Vts<1 || Vts>2) return(0); 
 
//------------------------------------------------------- 
// int total=OrdersTotal();
for(cnt=0;cnt<total;cnt++)
{
// Âûñòàâëåíèå ïåðâîãî ñòîïà
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
 if(OrderType()==OP_BUY &&  OrderSymbol()==Symbol()&& OrderStopLoss()== 0) {

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-sl[para],OrderTakeProfit(),0,Yellow);

 SpeechText("Còîï ëîñ"+ arSym[para]+" óñòàíîâëåí óñïåøíî!", lang_mode);
                  return(0);
               }

 if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderStopLoss()== 0) {
 OrderModify(OrderTicket(),OrderOpenPrice(),Ask+sl[para],OrderTakeProfit(),0,Yellow);
 SpeechText("Còîï ëîñ "+ arSym[para]+"óñòàíîâëåí óñïåøíî!", lang_mode); 
                  return(0);
               }

// Ìîäèôèêàöèÿ

   OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
   if(OrderType()<=OP_SELL && 
   OrderSymbol()==Symbol())   
   {
      if(OrderType()==OP_BUY)   
      {
         
         if(ts[para]>0)  
         {                
            if(Bid-OrderOpenPrice()>TrailingStop*Point)
            {
               if(OrderStopLoss()<Bid-ts[para]|| OrderStopLoss()<OrderOpenPrice())
               {
                  OrderModify(OrderTicket(),OrderOpenPrice(),Bid-ts[para],OrderTakeProfit(),0,Blue);
 
                  return(0); 
               }
            }
         }
      }
      else 
      {
         
         if(ts[para]>0)  
         {    
            if((OrderOpenPrice()-Ask)>TrailingStop*Point)
            {
               if(OrderStopLoss()==0.0 || 
               OrderStopLoss()>(Ask+ts[para])|| OrderStopLoss()>OrderOpenPrice())
               {
                  OrderModify(OrderTicket(),OrderOpenPrice(),Ask+ts[para],OrderTakeProfit(),0,Red);
  
                  return(0); }
               }
            }
          }
      }
   }
}
 OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
  if (OrderType()==OP_BUY && OrderSymbol()==Symbol()&& OrderStopLoss()<Bid-ts[para])
    {  SpeechText("Îðäåð áàé"+ arSym[para]+" ìîäèôèöèðîâàí  óñïåøíî!", lang_mode); }
  
  if ( OrderType()==OP_SELL && OrderSymbol()==Symbol()&&  OrderStopLoss()>Ask+ts[para]){
    SpeechText("Îðäåð ñåëë"+ arSym[para]+" ìîäèôèöèðîâàí  óñïåøíî!", lang_mode);}
//----






//---- 
   
//----





*/




int H,L;

for (cnt=0;cnt<30;cnt++)
{if (H==0)
{if (H<High[cnt]) H=High[cnt];}}

for (cnt=0;cnt<30;cnt++)
{if (L==0)
{
if (L>Low[cnt]) L=Low[cnt];}}

Comment("  BullsPower - ",pos1pre,"  BearsPower - ",pos2cur);

int j;



for(cnt=0;cnt<total;cnt++)
     {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_SELL && // ýòî îòêðûòàÿ ïîçèöèÿ? OP_BUY èëè OP_SELL 
         OrderSymbol()==Symbol())    // èíñòðóìåíò ñîâïàäàåò?
        {j=2;
         if(OrderType()==OP_BUY)   // îòêðûòà äëèííàÿ ïîçèöèÿ
           {
                // ïðîâåðèì - ìîæåò ìîæíî/íóæíî óæå òðåéëèíã ñòîï ñòàâèòü?
            if(TrailingStop>0)  // ïîëüçîâàòåëü âûñòàâèë â íàñòðîéêàõ òðåéëèíãñòîï
              {                 // çíà÷èò ìû èäåì åãî ïðîâåðÿòü
               if(Bid-OrderOpenPrice()>Point*TrailingStop)
                 {
                  if(OrderStopLoss()<Bid-Point*TrailingStop)
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Red);
                     return(0);
                    }
                 }
              }
           }
         else // èíà÷å ýòî êîðîòêàÿ ïîçèöèÿ
           {
              // ïðîâåðèì - ìîæåò ìîæíî/íóæíî óæå òðåéëèíã ñòîï ñòàâèòü?
            if(TrailingStop>0)  // ïîëüçîâàòåëü âûñòàâèë â íàñòðîéêàõ òðåéëèíãñòîï
              {                 // çíà÷èò ìû èäåì åãî ïðîâåðÿòü
               if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
                 {
                  if(OrderStopLoss()==0.0 || 
                     OrderStopLoss()>(Ask+Point*TrailingStop))
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
                     return(0);
                    }
                 }
              }
           }
        }
     }



/*if (pos1pre > pos2cur)
{
   for(cnt=0;cnt<total;cnt++)
   {
     OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_BUY &&   
            OrderSymbol()==Symbol())
      {
           	if (Bid>(OrderSelect(cnt,OrderOpenPrice(), MODE_TRADES)+TrailingStop*Point))
            {
                 	OrderClose(OrderSelect(cnt,Symbol()),Lots,Bid,3,Violet);
            }
      }
   }
}
if (pos2cur<0)
{
   for(cnt=0;cnt<total;cnt++)
   {
     OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_SELL &&   
            OrderSymbol()==Symbol())
      {
           	if (Ask>(OrderSelect(cnt,OrderOpenPrice(), MODE_TRADES)-TrailingStop*Point))
            {
                 	OrderClose(OrderSelect(cnt,Symbol()),Lots,Ask,3,Violet);
            }
      }
   }
}
*/

   

if (pos1pre>pos2cur && pos2cur>0  && j<2)
    {
      OrderSend(Symbol(), OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,NULL,0,0,Red);
    }
    
if (pos2cur<0 && j<1)
    {
      OrderSend(Symbol(), OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,NULL,0,0,Red);
     }


// TRALiNG





  
 return(0);
  }

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---