MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1122

 
Alekseu Fedotov:

消えないんです。

読む

モディファイド

if(Bid == PriceLine)

まで

if(NormalizeDouble(Bid,4) == NormalizeDouble(PriceLine,4))

交差点でトランザクションがまだ開かない

 
Fib0 RU:

モディファイド

まで

クロスオーバーではまだトレードが始まらない

ティック間の価格が1ポイントに等しくない、この平等はまれである。場合、価格の下から、価格は大きいか等しいキャッチ。もし、価格がどこから来たかをコントロールしなければ、もっと複雑なことになります。チェックは2つあります。ラインレベルの範囲プラス5ピップス、マイナス5ピップスのどちらかを確認します。

 
ライブラリ関数内にどのような値があるかを確認するために、ライブラリから情報をファイルに出力する(Print()関数を シミュレートする)ことは可能でしょうか。C++を使用してファイルに出力する通常の方法を試してみましたが、役に立ちませんでした。
 
Valeriy Yastremskiy:

ティック間の価格が1ポイントに等しくない、この平等はまれです。価格がどこから来たかをコントロールせずに、であれば。 もっと複雑で、低かったのが高くなったとか、均等になったとか、左右対称になったとか。チェックは2つあります。ラインレベルの範囲プラス5ピップス、マイナス5ピップスのどちらかを確認します。

しかし、インジケータを使わずに手動でラインを設定すると、常にではないにせよ、取引が開始されます。アドバイザーには指標となる線 が見えません。
 
Seric29:
ライブラリ側からファイルに情報を出力して(Print()関数を シミュレートして)、ライブラリ関数内にどんな値があるのかを確認することは可能でしょうか?
std::fstream、CreateFile。どちらの作品も、何が一番好きですか?
 
Vladimir Simakov:
std::fstream、CreateFile。どっちがいいかというと、どっちも使える。

自分のアドバイスを確認したのか?

これを試してみてください。ファイルが作成されないか、書き込まれません。

#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <fstream>
#include <string>


/*using std::cout;
using std::endl;
using std::cin;*/

using namespace std;


#define _DLLAPI extern "C" __declspec(dllexport)

/*_DLLAPI int __stdcall Funkt(int qa){//"C:\\Program Files(x86)\\Forex4you\\MQL4\\Experts\\Moyperviyzapisfiles.txt\\Moyperviyzapisfiles.txt"
        ofstream file;//"C:\\Users\\123\\Documents\\Visual Studio 2012\\Projects\\ConsoleApplication8\\ConsoleApplication8\\Moyperviyzapisfiles.txt"
        //"C:\\Users\\123\\documents\\visual studio 2012\\Projects\\ConsoleApplication8\\Debug\\ConsoleApplication8.dll\\Moyperviyzapisfiles.txt"
        file.open("C:\\Program Files(x86)\\Forex4you\\MQL4\\Experts\\Moyperviyzapisfiles.txt");//,ios::out
        file<<"Moyperviyzapisfiles";//(string)qa
        file.close();   
        return 12;}*/
この関数は、接続して12を返しますが、ファイル作業は行いません。
 

どこでエラーが出ているのか、どなたか教えてください。


// 注文を閉じるが、利益が出ている場合のみ // 注文を閉じる


void CloseIfInProfit(文字列symb , intインデックス)

{

for (int i = 0;i <= OrdersTotal();i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) )

{

if( OrderSymbol() == symb )

{

double profit = ( OrderProfit() - OrderCommission() - OrderSwap() );

if( ( ( OrderType() == OP_BUY || OrderType() == OP_SELL) && ( profit >= 0 ) && (OrderMagicNumber() == MAGIC) )

{

OrderClose(OrderTicket(),OrderLots(),MarketInfo(symb,MODE_BID),100,Red); // 未決済注文をすべて閉じる

ObjectSetText("Text2"+symb,",TextSize, "Arial"); // 入力条件メッセージを削除します。

}

if (OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP)

{

OrderDelete(OrderTicket())。// 保留注文の削除

ObjectSetText("Text2"+symb,",TextSize, "Arial"); // 入力条件メッセージを削除します。

}

}

}

}

partial[index] = false とする。

}


 

皆さん、こんにちは。

問題解決にご協力ください。

mql4でロボットを書きました。このロボットを、取引所のターミナルが 異なるbinanceやbimexで動作するように、近いmql言語で書き直したいと思っています。

 
Seric29:

自分のアドバイスを確認したのか?

これを試してみてください。ファイルが作成されないか、書き込まれません。

この関数は接続して12を返しますが、ファイルでは動作しません。
アクセス権のあるところでファイルを作成してみてください)))
 
Fib0 RU:
しかし、インジケータを使わずに手動でラインを設定すると、常にではないにしても、取引が成立する。Expert Advisorには、インジケータラインが 表示されません。
if((fabs( round((Bid - PriceLine}/Point))<=10)Print (Bid,"  ",PriceLine);

ログブックを見て、何が印刷されているか確認してみてください。丸められた整数の差をポイントで割ったモジュラスです。