MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 149 1...142143144145146147148149150151152153154155156...1953 新しいコメント Sergey 2017.03.12 16:51 #1481 こんにちは。すべてのバーを1つずつ調べずに、日付と時間で正しいバーを見つける方法を教えてください。 Vitalie Postolache 2017.03.12 16:52 #1482 Sergey:こんにちは。すべてのバーを1つずつ調べずに、日付と時間で正しいバーを見つける方法を教えてください。iBarShiftについて 読む 削除済み 2017.03.12 20:42 #1483 int TotalPos=-1; void start(){//残りのコード//-- if(OrdersTotal()!=TotalPos) { // 刻み目ごとに拷問を行わない。 for(int i=OrdersHistoryTotal()-1; i>=0; i--){ if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)){ if(OrderSymbol()==Symbol() && OrderType()<=1) { { (オーダーシンボル()==シンボル() && オーダータイプ() <=1) ヒストリー()。}}}}TotalPos=OrdersTotal(); // 数量を記憶する//--} void History() { string Ticket=(string)OrderTicket(); color col=Red; if(OrderType()==0)col=Blue。 datetime a=OrderOpenTime(); double b=OrderOpenPrice(); datetime c=OrderCloseTime(); double d=OrderClosePrice(); double prSep=OrderProfit()+OrderCommission()+OrderSwap()です。 double prAll=0; int cn=0; 文字列 hTicket for(int i=OrdersHistoryTotal()-1; i>=0; i--){ if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)){ if(OrderSymbol()==Symbol() && OrderType()<=1) { { (オーダーシンボル()==シンボル() && オーダータイプ() <=1) datetime ct=OrderCloseTime();// グリッドの最初の注文と最後の注文の終値の差は60秒 if(c<=ct+60 && c>=ct-60){のようになります。 prAll+=OrderProfit()+OrderCommission()+OrderSwap()です。 hTicket=(string)OrderTicket()です。 cn++です。}}}} ObjectCreate(Ticket+"Open",OBJ_ARROW,0,a,b)を実行。 ObjectSet(Ticket+"Open",OBJPROP_COLOR,col)。 ObjectSet(Ticket+"Open",OBJPROP_ARROWCODE,1)。 ObjectCreate(Ticket+"Line"、OBJ_TREND、0、a、b、c、d)。 ObjectSet(Ticket+"Line",OBJPROP_COLOR,col)。 ObjectSet(Ticket+"Line",OBJPROP_WIDTH,1)。 ObjectSet(Ticket+"Line",OBJPROP_STYLE,STYLE_DOT); ObjectSet(Ticket+"Line",OBJPROP_RAY,0)。 ObjectCreate(Ticket+"Close",OBJ_ARROW,0,c,d)を実行。 ObjectSet(Ticket+"Close",OBJPROP_COLOR,Green)。 ObjectSet(Ticket+"Close",OBJPROP_ARROWCODE,3)。 Ticket=cn>1?hTicket:Ticket; ObjectCreate(Ticket+"Profit",OBJ_TEXT,0,c,d)を実行。 ObjectSet(Ticket+"Profit",OBJPROP_ANCHOR,0)。 ObjectSetText(Ticket+"Profit",DoubleToString(prAll,2),10, "Arial",White)を実行。 ObjectSet(Ticket+"Profit",OBJPROP_PRICE1,d); ObjectSet(Ticket+"Profit",OBJPROP_TIME1,c+Period()*60*2);}この関数のコードに何を追加すれば,トレードのこれらの場所に水平線を引けるか。トレードからチャートの境界線までの座標 オフセット 初心者の方からの質問 MQL4 MT4 MetaTrader Any questions from newcomers Questions from Beginners MQL4 missha32 2017.03.13 05:01 #1484 .crvファイルからの読み込みについて教えてください。ファイルには、次のようなエントリーがあります。2010.03.18 01:35:00;1.37409;1.37119変数の各値を個別に取得するコードの書き方 Artyom Trishkin 2017.03.13 06:06 #1485 missha32:.crvファイルからの読み込みについて教えてください。ファイルには、次のようなエントリーがあります。2010.03.18 01:35:00;1.37409;1.37119変数の各値を個別に取得するコードの書き方 ここを読んで/勉強して ください。 Основы программирования на MQL5: Файлы 2016.09.28Dmitry Fedoseevwww.mql5.com Статья-практикум по работе с файлами в MQL5. Читайте, выполняйте несложные задания, и к концу статьи вы обретете не только теоретические знания, но и практические навыки по работе с файлами в MQL5. Maxim Kuznetsov 2017.03.13 06:12 #1486 Alexander Antoshkin:int TotalPos=-1; void start(){//残りのコード//-- if(OrdersTotal()!=TotalPos) { // 刻み目ごとに拷問を行わない。 for(int i=OrdersHistoryTotal()-1; i>=0; i--){ if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)){ if(OrderSymbol()==Symbol() && OrderType()<=1) { { (オーダーシンボル()==シンボル() && オーダータイプ() <=1) ヒストリー()。}}}}TotalPos=OrdersTotal(); // 数量を記憶する//--} void History() { string Ticket=(string)OrderTicket(); color col=Red; if(OrderType()==0)col=Blue。 datetime a=OrderOpenTime(); double b=OrderOpenPrice(); datetime c=OrderCloseTime(); double d=OrderClosePrice(); double prSep=OrderProfit()+OrderCommission()+OrderSwap()です。 double prAll=0; int cn=0; 文字列 hTicket for(int i=OrdersHistoryTotal()-1; i>=0; i--){ if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)){ if(OrderSymbol()==Symbol() && OrderType()<=1) { { (オーダーシンボル()==シンボル() && オーダータイプ() <=1) datetime ct=OrderCloseTime();// グリッドの最初の注文と最後の注文の終値の差は60秒 if(c<=ct+60 && c>=ct-60){のようになります。 prAll+=OrderProfit()+OrderCommission()+OrderSwap()です。 hTicket=(string)OrderTicket()です。 cn++です。}}}} ObjectCreate(Ticket+"Open",OBJ_ARROW,0,a,b)を実行。 ObjectSet(Ticket+"Open",OBJPROP_COLOR,col)。 ObjectSet(Ticket+"Open",OBJPROP_ARROWCODE,1)。 ObjectCreate(Ticket+"Line",OBJ_TREND,0,a,b,c,d); ObjectSet(Ticket+"Line",OBJPROP_COLOR,col)。 ObjectSet(Ticket+"Line",OBJPROP_WIDTH,1)。 ObjectSet(Ticket+"Line",OBJPROP_STYLE,STYLE_DOT); ObjectSet(Ticket+"Line",OBJPROP_RAY,0)。 ObjectCreate(Ticket+"Close",OBJ_ARROW,0,c,d)を実行。 ObjectSet(Ticket+"Close",OBJPROP_COLOR,Green)。 ObjectSet(Ticket+"Close",OBJPROP_ARROWCODE,3)。 Ticket=cn>1?hTicket:Ticket; ObjectCreate(Ticket+"Profit",OBJ_TEXT,0,c,d)を実行。 ObjectSet(Ticket+"Profit",OBJPROP_ANCHOR,0)。 ObjectSetText(Ticket+"Profit",DoubleToString(prAll,2),10, "Arial",White)を実行。 ObjectSet(Ticket+"Profit",OBJPROP_PRICE1,d); ObjectSet(Ticket+"Profit",OBJPROP_TIME1,c+Period()*60*2);}この関数のコードに何を追加すれば,トレードのこれらの場所に水平線を引けるか。トレードからチャートの境界線までの座標 オフセットというようなものです.string level="Level"+IntegerToString(iTime(_Symbol,iBarShift(OrderCloseTime())); // ид.уровня - по времени бара (!! не по тикету)if (ObjectFind(level)==-1) { // гор.вектора нет - видимо первый ордер из закрытых на баре // сделать горизонтальную линию ObjectCreate(0,level,OBJ_TREND,0,OrderCloseTime(),OrderClosePrice(),OrderCloseTime()+PeriodSeconds(_Period)*3,OrderClosePrice); // указывающую только вправо ObjectSetInteger(level,OBJPROP_RAY,1); ObjectSetInteger(level,OBJPROP_RAYLEFT,0); // украсить её как-то :-) ObjectSetInteger(level,OBJPROP_COLOR,....) ....} else { // гор.уровень есть - значит были ордера закрытые на этом баре // по фантазии - обновить метки/корректировать уровень/etc} Any questions from newcomers DoEasyライブラリのグラフィックス(第83部): 抽象標準グラフィカルオブジェクトのクラス MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第5部): ネッティング勘定イベント Sergei Pimenov 2017.03.13 18:35 #1487 こんにちは。端末にロボットが表示されない理由は何ですか? それは、現地のプログラマーが書いたものです。他のロボットは、見えるところと見えないところがあります。 Artyom Trishkin 2017.03.13 18:47 #1488 Serg_72:こんにちは。端末にロボットが表示されない理由は何ですか? それは、現地のプログラマーが書いたものです。他のロボットは、見えるところと見えないところがあります。 そして、"ローカルプログラマー "は、自分のロボットを動かせない理由を教えてくれないのですか? yaaarik777 2017.03.13 19:41 #1489 こんばんは!(^o^)このコードを書くのを手伝ってください、自分では無理だと感じています。EURUSD で EA を実行するとき、このペアで未決済または保留の注文がない場合、2 つの保留注文を置く必要があります。そのうちの1つがトリガーされた場合、別のものは表示されません。つまり、そのペアのすべての保留注文の合計が2を超えてはならず、他のペアですでに表示されている保留/オープン注文は考慮されません。もう、頭を悩ませて、全く何も配置されず、その後、全てのティックを配置するんです。とてもありがたいことです。とてもありがたいことだと思います。 Maxim Kuznetsov 2017.03.13 20:02 #1490 Serg_72:こんにちは。端末にロボットが表示されない理由は何ですか? それは、現地のプログラマーが書いたものです。他のロボットは、見えるところと見えないところがあります。ロボットは「experts」フォルダにあり、*.ex4(5の場合は*.ex5)の形式である必要があります。 ターミナル - メニュー「ファイル/データフォルダを開く」→「MQL4/Experts」。 また、*.mq4 *.mq5のソースコードは起動しません - コンパイルが必要です。ついでに、自分の製品の使い方を教えなかったプログラマーの首も引きちぎってしまえ 1...142143144145146147148149150151152153154155156...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは。
すべてのバーを1つずつ調べずに、日付と時間で正しいバーを見つける方法を教えてください。
こんにちは。
すべてのバーを1つずつ調べずに、日付と時間で正しいバーを見つける方法を教えてください。
iBarShiftについて 読む
int TotalPos=-1;
void start()
{
//残りのコード
//--
if(OrdersTotal()!=TotalPos) { // 刻み目ごとに拷問を行わない。
for(int i=OrdersHistoryTotal()-1; i>=0; i--){
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)){
if(OrderSymbol()==Symbol() && OrderType()<=1) { { (オーダーシンボル()==シンボル() && オーダータイプ() <=1)
ヒストリー()。
}
}}}TotalPos=OrdersTotal(); // 数量を記憶する
//--
}
void History() {
string Ticket=(string)OrderTicket();
color col=Red;
if(OrderType()==0)col=Blue。
datetime a=OrderOpenTime();
double b=OrderOpenPrice();
datetime c=OrderCloseTime();
double d=OrderClosePrice();
double prSep=OrderProfit()+OrderCommission()+OrderSwap()です。
double prAll=0;
int cn=0;
文字列 hTicket
for(int i=OrdersHistoryTotal()-1; i>=0; i--){
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)){
if(OrderSymbol()==Symbol() && OrderType()<=1) { { (オーダーシンボル()==シンボル() && オーダータイプ() <=1)
datetime ct=OrderCloseTime();
// グリッドの最初の注文と最後の注文の終値の差は60秒
if(c<=ct+60 && c>=ct-60){のようになります。
prAll+=OrderProfit()+OrderCommission()+OrderSwap()です。
hTicket=(string)OrderTicket()です。
cn++です。
}
}}}
ObjectCreate(Ticket+"Open",OBJ_ARROW,0,a,b)を実行。
ObjectSet(Ticket+"Open",OBJPROP_COLOR,col)。
ObjectSet(Ticket+"Open",OBJPROP_ARROWCODE,1)。
ObjectCreate(Ticket+"Line"、OBJ_TREND、0、a、b、c、d)。
ObjectSet(Ticket+"Line",OBJPROP_COLOR,col)。
ObjectSet(Ticket+"Line",OBJPROP_WIDTH,1)。
ObjectSet(Ticket+"Line",OBJPROP_STYLE,STYLE_DOT);
ObjectSet(Ticket+"Line",OBJPROP_RAY,0)。
ObjectCreate(Ticket+"Close",OBJ_ARROW,0,c,d)を実行。
ObjectSet(Ticket+"Close",OBJPROP_COLOR,Green)。
ObjectSet(Ticket+"Close",OBJPROP_ARROWCODE,3)。
Ticket=cn>1?hTicket:Ticket;
ObjectCreate(Ticket+"Profit",OBJ_TEXT,0,c,d)を実行。
ObjectSet(Ticket+"Profit",OBJPROP_ANCHOR,0)。
ObjectSetText(Ticket+"Profit",DoubleToString(prAll,2),10, "Arial",White)を実行。
ObjectSet(Ticket+"Profit",OBJPROP_PRICE1,d);
ObjectSet(Ticket+"Profit",OBJPROP_TIME1,c+Period()*60*2);
}
この関数のコードに何を追加すれば,トレードのこれらの場所に水平線を引けるか。
トレードからチャートの境界線までの座標 オフセット
.crvファイルからの読み込みについて教えてください。
ファイルには、次のようなエントリーがあります。
2010.03.18 01:35:00;1.37409;1.37119
変数の各値を個別に取得するコードの書き方
.crvファイルからの読み込みについて教えてください。
ファイルには、次のようなエントリーがあります。
2010.03.18 01:35:00;1.37409;1.37119
変数の各値を個別に取得するコードの書き方
int TotalPos=-1;
void start()
{
//残りのコード
//--
if(OrdersTotal()!=TotalPos) { // 刻み目ごとに拷問を行わない。
for(int i=OrdersHistoryTotal()-1; i>=0; i--){
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)){
if(OrderSymbol()==Symbol() && OrderType()<=1) { { (オーダーシンボル()==シンボル() && オーダータイプ() <=1)
ヒストリー()。
}
}}}TotalPos=OrdersTotal(); // 数量を記憶する
//--
}
void History() {
string Ticket=(string)OrderTicket();
color col=Red;
if(OrderType()==0)col=Blue。
datetime a=OrderOpenTime();
double b=OrderOpenPrice();
datetime c=OrderCloseTime();
double d=OrderClosePrice();
double prSep=OrderProfit()+OrderCommission()+OrderSwap()です。
double prAll=0;
int cn=0;
文字列 hTicket
for(int i=OrdersHistoryTotal()-1; i>=0; i--){
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)){
if(OrderSymbol()==Symbol() && OrderType()<=1) { { (オーダーシンボル()==シンボル() && オーダータイプ() <=1)
datetime ct=OrderCloseTime();
// グリッドの最初の注文と最後の注文の終値の差は60秒
if(c<=ct+60 && c>=ct-60){のようになります。
prAll+=OrderProfit()+OrderCommission()+OrderSwap()です。
hTicket=(string)OrderTicket()です。
cn++です。
}
}}}
ObjectCreate(Ticket+"Open",OBJ_ARROW,0,a,b)を実行。
ObjectSet(Ticket+"Open",OBJPROP_COLOR,col)。
ObjectSet(Ticket+"Open",OBJPROP_ARROWCODE,1)。
ObjectCreate(Ticket+"Line",OBJ_TREND,0,a,b,c,d);
ObjectSet(Ticket+"Line",OBJPROP_COLOR,col)。
ObjectSet(Ticket+"Line",OBJPROP_WIDTH,1)。
ObjectSet(Ticket+"Line",OBJPROP_STYLE,STYLE_DOT);
ObjectSet(Ticket+"Line",OBJPROP_RAY,0)。
ObjectCreate(Ticket+"Close",OBJ_ARROW,0,c,d)を実行。
ObjectSet(Ticket+"Close",OBJPROP_COLOR,Green)。
ObjectSet(Ticket+"Close",OBJPROP_ARROWCODE,3)。
Ticket=cn>1?hTicket:Ticket;
ObjectCreate(Ticket+"Profit",OBJ_TEXT,0,c,d)を実行。
ObjectSet(Ticket+"Profit",OBJPROP_ANCHOR,0)。
ObjectSetText(Ticket+"Profit",DoubleToString(prAll,2),10, "Arial",White)を実行。
ObjectSet(Ticket+"Profit",OBJPROP_PRICE1,d);
ObjectSet(Ticket+"Profit",OBJPROP_TIME1,c+Period()*60*2);
}
この関数のコードに何を追加すれば,トレードのこれらの場所に水平線を引けるか。
トレードからチャートの境界線までの座標 オフセット
というようなものです.
string level="Level"+IntegerToString(iTime(_Symbol,iBarShift(OrderCloseTime())); // ид.уровня - по времени бара (!! не по тикету)
if (ObjectFind(level)==-1) {
// гор.вектора нет - видимо первый ордер из закрытых на баре
// сделать горизонтальную линию
ObjectCreate(0,level,OBJ_TREND,0,OrderCloseTime(),OrderClosePrice(),OrderCloseTime()+PeriodSeconds(_Period)*3,OrderClosePrice);
// указывающую только вправо
ObjectSetInteger(level,OBJPROP_RAY,1);
ObjectSetInteger(level,OBJPROP_RAYLEFT,0);
// украсить её как-то :-)
ObjectSetInteger(level,OBJPROP_COLOR,....)
....
} else {
// гор.уровень есть - значит были ордера закрытые на этом баре
// по фантазии - обновить метки/корректировать уровень/etc
}
こんにちは。
端末にロボットが表示されない理由は何ですか? それは、現地のプログラマーが書いたものです。他のロボットは、見えるところと見えないところがあります。
こんにちは。
端末にロボットが表示されない理由は何ですか? それは、現地のプログラマーが書いたものです。他のロボットは、見えるところと見えないところがあります。
こんばんは!(^o^)
このコードを書くのを手伝ってください、自分では無理だと感じています。
EURUSD で EA を実行するとき、このペアで未決済または保留の注文がない場合、2 つの保留注文を置く必要があります。
そのうちの1つがトリガーされた場合、別のものは表示されません。つまり、そのペアのすべての保留注文の合計が2を超えてはならず、他のペアですでに表示されている保留/オープン注文は考慮されません。
もう、頭を悩ませて、全く何も配置されず、その後、全てのティックを配置するんです。
とてもありがたいことです。
とてもありがたいことだと思います。
こんにちは。
端末にロボットが表示されない理由は何ですか? それは、現地のプログラマーが書いたものです。他のロボットは、見えるところと見えないところがあります。
ロボットは「experts」フォルダにあり、*.ex4(5の場合は*.ex5)の形式である必要があります。
ターミナル - メニュー「ファイル/データフォルダを開く」→「MQL4/Experts」。
また、*.mq4 *.mq5のソースコードは起動しません - コンパイルが必要です。
ついでに、自分の製品の使い方を教えなかったプログラマーの首も引きちぎってしまえ