Welcome To Gudang Ilmu 79

Best Learning Solutions for Tech And Education

About Us

Best Learning Solutions Online

Gudang Ilmu 79 adalah blog yang berfokus pada berbagi pengetahuan dan wawasan seputar pendidikan, teknologi, dan tutorial praktis. Melalui artikel-artikel yang disajikan secara sederhana dan mudah dipahami, kami berkomitmen untuk membantu pembaca memperluas wawasan, meningkatkan keterampilan, dan menemukan solusi atas berbagai kebutuhan belajar. Kami percaya bahwa ilmu adalah investasi terbaik. Karena itu, Gudang Ilmu 79 hadir sebagai ruang belajar yang terbuka untuk siapa saja yang ingin terus berkembang.

Edukasi
Teknologi
Tutorial
Riset

Membuat Close Order Forex

//+------------------------------------------------------------------+

//|                                                  Close_Order.mq4 |

//|                            Copyright 2021, Putra Kuningan Group. |

//|                               https://www.putrakuningangroup.com |

//+------------------------------------------------------------------+

#property copyright "Copyright 2021, Putra Kuningan Group."

#property link      "https://www.putrakuningangroup.com"

#property version   "1.00"

#property strict


input       double      MinimalProfit      = 0.40;

input       double      MaxLoss            = 3.0;



//+------------------------------------------------------------------+

//| Expert initialization function                                   |

//+------------------------------------------------------------------+

int OnInit(){


return(INIT_SUCCEEDED);

}

//+------------------------------------------------------------------+

//| Expert deinitialization function                                 |

//+------------------------------------------------------------------+

void OnDeinit(const int reason){


   

}

//+------------------------------------------------------------------+

//| Expert tick function                                             |

//+------------------------------------------------------------------+

void OnTick(){

   //Menjalakan fungsi close order

   CekProfiOrder();

   if (Qn_Close()==1)CloseAll(0); 

   if (Qn_Close()==2)CloseAll(1);

   //Menjalankan Fungsi Comment

   QnComment ();   

}

//+------------------------------------------------------------------+

//=================================================== Fungsi Comment =================================================================

void QnComment (){

   int HSpread = (int) MathRound((Ask-Bid)*100);

   Comment(

      " Informasi Account:",

      "\n Name                   : ", AccountName(), " #", AccountNumber(), " Vol@",Volume[0],

      "\n Balance/Equity      : "    , NormalizeDouble(AccountBalance(),2)," /",NormalizeDouble(AccountEquity(),2), " Spread @",

                                    HSpread, " HSpreadClose @", HSpreadClose (),

      "\n Account Server     : "    , AccountServer(), " Vol : ",  Volume[0], "   @", Hour(),":", Minute(),":",Seconds(),

      "\n Close Order        : HAtas@", HAtas(), " HBawah@",HBawah()," Time Order", TimOP()," ProfitOrder@",

                               NormalizeDouble(CekProfiOrder(),2), " SClose Order @", Qn_Close ()  

   );

}

//=============================================== ClOSE ORDER SATU TRANSAKSI =========================================================  

//Mecari Profit Order

//if (OrderSymbol() != Symbol()  || OrderMagicNumber()!=Magic) continue;

double CekProfiOrder(){

    double dp = 0;

    int i;

    for (i = 0; i < OrdersTotal(); i++) {

     if( !OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;

     dp += OrderProfit();

    }

return(dp);

}

//Mencari Time Order

datetime TimOP(){

   datetime TimeOrder=0;

   for(int i=0; i<OrdersHistoryTotal();i++){

      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){

        TimeOrder = OrderOpenTime();

        }

     }

   return(TimeOrder);

}

//Membuat limit Order dengan waktu saat order mengalami rugi

int LimitTimeOP(){

   int result = 0;

   int tenggangwaktunya=1300; 

   if(TimeCurrent()>=TimOP()+tenggangwaktunya) result = 1;

return (result);

}

//Membuat limit Order dengan waktu saat order mengalami rugi

