//+------------------------------------------------------------------+//| ObjectGetDouble.mq5 |//| Copyright 2016, MetaQuotes Software Corp. |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2016, MetaQuotes Software Corp."#property link"https://www.mql5.com"#property version"1.01"#property strict#property script_show_inputs#property description"Получение цены точки привязки и значение уровней"inputstring name_fibo="Fibo"; // имя Фибо//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
double temp=0.0;
//--- цена точки привязки
temp=ObjectGetDouble(0,name_fibo,OBJPROP_PRICE,0);
Print("Цена точки привязки ",0," равна ",DoubleToString(temp,Digits()));
temp=ObjectGetDouble(0,name_fibo,OBJPROP_PRICE,1);
Print("Цена точки привязки ",1," равна ",DoubleToString(temp,Digits()));
//--- значение уровней//--- кстати, а сколько у нас Фибо-уровней ? int levels=ObjectGetInteger(0,name_fibo,OBJPROP_LEVELS);
double temp_price=0.0;
for(int i=0;i<levels;i++)
{
ResetLastError();
if(!ObjectGetDouble(ChartID(),name_fibo,OBJPROP_LEVELVALUE,i,temp_price))
Print("Error ",GetLastError());
elsePrint("Значение уровня ",i," равно ",DoubleToString(temp_price,Digits()));
}
}
//+------------------------------------------------------------------+
E mais ou menos este é o resultado:
2016.01.2715:54:45.905 Test (EURUSD,M5) Цена точки привязки 0 равна 1.090462016.01.2715:54:45.905 Test (EURUSD,M5) Цена точки привязки 1 равна 1.085642016.01.2715:54:45.905 Test (EURUSD,M5) Значение уровня 0 равно 0.000002016.01.2715:54:45.905 Test (EURUSD,M5) Значение уровня 1 равно 0.236002016.01.2715:54:45.905 Test (EURUSD,M5) Значение уровня 2 равно 0.382002016.01.2715:54:45.905 Test (EURUSD,M5) Значение уровня 3 равно 0.500002016.01.2715:54:45.905 Test (EURUSD,M5) Значение уровня 4 равно 0.618002016.01.2715:54:45.905 Test (EURUSD,M5) Значение уровня 5 равно 1.000002016.01.2715:54:45.905 Test (EURUSD,M5) Значение уровня 6 равно 1.618002016.01.2715:54:45.905 Test (EURUSD,M5) Значение уровня 7 равно 2.618002016.01.2715:54:45.905 Test (EURUSD,M5) Значение уровня 8 равно 4.23600
'+' - não pode converter enum prob.mq4 14 51
Vai escrever uma secretária de serviço.
'+' - não pode converter enum prob.mq4 14 51
Ir para escrever um servisdesk.
Já viu o exemplo deObjectSetDouble na referência? Cria Fibo, adiciona níveis e obtém valores de níveis.
ObjectSetDouble(chart_ID,name,OBJPROP_LEVELVALUE,i,values[i])
Define o preço.
Se GET, devolve o valor do nível, não o preço.
Hmm. Funciona para mim.
O soluço de Dummy, mas esclarece-me porque é que o botão F1 no editor do novo edifício 950 não funciona ?
OBRIGADO!
ObjectSetDouble(chart_ID,name,OBJPROP_LEVELVALUE,i,values[i])
Define o preço.
Se GET, devolve o valor do nível, não o preço.
Obtém o preço dos pontos de ancoragem Fibo:
Recebe-se o preço dos pontos de ancoragem Fibo:
И? Este é o preço de 0% e 100%.
E precisa de saber o preço de todos os níveis.
И? Este é o preço de 0% e 100%.
E precisa de saber o preço de todos os níveis.
Tanto quanto sei, é calculado proporcionalmente através dos níveis 0 e 100. Não há funções especiais para isto.
E mais ou menos este é o resultado: