Sergey Gritsay: Correction de bogues dans la version MT5
Merci pour la mise à jour... mt5 a fait un bon travail cette semaine... Si vous comptez à partir de 1000 plus de 10%... Voici une photo... en a eu plus de 100 aujourd'hui... Je vais regarder cette mise à jour maintenant, j'ai aussi pensé à combiner mt4 avec cmilliona grid6https://www.mql5.com/ru/code/12971 pour voir comment cela va fonctionner ensemble...)))
La dernière version - fonctionne clairement - vous pouvez pips - lorsque la fermeture des mains ouvre dans la même direction, vous devriez avoir une sorte de retard ... J'ai commencé à traîner un peu plus que zéro... 2-4 pips, si ça repart directement... devoir de réflexion - les flèches sont debout depuis longtemps, mais pas de position... Et aussi, a émis plus de signaux par rapport aux précédents - enfin, ce n'est qu'une estimation approximative... Eh bien, c'est encore la meilleure option ... Merci encore ... quelque chose d'autre est silencieux - aou-au qui d'autre a trouvé quelque chose ... Ou je ne veux pas porter la poisse ...))
Сергей Криушин: La dernière version - fonctionne clairement - vous pouvez pips - lorsque la fermeture des mains ouvre dans la même direction, vous devriez avoir une sorte de retard ... J'ai commencé à traîner un peu plus que zéro... 2-4 pips, si ça repart directement... devoir de réflexion - les flèches sont debout depuis longtemps, mais pas de position... Et aussi, a émis plus de signaux par rapport aux précédents - enfin, ce n'est qu'une estimation approximative... Eh bien, c'est encore la meilleure option ... Merci encore ... quelque chose d'autre est silencieux - aw-aw qui d'autre a trouvé quelque chose ... ou je ne veux pas porter la poisse...))
Si vous avez beaucoup de caractères, il ralentit jusqu'à ce qu'il les calcule tous. Par exemple, le moteur peut être en mesure de revenir sur le marché avant que le prix n'atteigne le prix cible.
Collé les signaux de cette stratégie avec mon conseiller martin, voici le résultat de janvier 2015 à aujourd'hui.
EURUSD :
USDCHF :
Mt5 a aussi un joli Martin dehttps://www.mql5.com/ru/code/13315 - multiplie le dernier trade perdant... mais il y a souvent 2 de ces trades perdants...
//+------------------------------------------------------------------+//| Виртуальный стоп |//+------------------------------------------------------------------+void PutLable(conststring name="",datetime time=0,double price=0,constcolor clr=clrGreen)
{
//--- сбросим значение ошибкиResetLastError();
//--- Создаем меткуif(!ObjectCreate(0,name,OBJ_ARROW_LEFT_PRICE,0,time,price))
{
Print(__FUNCTION__,
": не удалось создать левую ценовую метку! Код ошибки = ",GetLastError());
return;
//--- установим цвет меткиObjectSetInteger(0,name,OBJPROP_COLOR,clr);
//--- установим стиль окаймляющей линииObjectSetInteger(0,name,OBJPROP_STYLE,STYLE_SOLID);
//--- установим размер меткиObjectSetInteger(0,name,OBJPROP_WIDTH,2);
}
}
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+bool isNewBar(string symbol,ENUM_TIMEFRAMES timeframe)
{
//---- получим время появления текущего бараdatetime TNew=datetime(SeriesInfoInteger(symbol,timeframe,SERIES_LASTBAR_DATE));
datetime m_TOld=0;
//--- проверка на появление нового бараif(TNew!=m_TOld && TNew)
{
m_TOld=TNew;
//--- появился новый бар!return(true);
Print("Новый бар!");
}
//--- новых баров пока нет!return(false);
}
//+------------------------------------------------------------------+//| Возвращает true, если появился новый бар для пары символ/период |//+------------------------------------------------------------------+bool IsNewBar()
{
//--- в статической переменной будем помнить время открытия последнего бараstaticdatetime last_time=0;
//--- текущее времяdatetime lastbar_time=SeriesInfoInteger(Symbol(),Period(),SERIES_LASTBAR_DATE);
//--- если это первый вызов функцииif(last_time==0)
{
//--- установим время и выйдем
last_time=lastbar_time;
return(false);
}
//--- если время отличаетсяif(last_time!=lastbar_time)
{
//--- запомним время и вернем true
last_time=lastbar_time;
return(true);
}
//--- дошли до этого места - значит бар не новый, вернем falsereturn(false);
}
//+------------------------------------------------------------------+//| Считаем лот в зависимости от полученного профита |//+------------------------------------------------------------------+doubleVolume(void)
{
double lot=Lots;
//--- Получим доступ к историиHistorySelect(0,TimeCurrent());
//--- Сделки в историиint orders=HistoryDealsTotal();
//--- Тикет последней сделки ulong ticket=HistoryDealGetTicket(orders-1);
if(ticket==0)
{
Print("Нет сделок в истории! ");
lot=Lots;
}
//--- Профит сделкиdouble profit=HistoryDealGetDouble(ticket,DEAL_PROFIT);
//--- Лот сделкиdouble lastlot=HistoryDealGetDouble(ticket,DEAL_VOLUME);
//--- Профит отрицательныйif(profit<0.0)
{
//--- Увеличиваем следующий лот
lot=lastlot*KLot;
Print(" Cделка закрыта по стопу! ");
}
//--- Приводим лот к минимальномуdouble maxvol=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN);
if(lot<maxvol)
lot=maxvol;
//--- Если лот больше максимального то начальный лотif(lot>MaxLot)
lot=Lots;
//--- Возвращаем торговый объемreturn(lot);
}
//+------------------------------------------------------------------+//| Смотрим тип последней закрытой сделки |//+------------------------------------------------------------------+int LastDealType(void)
{
int type=0;
//--- Получим доступ к историиHistorySelect(0,TimeCurrent());
//--- Сделки в историиint orders=HistoryDealsTotal();
//--- Тикет последней сделки ulong ticket=HistoryDealGetTicket(orders-1);
//--- Нет сделок в историиif(ticket==0)
{
Print("Нет сделок в истории! ");
type=0;
}
if(ticket>0)
{
//--- Последняя сделка BUY if(HistoryDealGetInteger(ticket,DEAL_TYPE)==DEAL_TYPE_BUY)
{
type=2;
}
//--- Последняя сделка SELLif(HistoryDealGetInteger(ticket,DEAL_TYPE)==DEAL_TYPE_SELL)
{
type=1;
}
}
//---return(type);
}
Veuillez m'indiquer où écrire ou qui peut m'aider à corriger deux erreurs dans le conseiller '}'. - fin de programme inattendue'{' - parenthèses non équilibrées TMA.mq4
externint TakeProfit =100;
externint StopLoss =50;
externdouble Lots = 0.01;
externint Slippage =5;
externstring comment ="Продажа";
externint Megic = 123;
externstring Indi = "данные индикатора";
externstring TimeFrame = "current time frame";//текущее время кадраexternint HalfLength = 56;
externint Price = PRICE_CLOSE;
externdouble ATRMultiplier = 2.0;
externint ATRPeriod = 100;
externbool Interpolate = true;
double PriceHigh, PriceLow, SL, TP;
int ticket;
int init()
{
if(Digits==3|| Digits==5)
{
TakeProfit*=10;
StopLoss*=10;
Slippage*=10;
}
return(0);
}
int start()
{
PriceHigh= iCustom(Symbol(),0,"TMA with Distancer",TimeFrame,HalfLength,Price, ATRMultiplier,ATRPeriod, Interpolate,1,0);
PriceLow= iCustom(Symbol(),0,"TMA with Distancer",TimeFrame,HalfLength,Price, ATRMultiplier,ATRPeriod, Interpolate,2,0);
if(Bid>=(PriceHigh);
{
SL=NormalizeDouble(Bid+StopLoss*Point,Digits);
TP=NormalizeDouble(Bid-TakeProfit*Point,Digits);
ticket=OrderSend(Simbol(),OP_SELL,Lots,Bid,Slippage,0,0,comment,123,0,Maroon);
if(ticket>0);
{
if (OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)==true);
OrderModify(ticket,OrderOpenPrice,ST,TP,0);
}
}
if(Ask<0);
{
ST=NormalizeDouble(Ask-StopLoss*Point,Digits);
TP=NormalizeDouble(Ask+TakeProfit*Point,Digits);
ticket=OrderSend(Simbol(),OP_BUY,Lots,Ask,Slippage,0,0,comment,123,0,clrDarkBlue);
if(ticket>0);
{
if (OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)==true);
OrderModify(ticket,OrderOpenPrice,ST,TP,0);
}
return(0);
}
int CountSell()
{
int count=0;
for(int trede=OrdersTotal()-1;tred>=0;tread--)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Megic)
{
if (OrderType()==OP_SELL)count==;
}
}
return(count);
}
int CountBuy()
{
int count=0;
for(int trede=OrdersTotal()-1;tred>=0;tread--)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Megic)
{
if (OrderType()==OP_BUY)count==;
}
}
return(count);
}
Veuillez m'indiquer où écrire ou qui peut m'aider à corriger deux erreurs dans le conseiller '}'. - fin de programme inattendue'{' - parenthèses non équilibrées TMA.mq4
Correction de bogues dans la version MT5
Merci pour la mise à jour... mt5 a fait un bon travail cette semaine... Si vous comptez à partir de 1000 plus de 10%... Voici une photo... en a eu plus de 100 aujourd'hui... Je vais regarder cette mise à jour maintenant, j'ai aussi pensé à combiner mt4 avec cmilliona grid6https://www.mql5.com/ru/code/12971 pour voir comment cela va fonctionner ensemble...)))
La dernière version - fonctionne clairement - vous pouvez pips - lorsque la fermeture des mains ouvre dans la même direction, vous devriez avoir une sorte de retard ... J'ai commencé à traîner un peu plus que zéro... 2-4 pips, si ça repart directement... devoir de réflexion - les flèches sont debout depuis longtemps, mais pas de position... Et aussi, a émis plus de signaux par rapport aux précédents - enfin, ce n'est qu'une estimation approximative... Eh bien, c'est encore la meilleure option ... Merci encore ... quelque chose d'autre est silencieux - aw-aw qui d'autre a trouvé quelque chose ... ou je ne veux pas porter la poisse...))
Collé les signaux de cette stratégie avec mon conseiller martin, voici le résultat de janvier 2015 à aujourd'hui.
EURUSD :
USDCHF :
Collé les signaux de cette stratégie avec mon conseiller martin, voici le résultat de janvier 2015 à aujourd'hui.
EURUSD :
USDCHF :
J'ai essayé de traduire pour l'indicateur RSI - cela n'a pas fonctionné... apparemment, il ne correspond pas à la bibliothèque...
Et oùCopyBuffer a perdu dans le bloc de définition de la tendance, et le RSI a des niveaux standards de 70 et 30.
Veuillez m'indiquer où écrire ou qui peut m'aider à corriger deux erreurs dans le conseiller '}'. - fin de programme inattendue '{' - parenthèses non équilibrées TMA.mq4
Veuillez m'indiquer où écrire ou qui peut m'aider à corriger deux erreurs dans le conseiller '}'. - fin de programme inattendue '{' - parenthèses non équilibrées TMA.mq4
Veuillez insérer le code correctement :Insérez le code correctement sur le forum(j'ai corrigé votre message).
Ajouté : Je recommande aussi fortement d'utiliser le styleur de code - il aidera à détecter les erreurs(Travailler avec le code source : Styler - Développement de programmes).