int LimitTimeOPReversal(){

   int result = 0;

      int tenggangwaktunya=1400; 

      if(TimeCurrent()>=TimOP()+tenggangwaktunya) result = 1;

    return (result);

}

//Mencari Nilai Spread

int HSpreadClose (){

   int result = (int)MathRound((Ask-Bid)*100);

   if((Ask-Bid)*100>60)result = (int) MathRound(((Ask-Bid)*100)/2);

return (result);

}

//Mecari Harga Atas 

double HAtas(){

   double pMarket=0;

   int BAtas = (int) HSpreadClose ();

   if(HSpreadClose ()<30) BAtas = (int) HSpreadClose ()+5;

   pMarket  = Ask;

   double HAtas      = pMarket+BAtas*Point();

return(HAtas);

}

//Mecari Harga Bawah 

double HBawah(){

   double pMarket=0;

   int BBawah = (int) HSpreadClose ();

   if(HSpreadClose ()<30) BBawah = (int) HSpreadClose ()+5;

   pMarket  = Ask;

   double HBawah      = pMarket-BBawah*Point();

return(HBawah);

}

int Qn_Close (){

    int result = 0;

    //Filter Market tidak kuat untuk mendapatkan target profit

    if(OrderType()==OP_BUY){

         if( LimitTimeOPReversal()==1 && CekProfiOrder()== 0)result= 1; //1= BUYY

    }

    if(OrderType()==OP_SELL){

         if(LimitTimeOPReversal()==1 && CekProfiOrder() == 0 )result= 2; //1= SELL

    }

    //Filter Market Stagnan && Brekout

    if(OrderType()==OP_BUY){

         if( LimitTimeOP()==1 && CekProfiOrder()< -1.5)result= 1; //1= BUYY

    }

    if(OrderType()==OP_SELL){

         if(LimitTimeOP()==1 && CekProfiOrder()< -1.5 )result= 2; //1= SELL

    }

    //Maximal Profit

    if(OrderType()==OP_BUY){

      if( CekProfiOrder()>MinimalProfit && HAtas() < High[0])result= 1; //1= BUYY

    }

    if(OrderType()==OP_SELL){

      if(CekProfiOrder()>MinimalProfit && HBawah() > Low[0]+(HSpreadClose ()+5)*Point())result= 2; //1= SELL

    }

    //Stop Loss

    if(OrderType()==OP_BUY){

      if( CekProfiOrder()< -MaxLoss )result= 1; //1= BUYY

    }

    if(OrderType()==OP_SELL){

      if(CekProfiOrder()< -MaxLoss )result= 2; //1= SELL

    }

return(result);

}

//Fungsi Close

//if (OrderSymbol() != Symbol() || OrderMagicNumber()!=Magic2_0||  OrderType()!=m) continue;

void CloseAll(int m) {

   for (int i = OrdersTotal() - 1; i >= 0; i--) {

   bool hasil= true;

   if( !OrderSelect(i,SELECT_BY_POS)) continue;

   if (OrderSymbol() != Symbol() || OrderType()!=m) continue;

   if (OrderType() > 1)  hasil = OrderDelete(OrderTicket());

   if (OrderType() == 0) hasil = OrderClose(OrderTicket(), OrderLots(), Bid, 4, CLR_NONE);

   if (OrderType() == 1) hasil = OrderClose(OrderTicket(), OrderLots(), Ask, 4, CLR_NONE);

 }

}

//=============================================== SELESAI ===========================================================================


Comments

Tidak ada komentar:

"Terimakasih telah berkunjung ke blog kami, semoga anda dapat menemukan apa yang anda cari. Mohon untuk menambahkan komentar!"

SEARCH

RECENT POSTS

Loading posts...

CATEGORIES

TAG CLOUD

Loading tags...
Gudang News

Popular Articles

Alamat

Jl. Selajambe- Cipasung RT.05/ RW.01 Desa Selajambe Kecamatan Selajambe Kabupaten Kuningan Jawa Barat 45566

Selajambe-Kuningan

putrakuningangroup@gmail.com

+6289528890141

Newsletter

Follow Us

Gudang ILmu 79. All Rights Reserved.