//+------------------------------------------------------------------+//| 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()));
}
}
//+------------------------------------------------------------------+
そして、おおよそこのような結果になりました。
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
'+' - enum を変換できない prob.mq4 14 51
サーヴィスデスクを書きに行く。
'+' - enum を変換できない prob.mq4 14 51
サービスデスクを書こうと思います。
リファレンスにあるObjectSetDoubleの 例はご覧になりましたか?フィボを作成し、レベルを追加し、レベルの値を取得することができます。
ObjectSetDouble(chart_ID,name,OBJPROP_LEVELVALUE,i,values[i]);
価格を設定します。
GETの場合、価格ではなくレベルの値を返す。
うーん、私の場合はうまくいきました。
ダミーですが、950の新ビルドのエディターでF1ボタンが効かないのはなぜか教えてください。
ありがとうございました。
ObjectSetDouble(chart_ID,name,OBJPROP_LEVELVALUE,i,values[i]);
価格を設定します。
GETの場合、価格ではなくレベルの値を返す。
フィボアンカーポイントの価格を取得します。
フィボ・アンカーポイントの価格がわかる。
И?これは0%と100%の価格です。
そして、全レベルの価格を知る必要があります。
И?これは0%と100%の価格です。
そして、全レベルの価格を知る必要があります。
私の知る限り、0レベルと100レベルを通じて比例的に計算されます。そのための特別な機能はありません。
そして、おおよそこのような結果になりました。