[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 504

 
DDFedor >>:


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

Puoi spiegarmi cosa hai detto nel link che hai citato? Voglio dire, rispondi specificamente alla mia domanda con parole tue.

 
Per risparmiare tempo, mettete il vostro script o la parte di cui stiamo parlando e lo correggeremo in GlobalVariable. In questo modo capirete più rapidamente.
 
zhuki >>:
Чтобы сэкономить время положите свой скрипт или ту часть о которой идёт речь,а мы её поправим на GlobalVariable. Так вы быстрее поймёте.

Lo script può essere messo giù, ma non l'ho spiegato chiaramente? Dimmi cosa non capisci, per favore

 
Oper >>:

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

Semplicemente non capisci la differenza tra una variabile esterna e una variabile globale, e senza questo è inutile spiegarti qualcosa.

A proposito, c'è anche una differenza tra variabile globale e variabile dichiarata globalmente ed è anche abbastanza significativa,

Quindi, è meglio che ci mandi lo script e qualcuno lo correggerà per te.

 
Dovete salvare la variabile in GlobalVariable in questo modo.
GlobalVariableSet("Variable",Value(double));
quando ne avrete bisogno alla prossima esecuzione potrete controllare se esiste così
GlobalVariableCheck("Variable");
E prendere il suo contenuto così
...=GlobalVariableGet("Variable");
E usare come necessario. Il tempo di salvataggio in GlobalVariable è di 14 giorni e poi sarà sovrascritto.
L'accesso a GlobalVariable è comune per tutti gli script e gli Expert Advisors, quindi il nome dovrebbe essere unico.
 
jokonda >>:
Всем привет! Только начинаю работать в Excel, научилась боль-мень обращаться с формулами. А сейчас нужно сделать ссылку на имя и не получается. Подскажите, пжлста -
напрм, в одной ячейке название, в соседней примечание, а в третьей ячейке нужно сделать ссылку или формулу, которая бы объединяла первые две ячейки.
И чтоб потом копировать текст в первую и вторую, а они объединеные отражались в третьей.

Solo la vostra esperienza vi aiuterà, prendetevi il vostro tempo e imparate.

 
Urain >>:

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

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

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

Grazie per le informazioni.

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

Grazie, questo è utile.

 
Ciao!

Ecco il blocco per aprire una posizione di acquisto. La posizione si apre al tick up più vicino.

int start()
{
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);
se(tick==-1)
{
Alert ("Errore #"+GetLastError();
}
else Alert ("Posizione aperta");
ritorno;
}

Ma la fregatura è che dopo aver aperto una posizione, con il prossimo tick al rialzo, se ne apre un'altra e un'altra ancora (senza aspettare la chiusura della prima)...
Come posso scriverlo in modo che un nuovo trade (lo stesso) sia aperto solo dopo l'esecuzione del primo, e non su ogni tick successivo al rialzo?
Come scrivere che dopo l'esecuzione delle condizioni (qualsiasi - perdita / profitto) del primo affare, l'affare sarà aperto con condizioni diverse e / o il contrario?

Grazie in anticipo!
 
Lim1 писал(а) >>
Ciao!

Ecco il blocco per aprire una posizione di acquisto. La posizione si apre al più vicino tick verso l'alto.


Ma il problema è che dopo aver aperto una posizione, al prossimo tick up, se ne apre un'altra e un'altra ancora (senza aspettare la chiusura della prima)...
Come posso scrivere in modo che un nuovo trade (lo stesso) sia aperto solo dopo l'esecuzione del primo, e non su ogni tick successivo al rialzo?
Come scrivere che dopo l'esecuzione delle condizioni (qualsiasi - perdita / profitto) del primo affare, l'affare sarebbe aperto con condizioni diverse e / o il contrario?

Grazie in anticipo!
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
Motivazione: