[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 747

 
xrust:


アラートが機能しない - テスターでは印刷に変わる...そこで、テスターでは、まず取引条件(注文やロジック)を処理し、時間があれば印刷を行うという特殊な機能を持っているので、ソムメントだけ、印刷よりもこの操作に時間がかかってしまうのです。

ルスタム みんな知ってると思うけど、プリントが何も印刷されないんだ...。もしかしたら、これがきっかけで...。
 
artmedia70:





残念ながらトロールはうまくいきません。コンパイル時にエラーになる。修正すべき点は?
 
artmedia70:

??????????


端末を再起動してみてください。
 

最後の負けトレードの金額をデノミで計算する方法!!!!できれば、コード ...

屋外で晴れているのに、頭が全然働かない・・・・・。)

ありがとうございます ...
 

I.Kimさんのスレッドに参考になりそうな機能がありますね-https://www.mql5.com/ru/forum/107476

関数GetProfitFromDateInCurrency()です。18ページ

この関数は、ある日付以降に決済されたポジションの通貨建ての利益の合計を返します。

関数 isLossLastPos()。21ページ

説明: 最後に閉じた位置の消失フラグを返す。フラグが立っている - 真 - 最後のポジションが損失で決済された。フラグ省略 - False - 最後のポジションがゼロ値または利益で決済された。本機能はスワップ、コミッションを考慮しない。位置の選択は、外部パラメータで定義されます。

関数 isCloseLastPosByStop()。

説明: 最終ポジションを停止で閉じるフラグを返します。フラグが立った - 真 - StopLossが発動された。フラグを下げた - 偽 - ポジションは別の理由で閉鎖されました

関数 NumberOfLossPosToday() 24ページ

この関数は、今日決済された負けポジションの数を返します。

 
DaVinci:

残念ながらトロールはうまくいきません。コンパイル時にエラーになる。修正すべき点は?
トロールの種類は?そして、どんなエラー?
 

親愛なる皆様、こんにちは。

mqlやロボット作成とは直接関係ない質問で申し訳ないのですが、FXや為替の処理をさらに分析するためにどうしても理解したいのです。

問題はこれだ。

ジグザグの高値・安値と、その高値・安値が形成された時刻を表示するエクセルファイルがあります。

このデータをもとに、次のようなチャートを作る必要があります。

Excel 2007で行う方法を教えてください。

(素人丸出しの質問ですが、休み明けの今、体調を整えなければならないので)

ありがとうございました。

 

今のところ、多通貨の EAに手を出すことはありません。MetaTraderでこの種のEAをテスト/最適化できるのか、現時点での問題点や制限など、どなたか簡単に教えていただけませんか?このようなEAを書く場合、標準的なEAと比較して、どのような特殊性があるのでしょうか?

ありがとうございました。

 
Morzh09:

こんにちは、友よ...

私が理解する限り、最終的にはおよそこのような絵になるはずです。

その場合、Excel 2007で取得するには、次のようにします。
スクリプトで 生成されたCSV ファイルを取り出し、Excelで 開く。
不要な列を削除し、それぞれ「時刻」と「ジグザグ日付」だけを残す。
次に残りの列を選択し、「挿入」タブを開いて「チャート」をクリックし、「チャート」の種類を選択します。チャートは標準のパラメータで自動的に描画されます。その後、必要に応じて軸の設定で分割値を変更し、グリッドを追加するなどしてください。

アーカイブには、例えばオリジナルのCSVと、結果のグラフがXLSX 形式で保存されています。

ファイル:
 
助けてください!!!次のコードでは、注文が利益を生んでいるかどうかをチェックします。そうでない場合は、金額を数えます!
最初の取引で利益が出なかった場合、カウントループが開始され、永遠に追加されます。

しかし、そこには裏があります。取引で利益が出た場合、それ以降の負け注文は全て普通にカウントされる・・・。

double orderProf; // 負けトレード数のカウンター

double CalculateLots(){
double Res=0.01;
bool bProfit=true;
int PrevTime=-1;
double tmpLots;
for (int i=0;i<OrdersHistoryTotal();i++){
if (!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) continue;
if (OrderSymbol()!=Symbol()) continue;
if (OrderCloseTime()<PrevTime) continue;
PrevTime=OrderCloseTime();
if (OrderProfit()>0){bProfit=true;orderProf=0;} .if (OrderProfit()<0){bProfit=false;orderProf++;}.
tmpLots=OrderLots();
}.


return(Res);
}.