[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 192

 

Buon pomeriggio, signori.

Ho bisogno di un consiglio su questa domanda:

Sto scrivendo un EA e mi sono imbattuto in un problema. Il mio Expert Advisor dovrebbe eseguire i calcoli ogni minuto per un determinato numero di minuti. Dopo di che, tutti i dati dovrebbero essere resettati e i calcoli dovrebbero essere eseguiti dall'inizio.

E così il ciclo per ciclo. Il ciclo di tempo è da 5 a 60 minuti. Per favore consigliatemi come descrivere questo correttamente nel codice?

Per ora il ciclo di 5 minuti si presenta così:

if ((TimeMinute(TimeCurrent()))==time1)

Price20=koef_10;

if ((TimeMinute(TimeCurrent()))==time2)

Price20=koef_10;

if ((TimeMinute(TimeCurrent()))==time3)

Price20=koef_10;

if ((TimeMinute(TimeCurrent()))==time4)

Price20=koef_10;

if ((TimeMinute(TimeCurrent()))==time5)

Price20=koef_10;


Sarei grato per qualsiasi aiuto.

 
Buon pomeriggio! Cosa c'è che non va?
вершина =Low[iHighest( NULL, int timeframe, MODE_HIGH, i, start ) 

'MODE_HIGH' - variabile attesa C:\Program Files (x86)\FXstart - MetaTrader\experts\indicators\policyclics.mq4 (46, 52)

MODE_HIGH è l'identificatore preso dalla tabella corrispondente è....

 
perché avete bisogno di un int davanti al timeframe?
 
Grazie, è una corsa!!!
 
Sì, proprio così, GRAZIE!!!
 
extralifes:

Buon pomeriggio, signori.

Ho bisogno di un consiglio su questa domanda:

Sto scrivendo un EA e mi sono imbattuto in un problema. Il mio Expert Advisor dovrebbe eseguire i calcoli ogni minuto per un determinato numero di minuti. Dopo di che, tutti i dati dovrebbero essere resettati e i calcoli dovrebbero essere eseguiti dall'inizio.

E così il ciclo per ciclo. Il ciclo di tempo è da 5 a 60 minuti. Per favore consigliatemi come descrivere questo correttamente nel codice?

Per ora il ciclo di 5 minuti si presenta così:

Sarei grato per qualsiasi aiuto.


Propongo questa soluzione:

//+------------------------------------------------------------------+
//|                                             Circle X Minutes.mq4 |
//|                                             Copyright 2012, Roll |
//|                                https://www.mql5.com/ru/users/roll |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, Roll"
#property link      "https://www.mql5.com/ru/users/roll"
extern int minut=5;datetime t;int k;
//+------------------------------------------------------------------+
int init(){t=0;k=minut;return(0);}int deinit(){return(0);}
//+------------------------------------------------------------------+
int start(){if(k>60)k=0;if(k==0)return(0);F1();if(k>0){if(F()==true)k--;}return(0);}
void F1(){if(t==0&&TimeSeconds(TimeCurrent())>=0)
  {Alert("цикл из ", minut," минут - УСТАНОВКА: время сервера - ",TimeToStr(TimeCurrent(),
   TIME_SECONDS));t=TimeCurrent();}}
bool F(){if(t!=0&&t<TimeCurrent()&&TimeSeconds(TimeCurrent())>=0)
  {Alert("цикл из ", minut," минут - ПРОВЕРКА: время сервера - ",TimeToStr(TimeCurrent(),
   TIME_SECONDS));t=TimeCurrent()+59;return(true);}} 
 
Roll:


Suggerisco questa soluzione:

Non funziona. Ecco uno screenshot:

La tempistica sembra essere confusa + dopo la fine del primo ciclo, un nuovo ciclo non è iniziato.

 

Non riesco a capire come calcolare la durata dalla formazione del modello a 0 bar.

Se il modello esiste e non c'è un riferimento rigido al prezzo e al tempo.

 

Buon pomeriggio, signori.

Ho bisogno del vostro consiglio su questa domanda: Come scrivere nel codice dell'Expert Advisor in modo che dal saldo sia stato ritirato l'importo specificato, diciamo che il nostro saldo = $80 ogni volta che il saldo = $80 + $10 Expert Advisor dal più grande meno prese $5, riducendo il lotto e chiudendo questi 10 $ e un nuovo rapporto iniziato a $85

 
extralifes:

Non funziona. Ecco uno screenshot:

La tempistica sembra essere confusa + dopo la fine del primo ciclo, un nuovo ciclo non è iniziato.


Che ne dite di un'altra opzione?

//+------------------------------------------------------------------+
//|                                      Circle_X _Minutes_v.2.mq4 |
//|                                             Copyright 2012, Roll |
//|                                https://www.mql5.com/ru/users/roll |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, Roll"
#property link      "https://www.mql5.com/ru/users/roll"
extern int minut=5;datetime t;int k;
//+------------------------------------------------------------------+
int init(){t=0;k=minut;return(0);}int deinit(){return(0);}
//+------------------------------------------------------------------+
int start(){F1();if(k>60)return(0);if(k==0){t=0;k=minut;F1();}if(k>0){Sleep(59*950);k--;
if(k!=0)Alert("цикл из ", minut," минут - ПРОВЕРКА: время - ",TimeToStr(TimeLocal(),TIME_SECONDS));
  t=TimeLocal()+59;}return(0);}
void F1(){if(t==0&&TimeSeconds(TimeLocal())>=0)
  {Alert("цикл из ", minut," минут - УСТАНОВКА: время - ",TimeToStr(TimeLocal(),TIME_SECONDS));t=TimeLocal();}}
Motivazione: