Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 871

 

O que estou fazendo de errado? No m5 ele muda bem, mas não mais

extern string helper111="Настройки Helper";//Helper
extern bool helperTRUE=TRUE;        //Вкл/Выкл Helper
extern bool timeM1=TRUE;            //Переключения на М старт когда ордера все закрыты
extern int helper_period=PERIOD_M5; //Периуд М старт в минутах
extern int helper_period0=PERIOD_H1;//Базовый таймфрейм работы советника
extern int order_period1=6;         //Колво ордеров для переключения на Time 1
extern int helper_period1=PERIOD_D1;//Time 1 в минутах
extern int order_period2=8;         //Колво ордеров для переключения на Time 2
extern int helper_period2=PERIOD_W1;//Time 2 в минутах


int helperrr()
{
   if(helperTRUE==TRUE) {  
   if(timeM1==TRUE && NumberOfPositions()==0) ChartSetSymbolPeriod(0, NULL, helper_period);
   else {
   if(((NumberOfPositions1()>=0 && NumberOfPositions1()<order_period1)
   || (NumberOfPositions1()>=0 && NumberOfPositions2()<order_period1)
   || (NumberOfPositions1()>=0 && NumberOfPositions3()<order_period1)) && _Period != helper_period0)
   ChartSetSymbolPeriod(0, NULL, helper_period0);
   if((NumberOfPositions1()>=order_period1 && NumberOfPositions1()<order_period2 && OrderMagicNumber()==MagicNumber_1)
   || (NumberOfPositions2()>=order_period1 && NumberOfPositions2()<order_period2 && OrderMagicNumber()==MagicNumber_2)
   || (NumberOfPositions3()>=order_period1 && NumberOfPositions3()<order_period2 && OrderMagicNumber()==MagicNumber_3))
   ChartSetSymbolPeriod(0, NULL, helper_period1);
   if((NumberOfPositions1()>=order_period2 && OrderMagicNumber()==MagicNumber_1)
   || (NumberOfPositions2()>=order_period2 && OrderMagicNumber()==MagicNumber_2)
   || (NumberOfPositions3()>=order_period2 && OrderMagicNumber()==MagicNumber_3))
   ChartSetSymbolPeriod(0, NULL, helper_period2);
   }
   }
   return(0);
}
 
fxsaber:

Não encontrei nenhuma ferramenta de negociação como o índice do dólar, etc. (indicadores?)

eles não têm permissão para negociar com eles, como se comportará seu código?

 
Igor Makanu:

Não encontrei nenhuma ferramenta de negociação como o índice do dólar, etc. (indicadores?)

é proibido negociar com eles, como se comportará seu código?

O Fake OrderSend de um EA nem sempre permite que você determine suas configurações.


O código que eu forneci mostra as configurações de qualquer EA, independentemente das propriedades dos símbolos e outras. Por exemplo, execute um EA de algum tipo e depois este script no mesmo gráfico

// Скрипт показывает, в каком режиме Long/Short запущен советник на данном чарте.
void OnStart()
{
  Alert(LongShortToString());
}
 
fxsaber:

O Fake OrderSend de um EA nem sempre revela suas configurações.


O código que eu forneci mostra as configurações de qualquer EA, independentemente das propriedades dos símbolos e outras. Por exemplo, execute um EA de algum tipo e depois este script no mesmo gráfico

verificado, funciona, mas

1. na discussão https://www.mql5.com/ru/forum/214590/page6#comment_11947599

o código deve ser substituído por return(INIT_SUCCEED); - tentei e não entendi onde faltava a EA ))

2. não entendo porque, quando seleciono as propriedades da EA e coloco uma caixa de seleção diferente, o alerta não reaparece, quando troco de TFs, tudo está normal

Библиотеки: Expert
Библиотеки: Expert
  • 2019.04.23
  • www.mql5.com
Expert: Автор: fxsaber...
 
