10 пунктов 3.mq4 - страница 339

 
pagebluk2007:
Привет всем, я новичок в этой теме.

Я использую 10p3v002 (спасибо Дэвиду) TF 30M на IBFX и собираюсь провести бэктест на микросчете ($250). Но вместо того, чтобы торговать лотом 0.01, он постоянно торгует лотами 0.1 и 0.3. Я что-то упустил?

Сама прибыль была потрясающей, но я думаю, что торговать таким количеством лотов слишком рискованно. Вот мои настройки и подробное описание.

Тиа, Дон.

extern int Magic = 772188;

extern double TakeProfit = 10;

extern double Lots = 0.01;

extern double InitialStop = 160;

extern double TrailingStop = 0;

extern int MaxTrades = 10;

extern double Multiplier = 3;

extern int Pips = 5;

extern int OrderstoProtect = 4;

extern bool Money_management = true;

extern int AccountType = 2; //0: Стандартный счет (NorthFinance, MiG, Alpari) 1: Обычный счет (FXLQ, FXDD) 2: Счет NANO от InterbankFX

extern double risk = 0.5;

extern bool ReverseSignal = false;

extern int Fast_EMA = 12;

extern int Slow_EMA = 26;

extern int Signal_SMA = 9;

extern int Shift = 1;

extern int TradingRange = 0;

extern bool UseTimeFilter=true;

extern int StopTrade = 13;

extern int StartTrade = 18;

Возможно ли, что вы забыли выбрать мини-счет при настройке MQ4? Если да, то просто щелкните правой кнопкой мыши на "Accounts", выберите new и убедитесь, что вы изменили тип счета на Mini.

Все должно быть хорошо, если проблема была в этом?

Спасибо

Уэйн

 
MANSTIR:
спасибо дэвид за быстрый ответ...

я ставлю "0" на тейк-профит, потому что хочу, чтобы мой трейлинг-стоп выполнял работу по тейк-профиту...

и нет стоплосса... когда ea buy, модифицирующий стоплосс (трейлинг стоп) был xtream хорошим вместо sell/short (проблема здесь - sell/short не модифицирует действие стоплосса!) почему, я не знаю...

10 пунктов 3 - это гораздо больше, чем я думал...

эта еа дает замечательный результат, и я уже тестирую ее, чтобы убедиться, что она хороша.

И снова проблема, когда ea продает, нет модификации стоплосса! Интересно, почему...

Я буду пытаться большую часть моего времени, чтобы исправить это и, к сожалению, вниз к неудаче...

нужно ли мне заменить слово BID на ASK, чтобы это изменило ситуацию... если да, то я выполнил это замечание, но действия нет...

Вот бэктест, который я сделал, не изменив ни одной вещи. Код работает нормально.

С уважением,

Дэвид

Файлы:
trailing.jpg  27 kb
003-trail.gif  7 kb
003-trail.htm  333 kb
 

Еще одно короткое напоминание всем трейдерам. Владельцы реальных счетов IBFX, пожалуйста, будьте осторожны. Прочтите это с осторожностью!!! Стандартный счет IBFX имеет кредитное плечо 1:100. Если вы решили торговать серией 10p3v0, пожалуйста, имейте в виду, чтобы уменьшить риск до половины вашего счета NANO. Потому что обычно счет NANO имеет кредитное плечо 1:200. Если вы можете попросить персонал LiveChat помочь вам изменить ваш стандартный счет на 1:200, тогда вам будет удобно работать с теми же настройками вашего счета NANO. Надеюсь, это поможет.

С уважением,

Дэвид

 
davidke20:
Вот бэктест, который я сделал, не изменив ни одной вещи. Код работает нормально.

С уважением,

Дэвид

Давид, какую версию вы используете сейчас, я использую 10point4.

и не могли бы вы поделиться своими настройками...

 
davidke20:
На моей стороне нет проблем как с NANO, так и с обычными аккаунтами, пожалуйста, проверьте, совпадают ли мои настройки с вашими. Не знаю, почему у вас такая проблема.

