вот так если - код правильно -своё назначение исполняет?
Работает отлично - всё вовремя закрывает.
хотелось бы узнать - правильно ли код прописан
//+------------------------------------------------------------------+//| CloseLossProfit.mq5 |//| Copyright 2019, MetaQuotes Software Corp. |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2019, MetaQuotes Software Corp."#property link"https://www.mql5.com"#property version"1.00"//---#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\PositionInfo.mqh>
//---
CTrade ExtTrade; // trading object
CSymbolInfo Extsymbol; // symbol info object
CPositionInfo Extposition; // trade position object//---inputdouble InStopLoss = 25.0; // Stop Lossinputdouble InTakeProfit = 46.0; // Take Profit//---double n=10;
//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
//---//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
//---
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
//---if(PositionSelect(Symbol()))
{
CloseAllLoss0(); CloseAllProfit0();
}
//---
}
//+------------------------------------------------------------------+//| start function |//+------------------------------------------------------------------+void CloseAllProfit0()
{
//---for(int i=PositionsTotal()-1;i>=0;i--) // returns the number of current positionsif(Extposition.SelectByIndex(i)) // selects the position by index for further access to its properties
{
if((PositionGetDouble(POSITION_PROFIT)/PositionGetDouble(POSITION_VOLUME)/
SymbolInfoDouble(Symbol(),SYMBOL_TRADE_TICK_VALUE))/n>InTakeProfit)
ClosePosition(Extposition.Symbol()); // close a position by the specified symbo
}
}
//+------------------------------------------------------------------+//| start function |//+------------------------------------------------------------------+void CloseAllLoss0()
{
//---for(int i=PositionsTotal()-1;i>=0;i--) // returns the number of current positionsif(Extposition.SelectByIndex(i)) // selects the position by index for further access to its properties
{
if((PositionGetDouble(POSITION_PROFIT)/PositionGetDouble(POSITION_VOLUME)/
SymbolInfoDouble(Symbol(),SYMBOL_TRADE_TICK_VALUE))/n<-InStopLoss)
ClosePosition(Extposition.Symbol()); // close a position by the specified symbo
}
}
//+------------------------------------------------------------------+//| Close selected position |//+------------------------------------------------------------------+void ClosePosition(conststring symbol)
{
if(InitTrade(symbol))
ExtTrade.PositionClose(Extposition.Ticket()); // close a position by the specified symbo
}
//+------------------------------------------------------------------+//| Init trade object |//+------------------------------------------------------------------+bool InitTrade(conststring symbol)
{
if(!Extsymbol.Name(symbol)) // sets symbol namereturn(false);
//---if(IsFillingTypeAllowed(symbol,SYMBOL_FILLING_FOK))
ExtTrade.SetTypeFilling(ORDER_FILLING_FOK);
elseif(IsFillingTypeAllowed(symbol,SYMBOL_FILLING_IOC))
ExtTrade.SetTypeFilling(ORDER_FILLING_IOC);
else
ExtTrade.SetTypeFilling(ORDER_FILLING_RETURN);
//---return(true);
//---
}
//+------------------------------------------------------------------+ //| Checks if the specified filling mode is allowed | //+------------------------------------------------------------------+ bool IsFillingTypeAllowed(string symbol,int fill_type)
{
//--- Obtain the value of the property that describes allowed filling modes int filling=(int)SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE);
//--- Return true, if mode fill_type is allowed return((filling & fill_type)==fill_type);
}
//+------------------------------------------------------------------+
как мне в этом коде, изменить в эксперте - что бы эти выставленные Горизонтальные линии удалялись с графика - когда я их удаляю, они
возвращаются назад на график
а мне нужно, что бы я их удалил и они не появлялись вновь
пробовал и переименовывать ( lastme ) - не помогло
possible use of uninitialized variable 'lastme' _finder.mq5 3386 24
убрал предупреждение ! не знаю, правильно или нет- но меня устраивает - главное что, всё что нужно, для моих целей работает, и нет, не каких
предупреждений
Подскажите пожалуйста !
вот так если - код правильно -своё назначение исполняет?
Работает отлично - всё вовремя закрывает.
хотелось бы узнать - правильно ли код прописан
Помогите разобраться !
как мне в этом коде, изменить в эксперте - что бы эти выставленные Горизонтальные линии удалялись с графика - когда я их удаляю, они возвращаются назад на график
а мне нужно, что бы я их удалил и они не появлялись вновь
как убрать это предупреждение ?
пробовал и переименовывать ( lastme ) - не помогло
possible use of uninitialized variable 'lastme' _finder.mq5 3386 24
как убрать это предупреждение ?
пробовал и переименовывать ( lastme ) - не помогло
possible use of uninitialized variable 'lastme' _finder.mq5 3386 24
убрал предупреждение ! не знаю, правильно или нет- но меня устраивает - главное что, всё что нужно, для моих целей работает, и нет, не каких предупреждений
Да! не информации в документации - не человеческого ответа!
Есть:
Магическое число ордера. Может использоваться как определяемый пользователем идентификатор.
Есть:
Магическое число ордера. Может использоваться как определяемый пользователем идентификатор.
Спасибо!