fxsaber:

O Fake OrderSend de um EA nem sempre revela suas configurações.


O código que eu forneci mostra as configurações de qualquer EA, independentemente das propriedades dos símbolos e outras. Por exemplo, execute um EA de algum tipo e depois este script no mesmo gráfico

é possível adicionar seu código à EA?

int testTicket=OrderSend(Symbol(),OP_SELL,0.01,0,3,0,0,"Sell Try",1,0,CLR_NONE);
if (GetLastError() == 4111) testLONG_SHORT="Long Only Mode"; 
testTicket=OrderSend(Symbol(),OP_BUY,0.01,0,3,0,0,"Buy Try",1,0,CLR_NONE); 
if (GetLastError() == 4110) testLONG_SHORT="Short Only Mode";

Com este código, abre infinitamente pedidos longos e curtos em xauusd

 
Lomonosov1991:

Posso adicionar seu código ao meu EA?

Sim.


Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos

Qualquer pergunta, ajuda e discussão sobre algoritmos e códigos para iniciantes da MQL4 e MQL5

Lomonosov1991, 2019.06.04 19:01

int testTicket=OrderSend(Symbol(),OP_SELL,0.01,0,3,0,0,"Sell Try",1,0,CLR_NONE);
if (GetLastError() == 4111) testLONG_SHORT="Long Only Mode"; 
testTicket=OrderSend(Symbol(),OP_BUY,0.01,0,3,0,0,"Buy Try",1,0,CLR_NONE); 
if (GetLastError() == 4110) testLONG_SHORT="Short Only Mode";

Com este código, abre infinitamente pedidos longos e curtos em xauusd

A idéia aqui é que você precisa exatamente de zero volumes.
 
fxsaber:

Sim.


A idéia aqui é que você precisa exatamente de zero volumes.
Abre 0,01 lotes sem volume.
int testTicket=OrderSend(Symbol(),OP_SELL,0,0,3,0,0,"Sell Try",1,0,CLR_NONE);
if (GetLastError() == 4111) testLONG_SHORT="Long Only Mode"; 
testTicket=OrderSend(Symbol(),OP_BUY,0,0,3,0,0,"Buy Try",1,0,CLR_NONE); 
if (GetLastError() == 4110) testLONG_SHORT="Short Only Mode";

e isso não funciona de forma alguma.

int testTicket=OrderSend(Symbol(),OP_SELL,0,0,0,0,0,"Sell Try",1,0,CLR_NONE);
if (GetLastError() == 4111) testLONG_SHORT="Long Only Mode"; 
testTicket=OrderSend(Symbol(),OP_BUY,0,0,0,0,0,"Buy Try",1,0,CLR_NONE); 
if (GetLastError() == 4110) testLONG_SHORT="Short Only Mode";





 
Igor Makanu:

verificado, funciona, mas

1. na discussão em https://www.mql5.com/ru/forum/214590/page6#comment_11947599

Eu deveria substituir o código por retorno(INIT_SUCCEED); - Eu tentei e não entendi onde faltava o Expert Advisor ))

Coloquei propositadamente FALHADA neste exemplo, para que não precisasse removê-la manualmente mais tarde.

2. não entendo porque, quando seleciono as propriedades da EA e coloco uma caixa de seleção diferente, o alerta não reaparece, quando troco de TFs, tudo está normal

Ao mudar Long/Short, não há nenhuma chamada OnDeinit/OnInit.

 
Eu não entendo como geri-lo((
Arquivos anexados:
 
fxsaber:

Nenhuma chamada OnDeinit/OnInit ao mudar Long/Short.

comportamento estranho, normalmente OnIniT() é executado depois que a janela de ajustes é chamada.


Lomonosov1991:
Eu não entendo como geri-lo((

anexar a amostra, descompactá-la e espalhar em pastas

Arquivos anexados:
MQL4.zip  5 kb
Razão: