Я сделал советник, который просто отображает линию индикатора ZigZag. Пожалуйста, смотрите код ниже. Я хотел бы добавить откат Фибоначчи (как видно из ссылки на изображение ниже) от нарисованного одного конца к другому зигзагу в противоположном направлении. Как я могу нарисовать эту коррекцию Фибоначчи программно и получить доступ к значениям 100,0, 61,8 и т. Д.?
ZigZagWithFibonacci
#include <Trade\PositionInfo.mqh>
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>
#include <Trade\OrderInfo.mqh>
#include <Expert\Money\MoneyFixedMargin.mqh>
CPositionInfo m_position; // trade position object
CTrade m_trade; // trading object
CSymbolInfo m_symbol; // symbol info object
CAccountInfo m_account; // account info wrapper
COrderInfo m_order; // pending orders object
CMoneyFixedMargin *m_money;
int handle_iCustom; // variable for storing the handle of the iCustom indicator
int OnInit()
{
//---
//---
//--- create handle of the indicator iCustom
handle_iCustom=iCustom(m_symbol.Name(),Period(),"Examples\\ZigZag");
//--- if the handle is not created
if(handle_iCustom==INVALID_HANDLE)
{
//--- tell about the failure and output the error code
PrintFormat("Failed to create handle of the iCustom indicator for the symbol %s/%s, error code %d",
m_symbol.Name(),
EnumToString(Period()),
GetLastError());
if(m_money!=NULL)
delete m_money;
//--- the indicator is stopped early
return(INIT_FAILED);
}
//---
// ---
ChartIndicatorAdd ( 0 , 0 , handle_iCustom);
// ---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
}
//+------------------------------------------------------------------+