初心者の方からの質問 MQL4 MT4 MetaTrader 4 - ページ 49

 
Alexander Antoshkin:

ケーキとコーヒーのために、警告を微調整する必要があります(mt4の新しいビルドから)。

)

まあ、パイは郵送でもいいんですけどね...。コーヒーはどこで手に入れるのですか?

ファイル:
削除済み  
Alexey Viktorov:

まあ、パイを郵送すればいいんですけどね...。コーヒーはどこで手に入れるのですか?

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

修正したコードをスレッドに戻す.....................................................

 
MetaTrader4をオリジナルのインストールファイルmt4setup.exeからインストールしようとしているのですが、図々しくもMT5がインストールされてしまいます。Windows7 x64システム。こうして開発者は、私に新しいプラットフォームを気に入ってもらおうとしているのでしょうか。どうすれば、強制されたものでなく、自分の欲しいもの(MT4)をインストールできるのか?
 
Andrej Akimov:
MetaTrader4をオリジナルのインストールファイルmt4setup.exeからインストールしようとしているのですが、図々しくもMT5がインストールされてしまいます。Windows7 x64システム。こうして開発者は、私に新しいプラットフォームを気に入ってもらおうとしているのでしょうか。どうすれば、押し付けられたものではなく、自分が欲しいもの(MT4)をインストールできるのでしょうか?
この問題に対する解決策は、すでにフォーラムにたくさんのスレッドがあります。検索エンジンを使ってみてはいかがでしょうか?
 
ファイルへの文字列の書き方と 読み方を例示してください。ファイルはCドライブのルートに保存する必要があります。
 

このようにストップロスとテイクプロフィットを 実装しようとしているのです。

スプレッド=Ask-Bid。

double StopLoss_B = NormalizeDouble(Low[1]- spread,Digits);//NormalizeDouble(Low[1]- spread,Digits)

double TakeProfit_B = NormalizeDouble(Ask+((Ask-StopLoss_B)* RiskRewart),Digits) ;

double StopLoss_S = NormalizeDouble(High[1]+ spread,Digits);//NormalizeDouble(High[1]+ spread,Digits)です。

double TakeProfit_S = NormalizeDouble(Bid-((StopLoss_S-Bid)* RiskRewart),Digits) ;

....

OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss_B,TakeProfit_B, "PBar",Magik,0,Blue) を実行します。

....

OrderSend(Symbol(),OP_SELL,Lots,Bid,3,StopLoss_S,TakeProfit_S, "PBar",Magik,0,Red) を送信します。

テスターはエラー130を表示します - TPとSLに何か問題があるようです。特に、正常に動作するときとエラーが出るときがあるので、具体的に何がどうなっているのか理解できない。

総じて、よろしくお願いします。

 
RichLux:

このようにストップロスとテイクプロフィットを 実装しようとしているのです。

スプレッド=Ask-Bid。

double StopLoss_B = NormalizeDouble(Low[1]- spread,Digits);//NormalizeDouble(Low[1]- spread,Digits)

double TakeProfit_B = NormalizeDouble(Ask+((Ask-StopLoss_B)* RiskRewart),Digits) ;

double StopLoss_S = NormalizeDouble(High[1]+ spread,Digits);//NormalizeDouble(High[1]+ spread,Digits)です。

double TakeProfit_S = NormalizeDouble(Bid-((StopLoss_S-Bid)* RiskRewart),Digits) ;

....

OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss_B,TakeProfit_B, "PBar",Magik,0,Blue) を実行します。

....

OrderSend(Symbol(),OP_SELL,Lots,Bid,3,StopLoss_S,TakeProfit_S, "PBar",Magik,0,Red) を送信します。

テスターはエラー130を表示します - TPとSLに何か問題があるようです。特に、正常に動作するときとエラーが出るときがあるので、具体的に何がどうなっているのか理解できない。

総じて、よろしくお願いします。

多分、時々、あなたは現在の価格に近すぎる設定、関数が返すものを参照してください。

double stop_level=(double)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_STOPS_LEVEL);

...

 

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

初心者の方からの質問 MQL4 MT4 MetaTrader 4

セルゲイ・グリツァイ さん 2017.01.07 18:48

多分、時々、あなたは現在の価格に近すぎて賭ける、関数があなたに何を返すか見てください。

double stop_level=(double)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_STOPS_LEVEL);

...


ご参加ありがとうございました。提案された機能の使い方がわからなかった。しかし、あなたのおかげでチャート上のエラーについて詳しく知ることができ、ストップロスが発動されたとき、ローソク足がまだ閉じていないときにEAが新しい注文を出そうとするため、そこでエラーが発生するのだと理解しました。ローソク足1本につき1回しか注文できないEAをどう説明するか考えなければならない

 
RichLux:

ご参加ありがとうございました。提案された機能の使い方がわからない。しかし、あなたのおかげでチャート上のエラーについて詳しく知ることができ、ストップロスが発生したときにローソク足がまだ閉じていない場合、EAが新しい注文を出そうとするため、そこでエラーが 発生するのだと理解することが出来ました。ローソク足1本につき1回しか注文できないEAをどう説明するか考えなければならない

もしEAがすでにそのシンボルに注文を持っているなら、その差 注文を閉じた時間)-( ローソク足を開いた時間)を見て、もしその差がPeriodSeconds() より小さいなら、新しい注文を開けないようにします。
 

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

初心者の方からの質問 MQL4 MT4 MetaTrader 4

ヴィタリー・ポストラッシュ さん 2017.01.07 21:23

もし、指定されたシンボルのExpert Advisorがすでに注文を持っている場合、その差 注文の終了時刻)-( ローソクの開始 時刻)を監視し、その差がPeriodSeconds()より小さい場合は、新しい注文を開かないようにします。

少し違うことをした。

バー機能を新たに搭載。

bool NewBar()

{

static datetime lastbar = 0;

datetime curbar = Time[0];

if(lastbar != curbar)

{

lastbar = curbar;

を返す(true)。

}

else return(false);

}

で、新しいバーがあるときだけ開くという条件を書きました。