С уважением,

Дэвид

Спасибо, Дэвид,

хммм, возможно я использую версии 10point4, какие версии вы используете сейчас... и не могли бы вы поделиться здесь вашими настройками...

 
MANSTIR:
Спасибо, Дэвид, возможно, я использую версии 10point4, какие версии вы используете сейчас... и не могли бы вы поделиться здесь своими настройками...

Версия 0.03. Вы можете найти их на более ранних страницах 30X (не помню 306 или 309) Сделайте несколько чтений, пожалуйста. Настройки находятся в отчете о бэктесте. Когда вы хотели протестировать баланс счета ниже 1000, убедитесь, что вы тестируете его на условии NANO (то есть EURUSD идет с буквой "m" сзади - EURUSDm).

С уважением,

Дэвид

p/s: 10poin4 был создан не мной. Найдите другого кодера, который поможет вам, если вам действительно нужно сделать все правильно на той конкретной версии, которую вы упомянули.

 
KaMpeR:
Возможно ли, что вы забыли выбрать мини-аккаунт при настройке MQ4? Если да, просто щелкните правой кнопкой мыши на "Accounts", выберите new и убедитесь, что вы изменили тип учетной записи на Mini.

Все должно быть в порядке, если проблема была в этом?

Спасибо

Уэйн

Вы правы, моя маленькая глупая ошибка. Спасибо, Уэйн!

 
pagebluk2007:
Вы правы, моя маленькая глупая ошибка. Спасибо, Уэйн!

Без проблем, рад, что смог помочь, мы все люди и ошибки неизбежны :-)

Ваше здоровье

Уэйн

 
davidke20:
Версия 0.03. Вы можете найти их на более ранних страницах 30X (не помню, 306 или 309) Сделайте несколько чтений, пожалуйста. Настройки находятся в отчете о бэктесте. Когда вы хотели протестировать баланс счета ниже 1000, убедитесь, что вы тестируете его на условии NANO (то есть EURUSD идет с буквой "m" сзади - EURUSDm).

С уважением,

Дэвид

p/s: 10poin4 был создан не мной. Найдите другого кодера, который поможет вам, если вам действительно нужно исправить ситуацию с этой версией, которую вы упомянули.

еще раз спасибо... мистер дэвид

 

Нужна помощь с Ea

Новичок здесь и не знаю, как начинать новые темы или что-то еще, так что я торгую 10points3 и пытаюсь найти кого-то, чтобы поставить код, в котором я могу заставить его торговать только в определенное время дня... Я хочу, чтобы он прекратил торговлю в 7 вечера и начал снова в 1600 утра... Пожалуйста, если кто-то может помочь, это было бы удивительно....

extern double TakeProfit = 10;

extern double Lots = 0.01;

extern double InitialStop = 80;

extern double TrailingStop = 0;

extern int MaxTrades=7;

extern int Pips=5;

extern int SecureProfit=0;

extern int AccountProtection=0;

extern int OrderstoProtect=0;

extern int ReverseCondition=0;

extern double EURUSDPipValue=10;

extern double GBPUSDPipValue=10;

extern double USDCHFPipValue=10;

extern double USDJPYPipValue=9.715;

extern int StartYear=2005;

extern int StartMonth=1;

extern int EndYear=2005;

extern int EndMonth=12;

extern int EndHour=22;

extern int EndMinute=30;

extern int mm=0;

extern int risk=12;

extern int AccountisNormal=0;

int OpenOrders=0, cnt=0;

int slippage=0;

double sl=0, tp=0;

double BuyPrice=0, SellPrice=0;

double loti=0, mylotsi=0;

int mode=0, myOrderType=0;

bool ContinueOpening=True;

double LastPrice=0;

int PreviousOpenOrders=0;

double Profit=0;

int LastTicket=0, LastType=0;

double LastClosePrice=0, LastLots=0;

double Pivot=0;

