初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 31

 
はい、もちろん理論上は正しくエンコードしているのですが、5号機では印刷機能がなかなかうまく働かず、乱雑になり、書けないこともしばしば。やったーーーー
 
Dimka-novitsek:

そう、実はこれ、私のエキスパートのヘティック機能に挿入した、オファーされたスクリプトらしいです

いいえ、台本ではありません。これがあなたのセリフです。Print(EnumToString((ENUM_TIMEFRAMES)i)+"="+IntegerToString(i)) のような行を出力するスクリプトが必要です。
 
Dimka-novitsek:
...5ではプリント機能がなぜかうまくいかず、ひねくれて動作し、書けないことが多い。やったーーーー
エキスパート]タブには、実行中のプログラムのすべてのメッセージが表示されない場合があります。すべてのメッセージを見るには、ログを見る必要があります(マウスの右ボタン、「開く」)。
 

CSymbolInfo.Refresh()関数では目盛りは更新されず、代わりにCSymbolInfo.RefreshRates()を使用すべきことが判明しました;)。

CSymbolInfo.Refresh() - シンボルデータの更新

CSymbolInfo.RefreshRates() - 引用符を更新=)

2番目の方法ですべてがクリアになるならともかく、1番目の方法は何のためにあるのでしょうか?

 
WiND:

CSymbolInfo.Refresh()関数では目盛りは更新されず、代わりにCSymbolInfo.RefreshRates()を使用すべきことが判明しました;)。

CSymbolInfo.Refresh() - シンボルデータの更新

CSymbolInfo.RefreshRates() - 引用符を更新=)

2番目の方法ですべてがクリアになるならともかく、1番目の方法は何のためにあるのでしょうか?

まあ、わからないですよね。多分、誰かがスワップに関するデータを更新したり、市場に参入する際に資金をチェック したりする必要があるのでしょう。詳しくはコードをご覧ください。
bool CSymbolInfo::Refresh(void)
  {
   long tmp=0;
//---
   if(!SymbolInfoDouble(m_name,SYMBOL_POINT,m_point))                               return(false);
   if(!SymbolInfoDouble(m_name,SYMBOL_TRADE_TICK_VALUE,m_tick_value))               return(false);
   if(!SymbolInfoDouble(m_name,SYMBOL_TRADE_TICK_VALUE_PROFIT,m_tick_value_profit)) return(false);
   if(!SymbolInfoDouble(m_name,SYMBOL_TRADE_TICK_VALUE_LOSS,m_tick_value_loss))     return(false);
   if(!SymbolInfoDouble(m_name,SYMBOL_TRADE_TICK_SIZE,m_tick_size))                 return(false);
   if(!SymbolInfoDouble(m_name,SYMBOL_TRADE_CONTRACT_SIZE,m_contract_size))         return(false);
   if(!SymbolInfoDouble(m_name,SYMBOL_VOLUME_MIN,m_lots_min))                       return(false);
   if(!SymbolInfoDouble(m_name,SYMBOL_VOLUME_MAX,m_lots_max))                       return(false);
   if(!SymbolInfoDouble(m_name,SYMBOL_VOLUME_STEP,m_lots_step))                     return(false);
   if(!SymbolInfoDouble(m_name,SYMBOL_VOLUME_LIMIT,m_lots_limit))                   return(false);
   if(!SymbolInfoDouble(m_name,SYMBOL_SWAP_LONG,m_swap_long))                       return(false);
   if(!SymbolInfoDouble(m_name,SYMBOL_SWAP_SHORT,m_swap_short))                     return(false);
   if(!SymbolInfoInteger(m_name,SYMBOL_DIGITS,tmp))                                 return(false);
   m_digits=(int)tmp;
   if(!SymbolInfoInteger(m_name,SYMBOL_TRADE_EXEMODE,tmp))                          return(false);
   m_trade_execution=(ENUM_SYMBOL_TRADE_EXECUTION)tmp;
   if(!SymbolInfoInteger(m_name,SYMBOL_TRADE_CALC_MODE,tmp))                        return(false);
   m_trade_calcmode=(ENUM_SYMBOL_CALC_MODE)tmp;
   if(!SymbolInfoInteger(m_name,SYMBOL_TRADE_MODE,tmp))                             return(false);
   m_trade_mode=(ENUM_SYMBOL_TRADE_MODE)tmp;
   if(!SymbolInfoInteger(m_name,SYMBOL_SWAP_MODE,tmp))                              return(false);
   m_swap_mode=(ENUM_SYMBOL_SWAP_MODE)tmp;
   if(!SymbolInfoInteger(m_name,SYMBOL_SWAP_ROLLOVER3DAYS,tmp))                     return(false);
   m_swap3=(ENUM_DAY_OF_WEEK)tmp;
   if(!SymbolInfoDouble(m_name,SYMBOL_MARGIN_INITIAL,m_margin_initial))             return(false);
   if(!SymbolInfoDouble(m_name,SYMBOL_MARGIN_MAINTENANCE,m_margin_maintenance))     return(false);
   if(!SymbolInfoDouble(m_name,SYMBOL_MARGIN_LONG,m_margin_long))                   return(false);
   if(!SymbolInfoDouble(m_name,SYMBOL_MARGIN_SHORT,m_margin_short))                 return(false);
   if(!SymbolInfoDouble(m_name,SYMBOL_MARGIN_LIMIT,m_margin_limit))                 return(false);
   if(!SymbolInfoDouble(m_name,SYMBOL_MARGIN_STOP,m_margin_stop))                   return(false);
   if(!SymbolInfoDouble(m_name,SYMBOL_MARGIN_STOPLIMIT,m_margin_stoplimit))         return(false);
   if(!SymbolInfoInteger(m_name,SYMBOL_EXPIRATION_MODE,tmp))                        return(false);
   m_trade_time_flags=(int)tmp;
   if(!SymbolInfoInteger(m_name,SYMBOL_FILLING_MODE,tmp))                           return(false);
   m_trade_fill_flags=(int)tmp;
//--- ok
   return(true);
  }
Документация по MQL5: Торговые функции / OrderCheck
Документация по MQL5: Торговые функции / OrderCheck
  • www.mql5.com
Торговые функции / OrderCheck - Документация по MQL5
 

ありがとうございます!

もちろん、私のセリフも。吸い込まれるように、私のセリフだと書きたくなり、コメントを拝見しました。

過去ログ(マウスの右ボタンで「開く」)を見ないと、すべての投稿を見ることはできません。ありがとうございます!

 

utf8エンコーディングの文字コードが文字列として存在する(例:"041e")。

第10体系でこのコードに相当するものを取得し、文字に変換する方法(コード041e=ロシア文字O)

なんてことはないのですが、解らないんですよね:)

 
おはようございます!今朝は何をやっているのかよくわかりません。この最初の2つの変数、何が問題なのか、教えてください。
 
Dimka-novitsek:
おはようございます、私は何をやっているのかよくわかりません。この最初の2つの変数、何が問題なのか、教えてください。

関数として定義する最初の文字列変数は、空(=NULLまたは="")にして、OnInitで=_Symbol .

2番目.5の後に ; を置くか、2番目のintを取り除くか、どちらか。

 
ありがとうございます!
理由: