DiPach: P./S.: Per sicurezza, dirò che c'è una risposta parziale alla tua domanda anche nella "Nota" dell'aiuto di NormalizeDouble.
Io stesso mi dimenticavo di inserire DoubleToS... ...e poi si è meravigliato dei molti numeri dopo il punto. :)
È scritto nell'Aiuto :) Chi avrebbe pensato che sarei andato lì perché è una funzione conosciuta e non ha senso leggerlo nell'Aiuto. Grazie per la risposta.
Ciao, Potresti dirmi come far funzionare l'indicatore nel tester con i dati di un'altra coppia di valute?
L'immagine mostra un MACD normale, ma con il simbolo "GBPUSD" scritto sopra. Sul grafico "EURUSD", è disegnato esattamente allo stesso modo che sul grafico "GBPUSD".
Ma non vuole funzionare nello Strategy Tester. Quando premo pausa e posiziono l'indicatore sul grafico EURUSD, all'inizio tutto viene disegnato correttamente, ma appena inizio il test
Disegna semplicemente una linea retta come nell'immagine. O forse puoi dirmi un altro indicatore che funziona. Non è il MACD che è importante, ma il principio del disegno.
Con la nuova build, gli oggetti nell'angolo in basso a destra sono strisciati a destra. È necessario spostarli leggermente a sinistra in modo che tutto il testo in essi sia leggibile.
Come era e come dovrebbe essere fatto:
Ora sono strisciati via:
Codice:
#include <stdlib.mqh>
#include <stderror.mqh>
#include <WinUser32.mqh>
//--------------------------------------------------------------- 3 --#include <Variables_AU.mqh> // Описание переменных #include <Terminal.mqh> // Учёт ордеров#include <Events.mqh> // Функция слежения за событиями, обновлен.#include <Inform.mqh> // Информационная функция#include <Trade.mqh> // Торговая функция#include <Open_Ord.mqh> // Открытие одного ордера заданного типа#include <Open_Ord_balance_line.mqh> //Доливка по линии баланса - установка одного отложенного ордера #include <Close_All.mqh> // Закрытие всех ордеров заданного типа#include <Tral_Stop_All.mqh> // Модификация лимитного ордера#include <Lot_MM.mqh> // Вычисление количества лотов#include <Criterion.mqh> // Торговые критерии#include <Errors.mqh> // Функция обработки ошибок.//--------------------------------------------------------------- 4 --int init() // Спец. функция init
{
IsExpertStopped = false;
if (!IsTradeAllowed()) {Comment("Необходимо разрешить советнику торговать");IsExpertStopped = true; return (0);}
// if (!IsTesting()){if (IsExpertEnabled()) Comment("Советник запустится следующим тиком");else Comment("Отжата кнопка \"Разрешить запуск советников\"");} // Определяем переменные окружения
Level_old=MarketInfo(Symbol(),MODE_STOPLEVEL );//Миним. дистаниция
Level_Freeze = MarketInfo(Symbol(),MODE_FREEZELEVEL );
Spread = MarketInfo(Symbol(),MODE_SPREAD);
Tick = MarketInfo(Symbol(), MODE_TICKSIZE); //Mинимальный тик // Пересчеты пунктов для пятизначного ДЦ if ((Digits == 3) || (Digits == 5)){SlipPips = SlipPips*10; indent_Hight = indent_Hight * 10; indent_Low = indent_Low * 10;}
Terminal(); // Функция учёта ордеров //----------------------------------------------Мониторинг--------------------- if(Monitor==true)
{
int a,y;
for(a=0,y=5;a<=4;a++)
{
string N=DoubleToStr(a,0);
ObjectCreate(N,OBJ_LABEL,0,0,0,0,0,0,0);
ObjectSet(N,OBJPROP_CORNER,3);
ObjectSet(N,OBJPROP_XDISTANCE,5);
ObjectSet(N,OBJPROP_YDISTANCE,y);
y+=20;
}
}
return(0); // Выход из init()
}
//-----------------------------------------------------------------------------int start() // Спец. функция start
{
//------------- Вызов ф-ий учёта ордеров, принятия торговых решений и информации ----------
Terminal(); // Функция учёта ордеров
Events(); // Информация о событиях
Trade (Criterion()); // Торговая функция
Inform(0); // Для перекрашивания объектов//------------- МОНИТОРИНГ --------------------------------------------------------------if(Monitor==true)
{
string str="Balance: "+DoubleToStr(AccountBalance(),2)+" $";
ObjectSetText("0",str,10,"Arial Black",DarkOrange);
str="Profit: "+DoubleToStr(AccountProfit(),2)+" $";
ObjectSetText("1",str,10,"Arial Black",Salmon);
str="Free Margine: "+DoubleToStr(AccountFreeMargin(),2)+" $";
ObjectSetText("2",str,10,"Arial Black",Gold);
str="OrdersTotal: "+DoubleToStr(OrdersTotal(),0);
ObjectSetText("3",str,10,"Arial Black",MediumAquamarine);
if (Lot_MM()==false) // Средств не хватает на миним.return(0); // Выход из пользов. функции
str="Lots_Next: "+DoubleToStr(Lots_New,2);
ObjectSetText("4",str,10,"Arial Black",Olive);
}
return(0); // Выход из start()
}
//-------------------------------------------------------------------------------------------int deinit() // Спец. функция deinit()
{
Inform(-1); // Для удаления объектов//----------------------------------------------------------------------------------------if(Monitor==true)
{
for(int a=0;a<=4;a++)
{
string N=DoubleToStr(a,0);
ObjectDelete(N);
}
}
//-------------------------------------------------------------------------------------------return(0); // Выход из deinit()
}
//-------------------------------------------------------------------------------------------
Questo è un oggetto di testo. Ma ho bisogno di cambiarlo in OBJ_TREND. Mi piacerebbe poterlo fare in un solo oggetto, invece di aggiungere un altro oggetto testo alla linea di tendenza.
Da metà giornata del 5 maggio, il Debugger ha smesso di dare valori variabili al breakpoint. In tutti i programmi per tutte le variabili. Allo stesso tempo i programmi stessi funzionano come prima. A quel tempo (e fino ad oggi) l'editor era"ver. 5.00 build 934" e MetaTrader "ver. 4.00 build 646".
Ecco un semplice script, e questo è ciò che mostra il Debugger. Puoi dirmi per favore cosa c'è che non va?
P./S.: Per sicurezza, dirò che c'è una risposta parziale alla tua domanda anche nella "Nota" dell'aiuto di NormalizeDouble.
Io stesso mi dimenticavo di inserire DoubleToS... ...e poi si è meravigliato dei molti numeri dopo il punto. :)
È scritto nell'Aiuto :) Chi avrebbe pensato che sarei andato lì perché è una funzione conosciuta e non ha senso leggerlo nell'Aiuto. Grazie per la risposta.
Ciao, Potresti dirmi come far funzionare l'indicatore nel tester con i dati di un'altra coppia di valute?
L'immagine mostra un MACD normale, ma con il simbolo "GBPUSD" scritto sopra. Sul grafico "EURUSD", è disegnato esattamente allo stesso modo che sul grafico "GBPUSD".
Ma non vuole funzionare nello Strategy Tester. Quando premo pausa e posiziono l'indicatore sul grafico EURUSD, all'inizio tutto viene disegnato correttamente, ma appena inizio il test
Disegna semplicemente una linea retta come nell'immagine. O forse puoi dirmi un altro indicatore che funziona. Non è il MACD che è importante, ma il principio del disegno.
Potete dirmi come scrivere l'ora attuale in una variabile globale GlobalVariableSet, per esempio? Non dà affatto la data ma una serie di cifre...
Potete dirmi come scrivere l'ora attuale in una variabile globale GlobalVariableSet, per esempio? Non dà affatto la data ma una serie di cifre...
Il tempo è memorizzato come un valore intero
Salve. Buon Giorno della Vittoria a tutti!
Con la nuova build, gli oggetti nell'angolo in basso a destra sono strisciati a destra. È necessario spostarli leggermente a sinistra in modo che tutto il testo in essi sia leggibile.
Come era e come dovrebbe essere fatto:
Ora sono strisciati via:
Codice:
Ci sono riuscito da solo cambiando l'angolo di riferimento e impostando le distanze delle coordinate:
E come si fa a cambiare la dimensione e lo sfondo (il colore è probabilmente improbabile) dei commenti degli oggetti?
Beh, il numero di biglietto Start # nella foto è il loro.
Funzione:
Gli ultimi tre, i parametri hanno pensato di influenzare in qualche modo. Niente da fare...
Il Debugger ha smesso di funzionare - perché?
Da metà giornata del 5 maggio, il Debugger ha smesso di dare valori variabili al breakpoint. In tutti i programmi per tutte le variabili. Allo stesso tempo i programmi stessi funzionano come prima. A quel tempo (e fino ad oggi) l'editor era"ver. 5.00 build 934" e MetaTrader "ver. 4.00 build 646".
Ecco un semplice script, e questo è ciò che mostra il Debugger. Puoi dirmi per favore cosa c'è che non va?