double PipValue=0;

string text="", text2="";

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

//| функция инициализации эксперта |

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

int init()

{

//----

//----

return(0);

}

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

//| функция деинициализации эксперта | |

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

int deinit()

{

//----

//----

return(0);

}

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

//| функция запуска эксперта |

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

int start()

{

//----

if (AccountisNormal==1)

{

if (mm!=0) { lotsi=MathCeil(AccountBalance()*risk/10000); }

else { lotsi=Lots; }

} else { // then is mini

if (mm!=0) { lotsi=MathCeil(AccountBalance()*risk/10000)/10; }

else { lotsi=Lots; }

}

if (lotsi>100){ lotsi=100; }

OpenOrders=0;

for(cnt=0;cnt<OrdersTotal();cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if (OrderSymbol()==Symbol())

{

OpenOrders++;

}

}

/*

if (OpenOrders<1)

{

if (TimeYear(CurTime())<StartYear) { return(0); }

if (TimeMonth(CurTime())<StartMonth) { return(0); }

if (TimeYear(CurTime())>EndYear) { return(0); }

if (TimeMonth(CurTime())>EndMonth ) { return(0); }

}

*/

if (Symbol()=="EURUSD") { PipValue=EURUSDPipValue; }

if (Symbol()=="GBPUSD") { PipValue=GBPUSDPipValue; }

if (Symbol()=="USDJPY") { PipValue=USDJPYPipValue; }

if (Symbol()=="USDCHF") { PipValue=USDCHFPipValue; }

if (PipValue==0) { PipValue=5; }

if (PreviousOpenOrders>OpenOrders)

{

for(cnt=OrdersTotal();cnt>=0;cnt--)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

mode=OrderType();

if (OrderSymbol()==Symbol())

{

if (mode==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Blue); }

if (mode==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Red); }

return(0);

}

}

}

PreviousOpenOrders=OpenOrders;

if (OpenOrders>=MaxTrades)

{

ContinueOpening=False;

} else {

ContinueOpening=True;

}

if (LastPrice==0)

{

for(cnt=0;cnt<OrdersTotal();cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

mode=OrderType();

if (OrderSymbol()==Symbol())

{

LastPrice=OrderOpenPrice();

if (mode==OP_BUY) { myOrderType=2; }

if (mode==OP_SELL) { myOrderType=1; }

}

}

}

if (OpenOrders<1)

{

myOrderType=3;

//if (iMACD(14,26,9,MODE_MAIN,0)>0 и iMACD(14,26,9,MODE_MAIN,0)>iMACD(14,26,9,MODE_MAIN,1)) then OrderType=2;

if (iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,0)>iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,1)) { myOrderType=2; }

//if (iMACD(14,26,9,MODE_MAIN,0)<0 и iMACD(14,26,9,MODE_MAIN,0)<iMACD(14,26,9,MODE_MAIN,1)) then OrderType=1;

if (iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,0)<iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,1)) { myOrderType=1; }

if (ReverseCondition==1)

{

if (myOrderType==1) { myOrderType=2; }

else { if (myOrderType==2) { myOrderType=1; } }

}

}

// если у нас есть открытые позиции, мы позаботимся о них

for(cnt=OrdersTotal();cnt>=0;cnt--)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if (OrderSymbol() == Symbol())

{

if (OrderType()==OP_SELL)

{

если (TrailingStop>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)

{

если (TrailingStop>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);

}

}

}

}

}

}

Прибыль=0;

LastTicket=0;

LastType=0;

LastClosePrice=0;

LastLots=0;

