Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 871

 

Cosa sto facendo di sbagliato? Su m5 si accende bene, ma non oltre

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:

Non ho trovato strumenti di trading come il dollar index, ecc.

non possono fare trading su di essi, come si comporterà il vostro codice?

 
Igor Makanu:

Non ho trovato strumenti di trading come il dollar index, ecc.

il commercio su di essi è vietato, come si comporterà il vostro codice?

Il falso OrderSend di un EA non sempre permette di determinare le sue impostazioni.


Il codice che ho fornito mostra le impostazioni di qualsiasi EA, indipendentemente dalle proprietà del simbolo e da altre. Per esempio, eseguite un EA di qualche tipo e poi questo script sullo stesso grafico

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

Il falso OrderSend di un EA non sempre rivela le sue impostazioni.


Il codice che ho fornito mostra le impostazioni di qualsiasi EA, indipendentemente dalle proprietà del simbolo e da altre. Per esempio, eseguite un EA di qualche tipo e poi questo script sullo stesso grafico

controllato, funziona, ma

1. nella discussione https://www.mql5.com/ru/forum/214590/page6#comment_11947599

il codice dovrebbe essere sostituito con return(INIT_SUCCEED); - l'ho provato e non ho capito dove manca l'EA ))

2. Non capisco perché, quando seleziono le proprietà EA e metto una casella di controllo diversa, l'avviso non riappare, quando cambio TFs, tutto è normale

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

Il falso OrderSend di un EA non sempre rivela le sue impostazioni.


Il codice che ho fornito mostra le impostazioni di qualsiasi EA, indipendentemente dalle proprietà del simbolo e da altre. Per esempio, eseguite un EA di qualche tipo e poi questo script sullo stesso grafico

è possibile aggiungere il tuo codice all'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";

Con questo codice apre all'infinito ordini lunghi e corti su xauusd

 
Lomonosov1991:

Posso aggiungere il tuo codice al mio EA?

Sì.


Forum sul trading, sistemi di trading automatico e test di strategia

Tutte le domande dei principianti su MQL4 e MQL5, aiuto e discussione su algoritmi e codici

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";

Con questo codice apre all'infinito ordini lunghi e corti su xauusd

L'idea qui è che avete bisogno esattamente di zero volumi.
 
fxsaber:

Sì.


L'idea qui è che avete bisogno esattamente di zero volumi.
Apre 0,01 lotti senza 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 questo non funziona affatto.

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:

controllato, funziona, ma

1. nella discussione su https://www.mql5.com/ru/forum/214590/page6#comment_11947599

Dovrei sostituire il codice con return(INIT_SUCCEED); - ho provato e non ho capito dove manca l'Expert Advisor ))

Ho volutamente messo FAILED in questo esempio, in modo da non doverlo rimuovere manualmente in seguito.

2. Non capisco perché, quando seleziono le proprietà EA e metto una casella di controllo diversa, l'avviso non riappare, quando cambio TFs, tutto è normale

Quando si cambia Long/Short non c'è nessuna chiamata OnDeinit/OnInit.

 
Non capisco come eseguirlo((
File:
 
fxsaber:

Nessuna chiamata OnDeinit/OnInit quando si cambia Long/Short.

strano comportamento, normalmente OnIniT() viene eseguito dopo la chiamata della finestra delle impostazioni.


Lomonosov1991:
Non capisco come eseguirlo((

allegato il campione, decomprimerlo e spargerlo in cartelle

File:
MQL4.zip  5 kb
Motivazione: