sumber : klik sini
Kali ini saya ingin menjelaskan kepada anda tentang EA Soultimate v2.Dasar pertimbangan karena EA ini yang paling banyak mendownload padahal saya share paling akhir dibanding EA-EA yang lain.
Oke langsung saja Gan.....
#property copyright "Copyright © 2011, EA Compilator"
#property link "http://assassintrader.blogspot.com"
extern string nameEA = "SOUltimate v2";
extern int MaxTrades = 12;
extern int Pips = 15;
extern double TakeProfit = 60.0;
extern double TrailingStop = 0.0;
extern double InitialStop = 0.0;
extern bool RunNonStop = TRUE;
int gi_156 = 10;
int gi_160 = 10;
int gi_164 = 15;
int gi_168 = 20;
int gi_172 = 25;
int gi_176 = 30;
int gi_180 = 35;
int gi_184 = 40;
int gi_188 = 45;
int gi_192 = 50;
int gi_196 = 0;
int gi_200 = 8;
int gi_204 = 0;
extern double FirstOrderLots = 0.01;
int g_count_216 = 0;
int g_pos_220 = 0;
double g_lots_224 = 0.1;
int g_slippage_232 = 3;
double g_price_236 = 0.0;
double g_price_244 = 0.0;
double g_ask_252 = 0.0;
double g_bid_260 = 0.0;
double gd_268 = 0.0;
int g_cmd_276 = OP_BUY;
int gi_280 = 0;
bool gi_284 = TRUE;
double g_ord_open_price_288 = 0.0;
int gi_296 = 0;
double gd_300 = 0.0;
int g_ticket_308 = 0;
int gi_312 = 0;
double g_price_316 = 0.0;
double g_ord_lots_324 = 0.0;
double g_tickvalue_332 = 0.0;
string gs_unused_340 = "";
string gs_348 = "";
double gd_356 = 0.0;
double gd_364 = 12.0;
double gd_372 = 0.0;
int init() {
return (0);
}
int deinit() {
return (0);
}
int start() {
if (gd_372 == 1.0) {
if (gd_356 != 0.0) gd_268 = MathCeil(AccountBalance() * gd_364 / 10000.0);
else gd_268 = g_lots_224;
} else {
if (gd_356 != 0.0) gd_268 = MathCeil(AccountBalance() * gd_364 / 10000.0) / 10.0;
else gd_268 = g_lots_224;
}
gd_268 = FirstOrderLots;
if (gd_268 > 100.0) gd_268 = 100;
if (gd_268 < 0.01) gd_268 = 0.1;
g_count_216 = 0;
for (g_pos_220 = 0; g_pos_220 < OrdersTotal(); g_pos_220++) {
OrderSelect(g_pos_220, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol()) g_count_216++;
}
g_tickvalue_332 = MarketInfo(Symbol(), MODE_TICKVALUE);
if (g_tickvalue_332 == 0.0) g_tickvalue_332 = 5;
if (gi_296 > g_count_216) {
for (g_pos_220 = OrdersTotal(); g_pos_220 >= 0; g_pos_220--) {
OrderSelect(g_pos_220, SELECT_BY_POS, MODE_TRADES);
g_cmd_276 = OrderType();
if (OrderSymbol() == Symbol()) {
if (g_cmd_276 == OP_BUY) OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), g_slippage_232, Blue);
if (g_cmd_276 == OP_SELL) OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), g_slippage_232, Red);
return (0);
}
}
}
gi_296 = g_count_216;
if (g_count_216 >= MaxTrades) gi_284 = FALSE;
else gi_284 = TRUE;
if (g_ord_open_price_288 == 0.0) {
for (g_pos_220 = 0; g_pos_220 < OrdersTotal(); g_pos_220++) {
OrderSelect(g_pos_220, SELECT_BY_POS, MODE_TRADES);
g_cmd_276 = OrderType();
if (OrderSymbol() == Symbol()) {
g_ord_open_price_288 = OrderOpenPrice();
if (g_cmd_276 == OP_BUY) gi_280 = 2;
if (g_cmd_276 == OP_SELL) gi_280 = 1;
}
}
}
if (g_count_216 < 1) {
if (RunNonStop == TRUE && Hour() >= 0) {
Comment(" ---------------------------------------------",
"\n :: EA SOUltimate v2 by EA Compilator...BISMILLAH Semoga Profit...\n","Forex Account Server:", AccountServer(),
"\n :: Symbol : ", Symbol(),
"\n :: Date : ", Month(), "-", Day(), "-", Year(),
"\n :: Spread : ", MarketInfo(Symbol(), MODE_SPREAD),
"\n :: Balance : ", AccountBalance(),
"\n :: Equity : ", AccountEquity(),
"\n :: Profit / Loss : ", AccountProfit(),
"\n :: Take Profit : ", TakeProfit,
"\n ---------------------------------------------------");
gi_280 = 3;
if (iStochastic(NULL, PERIOD_M30, 5, 3, 3, MODE_SMA, 20, MODE_MAIN, 0) > iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 80, MODE_MAIN, 1)) gi_280 = 2;
if (iStochastic(NULL, PERIOD_M30, 5, 3, 3, MODE_SMA, 20, MODE_MAIN, 0) < iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 80, MODE_MAIN, 1)) gi_280 = 1;
if (iStochastic(NULL, PERIOD_M30, 5, 3, 3, MODE_SMA, 20, MODE_MAIN, 0) == iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 80, MODE_MAIN, 1)) gi_280 = 3;
if (gi_204 == 1) {
if (gi_280 == 1) gi_280 = 2;
else
if (gi_280 == 2) gi_280 = 1;
}
}
}
for (g_pos_220 = OrdersTotal(); g_pos_220 >= 0; g_pos_220--) {
OrderSelect(g_pos_220, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol()) {
if (OrderType() == OP_SELL) {
if (TrailingStop > 0.0) {
if (OrderOpenPrice() - Ask >= (TrailingStop + Pips) * Point) {
if (OrderStopLoss() > Ask + Point * TrailingStop) {
OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderClosePrice() - TakeProfit * Point - TrailingStop * Point, 800, Purple);
return (0);
}
}
}
}
if (OrderType() == OP_BUY) {
if (TrailingStop > 0.0) {
if (Bid - OrderOpenPrice() >= (TrailingStop + Pips) * Point) {
if (OrderStopLoss() < Bid - Point * TrailingStop) {
OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderClosePrice() + TakeProfit * Point + TrailingStop * Point, 800, Yellow);
return (0);
}
}
}
}
}
}
gd_300 = 0;
g_ticket_308 = 0;
gi_312 = FALSE;
g_price_316 = 0;
g_ord_lots_324 = 0;
for (g_pos_220 = 0; g_pos_220 < OrdersTotal(); g_pos_220++) {
OrderSelect(g_pos_220, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol()) {
g_ticket_308 = OrderTicket();
if (OrderType() == OP_BUY) gi_312 = FALSE;
if (OrderType() == OP_SELL) gi_312 = TRUE;
g_price_316 = OrderClosePrice();
g_ord_lots_324 = OrderLots();
if (gi_312 == FALSE) {
if (OrderClosePrice() < OrderOpenPrice()) gd_300 -= (OrderOpenPrice() - OrderClosePrice()) * OrderLots() / Point;
if (OrderClosePrice() > OrderOpenPrice()) gd_300 += (OrderClosePrice() - OrderOpenPrice()) * OrderLots() / Point;
}
if (gi_312 == TRUE) {
if (OrderClosePrice() > OrderOpenPrice()) gd_300 -= (OrderClosePrice() - OrderOpenPrice()) * OrderLots() / Point;
if (OrderClosePrice() < OrderOpenPrice()) gd_300 += (OrderOpenPrice() - OrderClosePrice()) * OrderLots() / Point;
}
}
}
gd_300 *= g_tickvalue_332;
gs_348 = "Profit: $" + DoubleToStr(gd_300, 2) + " +/-";
if (g_count_216 >= MaxTrades - gi_200 && gi_196 == 1) {
if (gd_300 >= gi_156) {
OrderClose(g_ticket_308, g_ord_lots_324, g_price_316, g_slippage_232, Yellow);
gi_284 = FALSE;
}
if (gd_300 >= gi_160) {
OrderClose(g_ticket_308, g_ord_lots_324, g_price_316, g_slippage_232, Yellow);
gi_284 = FALSE;
}
if (gd_300 >= gi_164) {
OrderClose(g_ticket_308, g_ord_lots_324, g_price_316, g_slippage_232, Yellow);
gi_284 = FALSE;
}
if (gd_300 >= gi_168) {
OrderClose(g_ticket_308, g_ord_lots_324, g_price_316, g_slippage_232, Yellow);
gi_284 = FALSE;
}
if (gd_300 >= gi_172) {
OrderClose(g_ticket_308, g_ord_lots_324, g_price_316, g_slippage_232, Yellow);
gi_284 = FALSE;
}
if (gd_300 >= gi_176) {
OrderClose(g_ticket_308, g_ord_lots_324, g_price_316, g_slippage_232, Yellow);
gi_284 = FALSE;
}
if (gd_300 >= gi_180) {
OrderClose(g_ticket_308, g_ord_lots_324, g_price_316, g_slippage_232, Yellow);
gi_284 = FALSE;
}
if (gd_300 >= gi_184) {
OrderClose(g_ticket_308, g_ord_lots_324, g_price_316, g_slippage_232, Yellow);
gi_284 = FALSE;
}
if (gd_300 >= gi_188) {
OrderClose(g_ticket_308, g_ord_lots_324, g_price_316, g_slippage_232, Yellow);
gi_284 = FALSE;
}
if (gd_300 >= gi_192) {
OrderClose(g_ticket_308, g_ord_lots_324, g_price_316, g_slippage_232, Yellow);
gi_284 = FALSE;
return (0);
}
}
if (!IsTesting())
if (gi_280 == 3) gs_unused_340 = " ";
if (gi_280 == 1 && gi_284) {
if (Bid - g_ord_open_price_288 >= Pips * Point || g_count_216 < 1) {
g_bid_260 = Bid;
g_ord_open_price_288 = 0;
if (TakeProfit == 0.0) g_price_244 = 0;
else g_price_244 = g_bid_260 - TakeProfit * Point;
if (InitialStop == 0.0) g_price_236 = 0;
else g_price_236 = g_bid_260 + InitialStop * Point;
if (g_count_216 != 0) {
g_lots_224 = gd_268;
for (g_pos_220 = 1; g_pos_220 <= g_count_216; g_pos_220++) {
if (MaxTrades > 12) g_lots_224 = NormalizeDouble(2.0 * g_lots_224, 2);
else g_lots_224 = NormalizeDouble(1.5 * g_lots_224, 2);
}
} else g_lots_224 = gd_268;
if (g_lots_224 > 100.0) g_lots_224 = 100;
OrderSend(Symbol(), OP_SELL, g_lots_224, g_bid_260, g_slippage_232, g_price_236, g_price_244, "Soultimate-SELL", 0, 0, Red);
return (0);
}
}
if (gi_280 == 2 && gi_284) {
if (g_ord_open_price_288 - Ask >= Pips * Point || g_count_216 < 1) {
g_ask_252 = Ask;
g_ord_open_price_288 = 0;
if (TakeProfit == 0.0) g_price_244 = 0;
else g_price_244 = g_ask_252 + TakeProfit * Point;
if (InitialStop == 0.0) g_price_236 = 0;
else g_price_236 = g_ask_252 - InitialStop * Point;
if (g_count_216 != 0) {
g_lots_224 = gd_268;
for (g_pos_220 = 1; g_pos_220 <= g_count_216; g_pos_220++) {
if (MaxTrades > 12) g_lots_224 = NormalizeDouble(2.0 * g_lots_224, 2);
else g_lots_224 = NormalizeDouble(1.5 * g_lots_224, 2);
}
} else g_lots_224 = gd_268;
if (g_lots_224 > 100.0) g_lots_224 = 100;
OrderSend(Symbol(), OP_BUY, g_lots_224, g_ask_252, g_slippage_232, g_price_236, g_price_244, "Soultimate-Buy", 0, 0, Blue);
return (0);
}
}
return (0);
}
Di atas adalah isi lengkap dari EA Soultimate v2.
Bila anda ingin melakukan setting sendiri berikut poin-poin yang bisa anda edit, perhatikan angka-angka yang saya tebali dan berwarna merah:
- MaxTrades = 12, ini adalah setting untuk mengatur banyaknya level OP Averaging yang anda inginkan;
- Pips = 15, setting untuk mengatur jarak OP antar level Posisi Averaging dalam Pip;
- TakeProfit = 60.0, jumlah Take Profit yang kita inginkan, bila OP terakhir mencapai titik TP-nya maka OP-OP sebelumnya akan ikut close.
- FirstOrderLots = 0.01, setting lot awal yang ingin anda pakai, bila terjadi TP maka lot akan kembali lagi ke lot awal;
- NormalizeDouble(2.0, bila maxtrades anda setting lebih dr 12 level maka level 13 ke atas akan menggunakan lot 2 kalinya dr OP terakhir / sebelumnya;
- NormalizeDouble(1.5, bila OP level masih dibawah 12 level maka lot yang keluar adalah 1,5 kalinya dari OP terakhir / sebelumnya.Anda bisa merubah menjadi Martingale dengan merubah minimal 2 kalinya..
Nah untuk melakukan settingan EA Soultimate v2 sesuai kemauan anda cukup poin-poin di atas saja yang dirubah.Selamat mencoba...Happy Trading....Enjoys.
- Muhammad Juffry Damima pak izin nanya...EA soultimate v2 utk pair apa saja dan TF brp pak?.....terima kasih ... :-D6 hours ago ·
- EA Compilator pairs apa aja bebas..yg perlu anda perhatikan adl karakter pairs yg akan anda pake perhatikan range hariannya dg begitu nanti anda bisa mengedit sendiri EAnya untuk disesuaikan dg pairs pilihan anda..6 hours ago · · 1
- Riswanto Atha Maaf agan EA Compilator untuk setingan TP yg pas berapa ya..,karena saya coba dengan TP 25 ,Pip 30 ,bila open 1,2,3 dan yg open terakhir TP, hasil akhir nya masih minuskarena EA akan melakukan close all, idealnya selisih setingan TP dengan Pip berapa gan biar hasilnya plusabout an hour ago ·
- Mas Aziz Riswanto Atha : ya jelas minus lotnya kan cuma 1,5 kalinya...biar gak minus lotnya dibikin brp kalinya atau TPnya digedein..inikan cuma hitung2an matematika anak SD mas...he2...37 minutes ago ·
0 komentar :
Posting Komentar