[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 504

 
DDFedor >>:


та переменная, которую вы создадите. к которой будете обращать и с которой будете работать. прочитайте про глобальные переменные - все сразу станет понятно. https://docs.mql4.com/ru/globals

¿Puedes explicarme lo que has dicho en el enlace que has citado? Es decir, responde a mi pregunta específicamente con tus propias palabras.

 
Para ahorrar tiempo, pon tu script o la parte en cuestión y lo corregiremos a GlobalVariable. De este modo, lo entenderá más rápidamente.
 
zhuki >>:
Чтобы сэкономить время положите свой скрипт или ту часть о которой идёт речь,а мы её поправим на GlobalVariable. Так вы быстрее поймёте.

El guión se puede bajar, pero ¿no lo he explicado claramente? Dime lo que no entiendes, por favor

 
Oper >>:

Скрипт то положить можно,но неужели я невнятно и тупо объяснил?Скажите,что непонятно вам,пожалуйста

Simplemente no entiendes la diferencia entre una variable externa y una variable global, y sin eso es inútil explicarte nada.

Por cierto, también hay una diferencia entre variable global y variable declarada globalmente y también es bastante significativa,

Así que es mejor que nos envíe el guión y alguien lo corregirá por usted.

 
Tienes que guardar la variable en GlobalVariable así.
GlobalVariableSet("Variable",Value(double));
cuando lo necesites en la siguiente ejecución puedes comprobar si existe así
GlobalVariableCheck("Variable");
Y tomar su contenido así
...=GlobalVariableGet("Variable");
Y utilizarlo según sea necesario. El tiempo de guardado en GlobalVariable es de 14 días y luego se sobrescribirá.
El acceso a GlobalVariable es común para todos los scripts y Asesores Expertos, por lo que el nombre debe ser único.
 
jokonda >>:
Всем привет! Только начинаю работать в Excel, научилась боль-мень обращаться с формулами. А сейчас нужно сделать ссылку на имя и не получается. Подскажите, пжлста -
напрм, в одной ячейке название, в соседней примечание, а в третьей ячейке нужно сделать ссылку или формулу, которая бы объединяла первые две ячейки.
И чтоб потом копировать текст в первую и вторую, а они объединеные отражались в третьей.

Sólo tu propia experiencia te ayudará, tómate tu tiempo y aprende.

 
Urain >>:

Вы просто не поняли разницу между внешней переменной и глобальной, а без этого пояснять вам что либо бестолку.

Кстати там есть ещё разница между глобальной переменной и переменной обьявленной на глобальном уровне и она тоже довольно существенная,

так что лучше выкладывайте скрипт вам его поправят.

Gracias por la información.

 
zhuki >>:
Нужно сохранить переменную в GlobalVariable так.
GlobalVariableSet("Переменная",Значение(double));
когда она понадобиться при следующем запуске можно проверить существует ли она так
GlobalVariableCheck("Переменная");
И взять её содержимое так
... =GlobalVariableGet("Переменная");
И использовать по необходимости. Время сохранения в GlobalVariable 14 дней потом затрётся.
Доступ к GlobalVariable общий для всех скриптов и советников,поэтому имя должно быть уникальным.

Gracias, eso es útil.

 
Hola!

Aquí está el bloque para abrir una posición de compra. La posición se abre al tick más cercano.

int inicio()
{
double bid =MarketInfo("GBPUSD",MODE_BID);
double ask =MarketInfo("GBPUSD",MODE_ASK);
double point =MarketInfo("GBPUSD",MODE_POINT);

int tick=OrderSend("GBPUSD",OP_BUY,0.01,ask,3,bid-30*Point,bid+30*Point);
if(tick==-1)
{
Alert ("Error #"+GetLastError();
}
si no Alerta ("Posición abierta");
volver;
}

Pero la pega es que después de abrir una posición, con el siguiente tick hacia arriba, se abre otra y otra (sin esperar a que se cierre la primera)...
¿Cómo lo escribo para que una nueva operación (la misma) se abra sólo después de la ejecución de la primera, y no en cada tick posterior hacia arriba?
¿Cómo escribir que después de la ejecución de las condiciones (cualquier - pérdida / beneficio) del primer acuerdo, el acuerdo se abrirá con diferentes condiciones y / o lo contrario?

Gracias de antemano!
 
Lim1 писал(а) >>
¡Hola!

Aquí está el bloque para abrir una posición de compra. La posición se abre al tick más cercano hacia arriba.


Pero la pega es que después de abrir una posición, en el siguiente tick hacia arriba, se abre otra y otra (sin esperar a que se cierre la primera)...
¿Cómo escribo para que se abra una nueva operación (la misma) sólo después de que se ejecute la primera, y no en cada tick posterior hacia arriba?
¿Cómo escribir que después de la ejecución de las condiciones (cualquier - pérdida / beneficio) del primer acuerdo, el acuerdo se abriría con diferentes condiciones y / o lo contrario?

Gracias de antemano.
bool IsPosOpen=false;

int start()
{
double bid =MarketInfo("GBPUSD",MODE_BID);
double ask =MarketInfo("GBPUSD",MODE_ASK);
double point =MarketInfo("GBPUSD",MODE_POINT);

if(IsPosOpen==false)
{
   int tick=OrderSend("GBPUSD",OP_BUY,0.01,ask,3,bid-30*Point,bid+30*Point);
   if(tick==-1)
   {
      Alert ("Ошибка № "+GetLastError());
   }
   else 
   {
      Alert ("Позиция открыта");
      IsPosOpen = true;
   }// end else
}// end if
return;
}// end start
Razón de la queja: