BTC USD 76,222.4 Gold USD 4,349.87
Time now: Jun 1, 12:00 AM

pending order pakai script

kena pakai EA sebab kena menunggu. kalau pakai script, nak tunggu PO tu kena and buka PO baru, kot tiba2 tenet kong kejap, script ilang.. EA akan continue..

nak tolong buat pon masuk darjah 3 bab coding ni.. tp saya cuba la lps raye ni. tgk camno. experimen
 
kena pakai EA sebab kena menunggu. kalau pakai script, nak tunggu PO tu kena and buka PO baru, kot tiba2 tenet kong kejap, script ilang.. EA akan continue..

nak tolong buat pon masuk darjah 3 bab coding ni.. tp saya cuba la lps raye ni. tgk camno. experimen

Ada logiknya jugak..tapi nanti bila jadi ea..blh tak kita nak set

1) Specific price untuk Buy limit @ Sell Limit?

2) Specific Range untuk setiap Buy stop selepas execute Buy Limit?
3) Set TP pada dan SL pada setiap po..?

4) Disable Ea tu selepas open semua..? ye la takut nanti biar lama2 kang bertambah pulak po buy stop @ sell stop tu nanti..

Sorry kalau byk sgt permintaan..saya takde basic pasal coding..cumanya ada idea yang baik ni ingat nak kongsi la bersama..

selamat hari raya aidil adha..maaf zahir dan batin
 
Hari tu tempe ada kasi formula dalam thread FPI, untuk kira jumlah lot, tapi lebih kurang je, boleh terbalikkan formula dia. Kena search balik

Patut la tido tersedak.... makan tersedak.... rupanya disebut-sebut...

Kalau nak tahu betul ke tak formula tu, dah siap bagi kat lukpayat... mamat tu gerenti test punya... hati kering...
 
adoii kawan2...camner la nk guna script..pueh dah attach kat chart..tak nampak ape2 pun...camner la nk masukkan dia kat chart dan tgk dia dah wat keje ker tido...kalau ader ea yg best bg la utk di try....hehheh...
 
Last edited:
salam..
script pending oder utk satu2 currency ado tak..
buy stop ngan sell stop
 
den ghaso mcm xdo.. maksud den pending order utk satu blok currency..

Ni saya modified sket skrip tu, yang senang2 saya buat dulu.
HTML:
#property copyright "Aiman."
#property show_inputs
#include <stdlib.mqh>

extern double  Lots        = 0.01;
extern string  currency    = "JPY";
extern bool    buy         = true;
extern bool    sell        = true;
extern int     Pips        = 150;
extern int     StopLoss    = 0;      
extern int     TakeProfit  = 0;
       int     Slippage    = 5;
       
string   Currencies[]={"EUR","GBP","JPY","USD","AUD","NZD","CHF","CAD"};
string   myPairs[];

int init ()
{
   int i,j;
   string pair;
   for (i=0; i<ArraySize(Currencies); i++)
   for (j=0; j<ArraySize(Currencies); j++)
   {
      pair = Currencies[i]+Currencies[j]+StringSubstr(Symbol(),6,1);
      if (MarketInfo(pair,MODE_TRADEALLOWED)==1 && StringFind(pair,currency,0)!=-1)
      {
         ArrayResize(myPairs,ArraySize(myPairs)+1);
         myPairs[ArraySize(myPairs)-1]=pair;
      }
   }
}
       
int deinit ()
{
   Comment ("");
   return (0);
}
   
int start()
{
   for (int i=0; i<ArraySize(myPairs); i++)
   {
      if (buy)
      {
         if (StringSubstr(myPairs[i],0,3)==currency)  PO_order(myPairs[i],OP_BUYSTOP);
         else                                         PO_order(myPairs[i],OP_SELLSTOP);
      }
      if (sell)
      {
         if (StringSubstr(myPairs[i],0,3)==currency)  PO_order(myPairs[i],OP_SELLSTOP);
         else                                         PO_order(myPairs[i],OP_BUYSTOP);
      }
   }

   return(0);
}

void PO_order (string pair, int PO_type)
{
   double   bid = MarketInfo(pair,MODE_BID);
   double   ask = MarketInfo(pair,MODE_ASK);
   double point = MarketInfo(pair,MODE_POINT);

   int err;
   double PO,SL,TP;
   string comment;
   
   if (PO_type==OP_BUYSTOP)
   {
      comment  ="Placing BuyStop for "+pair+"= ";
      PO       =ask+Pips*point;
      if (StopLoss>0)   SL=ask-(StopLoss*point)+Pips*point; else SL=0;
      if (TakeProfit>0) TP=bid+(TakeProfit*point)+Pips*point; else TP=0;     
   }

   if (PO_type==OP_SELLSTOP)
   {
      comment  ="Placing SellStop for "+pair+"= ";
      PO       =bid-Pips*point;
      if (StopLoss>0)   SL=bid+(StopLoss*point)-Pips*point; else SL=0;
      if (TakeProfit>0) TP=ask-(TakeProfit*point)-Pips*point; else TP=0;      
   }
   
   bool loop=true;
   int cnt=0;
   while(loop)
   {
      OrderSend(pair,PO_type,Lots,PO,Slippage,SL,TP,"",0,0,CLR_NONE);
      err=GetLastError();
      Print (comment, ErrorDescription(err));
      cnt++;
      if (cnt>20 || err==0) loop = false;
      Sleep(50);
   }
   if (err>0) Print (comment+ErrorDescription(err));
}
 

Live Forex Chart

Currency
Rates
EUR / USD
1.14735
USD / JPY
155.882
GBP / USD
1.33866
USD / CHF
0.82538
USD / CAD
1.39993
EUR / JPY
178.850
AUD / USD
0.71204
Back
Top
Log in Register