Necron>>: Народ, кто может подсказать. Вчера делал советника по уровням Мюррея. Там смысл такой, что от уровней 8/0 и 0/8 надо продавать/покупать, а TP на пивот. Я использовал ObjectGet() чтобы получить линии, т.к. другого способа не нашел. Проблема в том, что если снижается волатильность, то уровни перерисовываются, и что самое главное автоматически меняется и TP. А менятся по ТС не должен. А вот как сделать чтоб TP не менялся? Заранее благодарен за помощь.
変数を宣言する
bool ret;
ループの前に
snowman647か(笑)。
コンパイルに問題があるのではなく、アルゴリズムに問題があるのです。
snowman647か(笑)。
コンパイルに問題があるのではなく、アルゴリズムに問題があるのです。
おそらく、新しいポジションがどのように開設されるかを見る必要があるのでしょう。
Наверно надо смотреть как открываются новые позиции
開くが、閉じようとしない)
クロージングアルゴリズムに何か問題があるのでしょう。
コードは最も単純なものです。経験豊富なプログラマーは何が間違っているのか理解できないのでしょうか?)
開くが、閉じようとしない)
クロージングアルゴリズムに何か問題があるのでしょう。
コードは最も単純なものです。経験豊富なプログラマーは何が間違っているのか理解できないのでしょうか?)
オープニングにMagikを使わないのであれば、Magikでクローズするのはどうなんだろう。だからこそ、疑問が湧くのです。
Vinin、私の良い人)マジシャンは価値がある))。
extern double Lots=0.1;
int start()
{
bool ret;
double Ind11=iMA(NULL,0,12,0,0,0,0);
double Ind12=iMA(NULL,0,12,0,0,0,1);
if(Ind11>Ind12)
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"",16384,0,Green);
}
if(Ind11<Ind12)
{
for(ic=OrdersTotal()-1;ic>=0;ic--)
{
if(OrderSelect(ic,SELECT_BY_POS,MODE_TRADES)==false) continue;
if (OrderSymbol()==Symbol() && OrderMagicNumber()==16384)
{
if (OrderType()==OP_BUY)
OrderClose(OrderTicket(),OrderLots(),Bid,5,CLR_NONE);
if (OrderType()==OP_SELL)
OrderClose(OrderTicket(),OrderLots(),Ask,5,CLR_NONE);
}}
}
return(0);
}
Народ, кто может подсказать. Вчера делал советника по уровням Мюррея. Там смысл такой, что от уровней 8/0 и 0/8 надо продавать/покупать, а TP на пивот. Я использовал ObjectGet() чтобы получить линии, т.к. другого способа не нашел. Проблема в том, что если снижается волатильность, то уровни перерисовываются, и что самое главное автоматически меняется и TP. А менятся по ТС не должен. А вот как сделать чтоб TP не менялся? Заранее благодарен за помощь.
ラインとピボットの計算アルゴリズムを修正
Vinin, уважаемый) магик то стоит))
extern double Lots=0.1;
int start()
{
bool ret;
double Ind11=iMA(NULL,0,12,0,0,0,0);
double Ind12=iMA(NULL,0,12,0,0,0,1);
if(Ind11>Ind12)
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"",16384,0,Green);
}
if(Ind11<Ind12)
{
for(ic=OrdersTotal()-1;ic>=0;ic--)
{
if(OrderSelect(ic,SELECT_BY_POS,MODE_TRADES)==false) continue;
if (OrderSymbol()==Symbol() && OrderMagicNumber()==16384)
{
if (OrderType()==OP_BUY)
OrderClose(OrderTicket(),OrderLots(),Bid,5,CLR_NONE);
if (OrderType()==OP_SELL)
OrderClose(OrderTicket(),OrderLots(),Ask,5,CLR_NONE);
}}
}
return(0);
}
Ask の代わりに NormalizeDouble(Ask, Digits) を、Bid の代わりに NormalizeDouble(Bid, Digits) を与えれば、動作するはずです。