Скачать MetaTrader 5

советник Франк уд.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Планируешь заказать программу? Узнай, как получить желаемый результат
kasiak
56
kasiak 2013.10.18 12:15 
Всем доброго времени суток, друзья.
Ситуация следующая. Начал торговать на форекс оптиум советником Франк уд. советник четкий, торгует как надо, в общем я им доволен. Но вот случилось беда. Слил все деньги.
Что хотелось бы сказать о советнике. Он открывает ордера только на покупку. Дело в том что когда я его поставил он светился серым цветом. На сколько я знаю это означает что у него нету файла .mq4
Спустя некоторое время я его нашел, но он оказался немного изменен. Там уже был добавлен следующий момент, он стал еще и продавать. Но мне это не нужно.
Я хотел бы что бы этот советник так же и продолжал открывать ордера только на покупку, но что бы у него появился не только TP но и SL. плюс, если это возможно что бы он закрывал все сделки когда реальная сумма на счете доходит до определенного момента, к примеру 100$. или процент от какой-то суммы. ну грубо говоря что бы он не сливал все в 0, а что бы оставался како-нибудь минимум. Я сейчас скину тело советника, если кто может и кому не сложно попробуйте с ним что-нибудь сделать и отписать мне.Буду вам очень признателен.


MQL-Код:
//+------------------------------------------------------------------+
//| франк_уд.mq4 |
//+------------------------------------------------------------------+
#define m 20050611
//----
extern int tp = 65;
extern int sh = 41;
//----
datetime lastt;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int kol_buy()
{
int kol_ob = 0;
//----
for(int i = 0; i {
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false)
break;
//----
if(OrderType() == OP_BUY)
kol_ob++;
}
return(kol_ob);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int kol_sell()
{
int kol_os = 0;
//----
for(int i = 0; i {
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false)
break;
//----
if(OrderType() == OP_SELL)
kol_os++;
}
return(kol_os);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
int slip, i, ii, tic, total, kk, gle;
double lotsi = 0.0;
bool sob = false, sos = false, scb = false, scs = false;
int kb, kb_max = 0;
kb = kol_buy() + 1;
double M_ob[11][8];
ArrayResize(M_ob,kb);
int ks = 0, ks_max = 0;
ks = kol_sell() + 1;
double M_os[11][8];
ArrayResize(M_os,ks);
ArrayInitialize(M_ob, 0.0);
int kbi = 0;
//----
for(i = 0; i {
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false)
break;
//----
if(OrderSymbol() == Symbol() &&OrderType() == OP_BUY)
{
kbi++;
M_ob[kbi][0] = OrderTicket();
M_ob[kbi][1] = OrderOpenPrice();
M_ob[kbi][2] = OrderLots();
M_ob[kbi][3] = OrderType();
M_ob[kbi][4] = OrderMagicNumber();
M_ob[kbi][5] = OrderStopLoss();
M_ob[kbi][6] = OrderTakeProfit();
M_ob[kbi][7] = OrderProfit();
}
}
M_ob[0][0] = kb;
double max_lot_b = 0.0;
//----
for(i = 1; i if(M_ob[i][2] > max_lot_b)
{
max_lot_b = M_ob[i][2];
kb_max = i;
}
double buy_lev_min = M_ob[kb_max][1];
ArrayInitialize(M_os,0.0);
int ksi = 0;
//----
for(i = 0; i {
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)
break;
//----
if(OrderSymbol()==Symbol() &&OrderType()==OP_SELL)
{
ksi++;
M_os[ksi][0] = OrderTicket();
M_os[ksi][1] = OrderOpenPrice();
M_os[ksi][2] = OrderLots();
M_os[ksi][3] = OrderType();
M_os[ksi][4] = OrderMagicNumber();
M_os[ksi][5] = OrderStopLoss();
M_os[ksi][6] = OrderTakeProfit();
M_os[ksi][7] = OrderProfit();
}
}
M_os[0][0] = ks;
double max_lot_s = 0.0;
//----
for(i = 1;i if(M_os[i][2] > max_lot_s)
{
max_lot_s = M_os[i][2];
ks_max = i;
}
double sell_lev_max = M_os[ks_max][1];
//----
if(Bars return(0);
sob = (kol_buy() Ask) &&
AccountFreeMargin() > AccountBalance()*0.5;
sos = (kol_sell() AccountFreeMargin() > AccountBalance()*0.5;
//----
if(M_ob[kb_max][2] > 0.0)
scb = M_ob[kb_max][7] / (M_ob[kb_max][2]*10) > tp;
//----
if(M_os[ks_max][2] > 0.0)
scs = M_os[ks_max][7] / (M_os[ks_max][2]*10) > tp;
kk = 0;
ii = 0;
//----
if(scb)
{
while(kol_buy() > 0 &&kk {
for(i = 1; i {
ii = M_ob[i][0];
//----
if(!OrderClose(ii,M_ob[i][2],Bid,slip,White))
{
gle = GetLastError();
kk++;
Print("Ошибка №", gle, " при close buy ", kk);
Sleep(6000);
RefreshRates();
}
}
kk++;
}
}
kk = 0;
ii = 0;
//----
if(scs)
{
while(kol_sell() > 0 &&kk {
for(i = 1; i {
ii = M_os[i][0];
//----
if(!OrderClose(ii,M_os[i][2], Ask, slip, White))
{
gle = GetLastError();
kk++;
Print("Ошибка №", gle, " при close sell ", kk);
Sleep(6000);
RefreshRates();
}
}
kk++;
}
}
kk = 0;
tic = -1;
//----
if(sob)
{
if(max_lot_b == 0.0)
lotsi = 0.1;
else
lotsi = 2.0*max_lot_b;
//----
while(tic == -1 &&kk {
tic = OrderSend(Symbol(), OP_BUY, lotsi, Ask, slip, 0, Ask + (tp + 25)*Point,
" ", m, 0, Yellow);
Print("tic_buy=", tic);
//----
if(tic==-1)
{
gle = GetLastError();
kk++;
Print("Ошибка №", gle, " при buy ", kk);
Sleep(6000);
RefreshRates();
}
}
lastt = CurTime();
return;
}
tic = -1;
kk = 0;
//----
if(sos)
{
if(max_lot_s == 0.0)
lotsi = 0.1;
else
lotsi = 2.0*max_lot_s;
//----
while(tic == -1 &&kk {
tic = OrderSend(Symbol(), OP_SELL, lotsi, Bid, slip, 0, Bid - (tp + 25)*Point,
" ", m, 0, Red);
Print("tic_sell=", tic);
//----
if(tic == -1)
{
gle = GetLastError();
kk++;
Print("Ошибка №", gle, " при sell ", kk);
Sleep(6000);
RefreshRates();
}
}
lastt = CurTime();
return;
}
}
//+------------------------------------------------------------------+
Vladimir Pastushak
68521
Vladimir Pastushak 2013.10.18 12:31  

в этом коде используются странные конструкции, мине до сели не извесные ...

//+------------------------------------------------------------------+
//| франк_уд.mq4 |
//+------------------------------------------------------------------+
#define m 20050611
//----
extern int tp = 65;
extern int sh = 41;
//----
datetime lastt; 
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int kol_buy()
{
int kol_ob = 0;
//----
for(int i = 0; i {
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false) 
break;
//----
if(OrderType() == OP_BUY) 
kol_ob++;
}
return(kol_ob);
} 
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int kol_sell()
{
int kol_os = 0;
//----
for(int i = 0; i {
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false) 
break;
//----
if(OrderType() == OP_SELL) 
kol_os++;
}
return(kol_os);
} 
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
int slip, i, ii, tic, total, kk, gle;
double lotsi = 0.0;
bool sob = false, sos = false, scb = false, scs = false;
int kb, kb_max = 0;
kb = kol_buy() + 1;
double M_ob[11][8];
ArrayResize(M_ob,kb);
int ks = 0, ks_max = 0;
ks = kol_sell() + 1;
double M_os[11][8];
ArrayResize(M_os,ks);
ArrayInitialize(M_ob, 0.0);
int kbi = 0;
//----
for(i = 0; i {
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false) 
break;
//----
if(OrderSymbol() == Symbol() &&OrderType() == OP_BUY)
{
kbi++;
M_ob[kbi][0] = OrderTicket();
M_ob[kbi][1] = OrderOpenPrice();
M_ob[kbi][2] = OrderLots();
M_ob[kbi][3] = OrderType();
M_ob[kbi][4] = OrderMagicNumber();
M_ob[kbi][5] = OrderStopLoss();
M_ob[kbi][6] = OrderTakeProfit();
M_ob[kbi][7] = OrderProfit();
}
} 
M_ob[0][0] = kb; 
double max_lot_b = 0.0;
//----
for(i = 1; i if(M_ob[i][2] > max_lot_b)
{
max_lot_b = M_ob[i][2];
kb_max = i;
}
double buy_lev_min = M_ob[kb_max][1]; 
ArrayInitialize(M_os,0.0);
int ksi = 0;
//----
for(i = 0; i {
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) 
break;
//----
if(OrderSymbol()==Symbol() &&OrderType()==OP_SELL)
{
ksi++;
M_os[ksi][0] = OrderTicket();
M_os[ksi][1] = OrderOpenPrice();
M_os[ksi][2] = OrderLots();
M_os[ksi][3] = OrderType();
M_os[ksi][4] = OrderMagicNumber();
M_os[ksi][5] = OrderStopLoss();
M_os[ksi][6] = OrderTakeProfit();
M_os[ksi][7] = OrderProfit();
}
} 
M_os[0][0] = ks; 
double max_lot_s = 0.0;
//----
for(i = 1;i if(M_os[i][2] > max_lot_s)
{
max_lot_s = M_os[i][2];
ks_max = i;
}
double sell_lev_max = M_os[ks_max][1]; 
//----
if(Bars return(0); 
sob = (kol_buy() Ask) &&
AccountFreeMargin() > AccountBalance()*0.5;
sos = (kol_sell() AccountFreeMargin() > AccountBalance()*0.5;
//----
if(M_ob[kb_max][2] > 0.0)
scb = M_ob[kb_max][7] / (M_ob[kb_max][2]*10) > tp;
//----
if(M_os[ks_max][2] > 0.0)
scs = M_os[ks_max][7] / (M_os[ks_max][2]*10) > tp;
kk = 0;
ii = 0;
//----
if(scb)
{
while(kol_buy() > 0 &&kk {
for(i = 1; i {
ii = M_ob[i][0];
//----
if(!OrderClose(ii,M_ob[i][2],Bid,slip,White)) 
{
gle = GetLastError();
kk++;
Print("Ошибка №", gle, " при close buy ", kk);
Sleep(6000);
RefreshRates(); 
}
}
kk++;
}
}
kk = 0; 
ii = 0; 
//----
if(scs)
{
while(kol_sell() > 0 &&kk {
for(i = 1; i {
ii = M_os[i][0];
//----
if(!OrderClose(ii,M_os[i][2], Ask, slip, White))
{
gle = GetLastError();
kk++;
Print("Ошибка №", gle, " при close sell ", kk);
Sleep(6000);
RefreshRates(); 
}
}
kk++;
}
}
kk = 0; 
tic = -1; 
//----
if(sob) 
{
if(max_lot_b == 0.0)
lotsi = 0.1;
else 
lotsi = 2.0*max_lot_b;
//----
while(tic == -1 &&kk {
tic = OrderSend(Symbol(), OP_BUY, lotsi, Ask, slip, 0, Ask + (tp + 25)*Point, 
" ", m, 0, Yellow);
Print("tic_buy=", tic);
//----
if(tic==-1)
{
gle = GetLastError();
kk++; 
Print("Ошибка №", gle, " при buy ", kk);
Sleep(6000);
RefreshRates(); 
}
} 
lastt = CurTime();
return;
}
tic = -1;
kk = 0; 
//----
if(sos) 
{
if(max_lot_s == 0.0)
lotsi = 0.1;
else 
lotsi = 2.0*max_lot_s;
//----
while(tic == -1 &&kk {
tic = OrderSend(Symbol(), OP_SELL, lotsi, Bid, slip, 0, Bid - (tp + 25)*Point, 
" ", m, 0, Red);
Print("tic_sell=", tic);
//----
if(tic == -1)
{
gle = GetLastError();
kk++; 
Print("Ошибка №", gle, " при sell ", kk);
Sleep(6000);
RefreshRates(); 
}
}
lastt = CurTime();
return;
} 
}
//+------------------------------------------------------------------+ 

или я чего то не знаю или вы не навидете правую скобку ...

kasiak
56
kasiak 2013.10.18 12:34  
VOLDEMAR:

в этом коде используются странные конструкции, мине до сели не извесные ...


или я чего то не знаю или вы не навидете правую скобку ...

Это не я писал.я просто скопировал из источника.на сколько я знаю это очень старая версия.2006.может в то время так писали.
Vladimir Pastushak
68521
Vladimir Pastushak 2013.10.18 15:16  
эта версия работать не будет, сломана логика кот не рабочий
Artyom Trishkin
Модератор
75568
Artyom Trishkin 2013.10.18 15:18  
VOLDEMAR:
эта версия работать не будет, сломана логика кот не рабочий
А хде есть рабочие коты?
Vitalie Postolache
12112
Vitalie Postolache 2013.10.18 15:19  
VOLDEMAR:
эта версия работать не будет, сломана логика кот не рабочий

А хде ви видели рабочих котов? Оне аристократы все, а люди на них иногда даже молятся

А некоторые даж на аватарки ставят


з.ы.: упсс, долго писал, опередили )))

Artyom Trishkin
Модератор
75568
Artyom Trishkin 2013.10.18 15:21  
evillive:

А хде ви видели рабочих котов? Оне аристократы все, а люди на них иногда даже молятся


А некоторые даж на аватарки ставят

А у некоторых есть нерабочие собаки... Так и существуют - кто с котами, кто с собаками. И все нерабочие...
khorosh
8195
khorosh 2013.10.18 16:45  
artmedia70:
А у некоторых есть нерабочие собаки... Так и существуют - кто с котами, кто с собаками. И все нерабочие...

Работают только клячи, коты и собаки - сачки.)
Artyom Trishkin
Модератор
75568
Artyom Trishkin 2013.10.18 16:46  
khorosh:
Работают только клячи, коты и собаки - сачки.)

И кляча когда-нибудь расклячится... И тоже нерабочей станет...
kasiak
56
kasiak 2013.10.18 19:50  
VOLDEMAR:
эта версия работать не будет, сломана логика кот не рабочий
Она очень даже работает но не так как мне хотелось бы.можете подсказать что нужно от сюда удалить что бы этот советник не открывал ордера на продажу?
Алексей Тарабанов
7271
Алексей Тарабанов 2013.10.18 20:09  
kasiak.raper:
Она очень даже работает но не так как мне хотелось бы.можете подсказать что нужно от сюда удалить что бы этот советник не открывал ордера на продажу?

Запретить в свойствах эксперта.
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий