エラー、バグ、質問 - ページ 1418

 
皆さん、こんにちは。
最近プログラミングを始めたのですが、StopLossが設定されていない、そんな問題に遭遇しました。エラーの発生箇所を教えてください。
int start()
{
if(CountTrades()==0)とする。
{
double ima=iMA(Symbol(),PERIOD_H1,14,0,MODE_SMA,PRICE_CLOSE,1);
if(Ask>ima)の場合
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,", Magic,0,Blue);
if(チケット>0)
{
TP=NormalizeDouble(Ask+TakeProfit*Point,Digits)です。
bool modify1=OrderModify(ticket,OrderOpenPrice(),0,TP,0)
{
SL=NormalizeDouble(Ask-StopLoss*Point,Digits)です。
bool modify=OrderModify(ticket,OrderOpenPrice(),SL,0,0)です。
}
}
}
else if(Bid<ima)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,", Magic,0,Red);
if(チケット>0)
{
TP=NormalizeDouble(Bid-TakeProfit*Point,Digits)です。
bool modify1=OrderModify(ticket,OrderOpenPrice(),0,TP,0)
{
SL=NormalizeDouble(Bid+StopLoss*Point,Digits)です。
bool modify=OrderModify(ticket,OrderOpenPrice(),SL,0,0)です。
}
}
}
さもなくば
{
int order_type=FindLastOrderType()。
if(order_type==OP_BUY)とする。
{
price=FindLastPrice(OP_BUY)。
if(Ask<=価格-Step*Point)
{
lastlot = FindLastLots(OP_BUY);
lastlot = NormalizeDouble(lastlot * Multiplier, 2);
ticket=OrderSend(Symbol(),OP_BUY,lastlot,Ask,Slippage,0,0,",Magic,0,Blue);
if(チケット>0)
ModifyOrders(OP_BUY)を使用します。
}
}
else if(order_type==OP_SELL)
{
price=FindLastPrice(OP_SELL)。
if(Bid<=price+Step*Point)とする。
{
lastlot=FindLastLots(OP_SELL)。
}
lastlot=NormalizeDouble(lastlot*Multiplier,2);
ticket=OrderSend(Symbol(),OP_SELL,lastlot,Bid,Slippage,0,0,",Magic,0,Red);
if(チケット>0)
ModifyOrders(OP_SELL)です。
}
}
}
return(0)です。
}
よろしくお願いします)))
 
Сергей Верещак:
if(Ask>ima)の場合
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,", Magic,0,Blue);
if(チケット>0)
{
TP=NormalizeDouble(Ask+TakeProfit*Point,Digits)です。
bool modify1=OrderModify(ticket,OrderOpenPrice(),0,TP,0); Take ProfitとStop Lossを0に設定する。
{
SL=NormalizeDouble(Ask-StopLoss*Point,Digits)です。
bool modify=OrderModify(ticket,OrderOpenPrice(),SL,0,0); Stop LossとTake Profitをゼロにする、つまり先に設定したものを削除する。
}
}
}

よろしくお願いします))
ディグ・イン、チップ・プレゼント・・・。
 
Vladimir Pastushak:
掘り下げると、ヒントを与えた ...
Volodyaさん、ありがとうございます。ちょっと調べてみます、すぐにわかります)))
 
Vladimir Pastushak:
掘り下げると、ヒントを与えた ...

そして、「新」MQL4、MQL5の水準に近づけていこう。

//TP=NormalizeDouble(Ask+TakeProfit*Point,Digits);
TP=NormalizeDouble(Ask+TakeProfit*_Point,_Digits);
 
Alexey Volchanskiy:

そして、「新」MQL4、MQL5の水準に近づけていこう。

//TP=NormalizeDouble(Ask+TakeProfit*Point,Digits);
TP=NormalizeDouble(Ask+TakeProfit*_Point,_Digits);

今年5月15日、Renat Fatkhullinの投稿に次のような 文章がある。

非推奨であることを示すアンダースコア。グローバルに宣言されたこのような単純な変数は使用できませんが、通常のローカル変数の ように見えます。

言語とコードをきれいに保つために、Symbol()、Period()に切り替える必要があります。ただ、思い入れがあって、古いものの遺産を処分しているだけなんです。

必要であれば、引用した箇所のある投稿を検索することができます。これは、あるコミュニティメンバーの質問に対するレナトの回答で、次のように始まっている。

MT4では、変数Point、Digits...MT5では、これらの同じ変数がアンダースコアで始まる...


P./S.:したがって、アンダースコアが deprecated(非推奨または不承認、今後使用を推奨しない)であることを踏まえ、アンダースコアなしの Point() と Digits() を使用することである。/* MQL4では、MQL5のようにPoint()Digits() の名前の後に括弧を付けて使用しても、作業時のエラーは発生せず、コンパイル時のエラーやワーニングも発生しません。

 

こんにちは、私は非常に興味深い質問を持っている、私は自分のコンピュータ上で3つのMT4プラットフォームを持っている、プラットフォーム1は、私が本当のアカウントを開いたメインです。No.2と3は、EAをテストする ための補助的なもので、デモ口座が開設されています。https://www.mql5.com からシグナルをコピーしようとすると(シグナルを選択してコピー開始を押すと、MetaTrader4を起動してプラットフォームを購読するというウィンドウがポップアップするので、このウィンドウを押す)、プラットフォーム番号1の代わりに、プラットフォーム番号3が開きます。どうすれば修正できますか?1番ホームを開くには?

 
Mihail Kuzmin:

こんにちは、私は非常に興味深い質問を持っている、私は自分のコンピュータ上で3つのMT4プラットフォームを持っている、¹1は、私が本当のアカウントを開いたメインです。No.2と3は、EAをテストする ための補助的なもので、デモ口座が開設されています。https://www.mql5.com からシグナルをコピーしようとすると(シグナルを選択してコピー開始を押すと、MetaTrader4を起動してプラットフォームを購読するというウィンドウがポップアップします)、プラットフォーム番号1ではなく、プラットフォーム番号3が開いてしまうのです。どうすれば修正できますか?プラットフォームNo.1を開くにはどうしたらいいですか?

複数の端末を "動物園 "化した場合、コピーしたい端末から直接信号をサーチする必要があります。
 
Karputov Vladimir:
複数の端末を "ズラして "コピーする場合は、コピー先の端末から直接信号を探す必要があります。
ターミナルが動作せず、エラーになる...。
 
Mihail Kuzmin:
端末が動かず、エラーが出る...。
どのようなエラーですか?何を、どのような順番で行うのか?
 
Karputov Vladimir:
どのようなエラーですか?何を、どのような順番でやっているのか?

1ヶ月前からサイト経由で加入して使っているのですが、今回、なぜか全く別のプラットフォームが開いてしまいます。

1ヶ月前にホームページからシグナルを申し込んだばかりだったのですが、必要なプラットフォームがNo.1に開かれてしまいました。