aiman
Active Member

- Messages
- 1,889
- Joined
- Apr 19, 2006
- Messages
- 1,889
- Reaction score
- 1,356
- Points
- 101
setelah aku cube 5-6 kali, xda order or PO pon yg d buka?
Saya cuba OK aje, check journal
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.

setelah aku cube 5-6 kali, xda order or PO pon yg d buka?
Saya cuba OK aje, check journal
\owh bole2, dah boleh lama dah, cume baru jumpe balek thread ni
tp script ni lain sket dari yg dihajatkan. hehe..
ingat nak cari script PO martin camni.
OP 1st layer start kat price yg kita set. contoh gu 1.6400.
next layer ikot multiply yg kita set, contoh 1.799x
jarak contoh 25
tp contoh 40 (bole true or false)
jenis contoh buy limit/stop, sell limit stop.
so script akan open PO
1sen pada 1.6400
2sen pada 1.6425
3sen pada 1.6450...
kalo camni ada x masta?



//+------------------------------------------------------------------+
//| Aiman - Martingale_PO.mq4 |
//| Copyright © 2011, Aiman |
//| |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, Aiman."
#property link "Aiman"
#property show_inputs
#include <stdlib.mqh>
extern bool PO_buy = false;
extern bool PO_sell = false;
extern double startPrice = 0; //-- Biarkan 0 untuk current price
extern double startLots = 0.1;
extern double multiplier = 2;
extern int totalLayer = 5;
extern int Gap_Between_Pips = 40;
int StopLoss = 0;
int TakeProfit = 0;
int Slippage = 5;
int start()
{
double lot, sl, tp;
int ticket, retry;
double spread = MarketInfo(Symbol(),MODE_SPREAD)*Point;
double ask = Ask-Gap_Between_Pips*Point;
double bid = Bid+Gap_Between_Pips*Point;
if (startPrice != 0)
{
ask = startPrice;
bid = startPrice;
}
for (int i=totalLayer; i>0; i--)
{
if (totalLayer != i)
{
[COLOR="DarkOrchid"]ask = ask-Gap_Between_Pips*Point;
bid = bid+Gap_Between_Pips*Point; [/COLOR]
lot = NormalizeDouble(lot*multiplier,2);
}
else lot = startLots;
if (PO_buy)
{
ticket = 0;
retry = 0;
while (ticket<1 && retry<10)
{
if (StopLoss>0) sl=(ask-spread)-(StopLoss*Point); else sl=0;
if (TakeProfit>0) tp=ask+(TakeProfit*Point); else tp=0;
ticket=OrderSend(Symbol(),OP_BUYLIMIT,lot,ask,Slippage,sl,tp,"",0,0,Lime);
if (ticket<1) Print ("Order buy limit failed with error ", ErrorDescription(GetLastError()));
Sleep (1000);
retry++;
}
}
if (PO_sell)
{
ticket = 0;
retry = 0;
while (ticket<1 && retry<10)
{
if (StopLoss>0) sl=(bid+spread)+(StopLoss*Point); else sl=0;
if (TakeProfit>0) tp=bid-(TakeProfit*Point); else tp=0;
ticket=OrderSend(Symbol(),OP_SELLLIMIT,lot,bid,Slippage,sl,tp,"",0,0,Crimson);
if (ticket<1) Print ("Order sell limit failed with error ", ErrorDescription(GetLastError()));
Sleep (1000);
retry++;
}
}
}
return(0);
}