[存档!]我将免费撰写任何专家或指标。 - 页 60

 

你好!请帮我写一个指标

在价格图表上绘制了两条移动平均线。视觉箭头和警报显示了穿越的时刻。这在指标Ma_crossover_signal_with_waw中实现。

我们需要修改这个指标。

1.知道了计算移动平均线的公式,在工作区显示当前(仍在建立中)蜡烛的收盘价,在这个时候发生相反的移动平均线交叉。

2.在工作区显示当前蜡烛的收盘百分比。 例如,在BarTimer最终指标(BarTimer选项)中实现。

指标的可调整参数:移动平均线计算方法(SMA、EMA...),移动平均线周期。如果可能的话,时间框架:值0适用于当前时间框架,值5、15、30、60......。- 适用于M5, M15, M30, H1...

谢谢你。

附加的文件:
 
matyushevskaya:

你好!请帮我写一个指标。

在价格图上绘制了两条移动平均线。视觉箭头和警报显示了穿越的时刻。这在指标Ma_crossover_signal_with_waw中实现。

我们需要修改这个指标。

1.知道了计算移动平均线的公式,在工作区显示当前(仍在建立中)蜡烛的收盘价,在这个时候发生相反的移动平均线交叉。

2.在工作区显示当前蜡烛的收盘百分比。 例如,在BarTimer最终指标(BarTimer选项)中实现。

指标的可调整参数:移动平均计算方法(SMA、EMA...),移动平均周期。如果可能的话,时间框架:值0适用于当前时间框架,值5、15、30、60......。- 适用于M5, M15, M30, H1...

谢谢你。


为什么要用展望未来的指标来做一件事?
 
大家好!请帮助我写一个 基于移动平均数的简单专家顾问。开盘信号如下,当MA与蜡烛交叉时,等待蜡烛体退出MA,并等待收盘。 如果蜡烛收于MA之上,则买入,如果低于,则卖出。设置MA SMA20
 
arkeo:
大家好!请帮助我写一个基于移动平均数的简单专家顾问。开盘的信号如下,当MA与蜡烛交叉时,等待蜡烛的主体退出MA,并等待收盘。 如果蜡烛收于MA之上,则买入,如果低于,则卖出。设置MA SMA20


你可能在所有MTA中都有一个这样的EA,但你必须按你的要求调整移位参数。我不这么认为,不是所有的蜡烛体都在那里。懒得写这种废话了 ))))

 
ZZZEROXXX:


你应该只根据你的需要设置移位参数。我不这么认为。懒得写这种废话了 ))

这将需要5分钟。我将把我花240美元买的交易复印机寄给你。

 
arkeo:
等待复印机的到来...
附加的文件:
 
Dima_S.:
等待复印机的到来...
在邮箱中寻找。
 

大家好。

我正试图做一份这样的报告。

但我被卡住了,我不能在报告中包括开仓时 的账户余额。目前,该代码看起来像这样。

if(Trade_Report == TRUE)
{ int pos, handle;

double Swap_M, Profit_M, Swap_P, Profit_P, Commission;
double Source_LP[RA], Source_SP[RA], Acc_Bal_Close[RA], Acc_Bal_Open[RA];

handle = FileOpen("OrdersReport.csv",FILE_CSV|FILE_WRITE);

if(handle > 0)
{
FileWrite(handle,"Time Open"+","+"Time Close"+","+"Lots"+","
+"Balance Open"+","+"Balance Close"+","+"Profit($)"+","+"Profit(p)"+","
+"SOURCE_LP"+","+"SOURCE_SP");

for(pos = 0; pos < OrdersHistoryTotal(); pos++)
{ OrderSelect(pos,SELECT_BY_POS,MODE_HISTORY); //2

Swap_M = OrderSwap();
Profit_M = OrderProfit();
Commission = OrderCommission();
Swap_P = (OrderSwap()/10)/OrderLots();
Profit_P = (OrderProfit()/10)/OrderLots()+(OrderSwap()/10)/OrderLots();

if(OrderType() == OP_BUY && OrderMagicNumber() == Magic_Source_LP && OrderCloseTime() == TimeCurrent())
{ Source_LP[pos] = Profit_M+Swap_M+Commission;
Acc_Bal_Close[pos] = AccountBalance(); }

if(OrderType() == OP_SELL && OrderMagicNumber() == Magic_Source_SP && OrderCloseTime() == TimeCurrent())
{ Source_SP[pos] = Profit_M+Swap_M+Commission;
Acc_Bal_Close[pos] = AccountBalance(); }
//---------------------------------------------------------------------------------------------------------------------
if(OrderType() < 2)
{ FileWrite(handle,TimeToStr(OrderOpenTime(),TIME_DA TE|TIME_MINUTES)+","
+TimeToStr(OrderCloseTime(),TIME_DATE|TIME_MINUTES )+","
+DoubleToStr(OrderLots(),2)+","
+DoubleToStr(Acc_Bal_Open[pos],2)+","
+DoubleToStr(Acc_Bal_Close[pos],2)+","
+DoubleToStr(Profit_M+Swap_M+Commission,2)+","
+DoubleToStr(Profit_P+Swap_P+Commission,2)+","
+DoubleToStr(Source_LP[pos],2)+","
+DoubleToStr(Source_SP[pos],2)); }
}
FileClose(handle); //2

谁能告诉我如何将开仓交易时的余额值添加到报告中。

 
tol64:

谁能告诉我如何将开仓交易时的余额值添加到报告中?

если сделки открываются советником,
добавить значение баланса в комментарий ордера.

string comment_=DoubleToStr(AccountBalance(),2);
OrderSend(...comment_..);

затем на истории считывать баланс из комментария
double Balance_Open=StrToDouble(OrderComment());
 
KONDOR:


谢谢你!当有人回应请求时,这非常好。))

优雅和简单的选择,你必须记住。其实我已经解决了这个问题,但它有点复杂。

void OnOff_Pos_Source_LP()
{  for(int count = 0; count < OrdersTotal(); count++)
      {  OrderSelect(count, SELECT_BY_POS, MODE_TRADES);
         if (OrderType() == OP_BUY && OrderMagicNumber() == Magic_Source_LP)
            {  Pos_Source_LP = TRUE;                     // Включить флаг основной позиции
               ticket_source_LP = OrderTicket();         // Присвоить глобальной переменной тикет текущей основной позиции
               Time_OpBar_Source_LP = Time[0];           // Запомнить время открытия свечи
               Acc_Balance_Open = AccountBalance(); }    // Запомнить значение баланса на открытии позиции
      }
}

因此,你可以随心所欲地背诵。祝你一切顺利