for(cnt=0;cnt<OrdersTotal();cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if (OrderSymbol()==Symbol())

{

LastTicket=OrderTicket();

if (OrderType()==OP_BUY) { LastType=OP_BUY; }

if (OrderType()==OP_SELL) { LastType=OP_SELL; }

LastClosePrice=OrderClosePrice();

LastLots=OrderLots();

if (LastType==OP_BUY)

{

//Profit=Profit+(Ord(cnt,VAL_CLOSEPRICE)-Ord(cnt,VAL_OPENPRICE))*PipValue*Ord(cnt,VAL_LOTS);

if (OrderClosePrice()<OrderOpenPrice())

{ Profit=Profit-(OrderOpenPrice()-OrderClosePrice())*OrderLots()/Point; }

if (OrderClosePrice()>OrderOpenPrice())

{ Profit=Profit+(OrderClosePrice()-OrderOpenPrice())*OrderLots()/Point; }

}

if (LastType==OP_SELL)

{

//Profit=Profit+(Ord(cnt,VAL_OPENPRICE)-Ord(cnt,VAL_CLOSEPRICE))*PipValue*Ord(cnt,VAL_LOTS);

if (OrderClosePrice()>OrderOpenPrice())

{ Profit=Profit-(OrderClosePrice()-OrderOpenPrice())*OrderLots()/Point; }

if (OrderClosePrice()<OrderOpenPrice())

{ Profit=Profit+(OrderOpenPrice()-OrderClosePrice())*OrderLots()/Point; }

}

//Print(Symbol,":",Profit,",",",LastLots);

}

}

Profit=Profit*PipValue;

text2="Profit: $"+DoubleToStr(Profit,2)+" +/-";

if (OpenOrders>=(MaxTrades-OrderstoProtect) && AccountProtection==1)

{

//Print(Symbol,":",Profit);

if (Profit>=SecureProfit)

{

OrderClose(LastTicket,LastLots,LastClosePrice,slippage,Yellow);

ContinueOpening=False;

return(0);

}

}

if (!IsTesting())

{

if (myOrderType==3) { text="Нет условий для открытия сделок"; }

else { text=""; }

Comment("LastPrice=",LastPrice," Предыдущие открытые ордера=",PreviousOpenOrders,"\nContinue opening=",ContinueOpening," OrderType=",myOrderType,"\n",text2,"\nLots=",lotsi,"\n",text);

}

if (myOrderType==1 && ContinueOpening)

{

if ((Bid-LastPrice)>=Pips*Point || OpenOrders<1)

{

SellPrice=Bid;

LastPrice=0;

if (TakeProfit==0) { tp=0; }

else { tp=SellPrice-TakeProfit*Point; }

if (InitialStop==0) { sl=0; }

else { sl=SellPrice+InitialStop*Point; }

if (OpenOrders!=0)

{

mylotsi=lotsi;

for(cnt=1;cnt<=OpenOrders;cnt++)

{

if (MaxTrades>12) { mylotsi=NormalizeDouble(mylotsi*3,3); }

else { mylotsi=NormalizeDouble(mylotsi*3,3); }

}

} else { mylotsi=lotsi; }

if (mylotsi>100) { mylotsi=100; }

OrderSend(Symbol(),OP_SELL,mylotsi,SellPrice,slippage,sl,tp,NULL,0,0,Red);

return(0);

}

}

if (myOrderType==2 && ContinueOpening)

{

if ((LastPrice-Ask)>=Pips*Point || OpenOrders<1)

{

BuyPrice=Ask;

LastPrice=0;

if (TakeProfit==0) { tp=0; }

else { tp=BuyPrice+TakeProfit*Point; }

if (InitialStop==0) { sl=0; }

else { sl=BuyPrice-InitialStop*Point; }

if (OpenOrders!=0) {

mylotsi=lotsi;

for(cnt=1;cnt<=OpenOrders;cnt++)

{

if (MaxTrades>12) { mylotsi=NormalizeDouble(mylotsi*3,3); }

else { mylotsi=NormalizeDouble(mylotsi*3,3); }

}

} else { mylotsi=lotsi; }

if (mylotsi>100) { mylotsi=100; }

OrderSend(Symbol(),OP_BUY,mylotsi,BuyPrice,slippage,sl,tp,NULL,0,0,Blue);

return(0);

}

}

//----

return(0);

}

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

Причина обращения: